MySQL创建表

本示例为:学生student、课程course、选课表sc

在sql语句中注意“约束的概念":
1.实体完整性约束(主键--唯一且非空) primary key()
    违约处理:No action(拒绝执行)
 
2.参照完整性约束(外键约束)foregin key() references tableName(filedName) [on delete|update casecade | no action]
  违约处理:级联更新或拒绝执行
 
3.用户自定义完整性约束(not null,unique,check短语)
      违约处理:拒绝执行

一、创建学生表student:

mysql> create table student (
    -> sno varchar(9) primary key,
    -> sname varchar(20) unique,
    -> sex varchar(2),
    -> sage varchar(2));
Query OK, 0 rows affected (0.03 sec)

sno varchar(9) primary key/*列级完整性约束条件sno是主码*/

二、创建课程表course:

mysql> create table course
    -> (cno varchar(4) primary key,
    -> cname varchar(40),
    -> cpno varchar(4),
    -> foreign key (cpno) references course(cno));
Query OK, 0 rows affected (0.01 sec)

 -> foreign key (cpno) references course(cno));/*表级完整性约束,cpno(先修课)是外码,被参照表示course,被参照列是cno*/

 三、创建学生选课表sc: 

mysql> create table sc(
    -> sno varchar(9),
    -> cno varchar(4),
    -> grade int,
    -> primary key (sno,cno),
    -> foreign key(sno) references student(sno),
    -> foreign key(cno) references course(cno)
    -> );
Query OK, 0 rows affected (0.01 sec)

四:修改表语法:

alter table <表名>

[add <新列名>  <数据类型>  [完整性约束]]

[drop <完整性约束>]

[alter column <列名> <数据类型>]

1.增加课程名必须唯一的约束条件:

mysql> alter table course add unique(cname);
Query OK, 0 rows affected (0.10 sec)
Records: 0  Duplicates: 0  Warnings: 0
2.向student表中增加“入学时间”列,其数据类型为date

mysql> alter table course add unique(cname);
Query OK, 0 rows affected (0.10 sec)
Records: 0  Duplicates: 0  Warnings: 0

3.添加外键约束:

mysql> alter table sc add foreign key(cno) references course(cno);
Query OK, 0 rows affected (0.09 sec)
Records: 0  Duplicates: 0  Warnings: 0


  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值