创建数据库
创建数据表student
添加主键
唯一可选中点选
创建course表
更改存储引擎(使用外键必须在操作中更改存储引擎MyISAM为InnoDB)
MySQL存储引擎:MyISAM和InnoDB的区别 - 大杂草 - 博客园 (cnblogs.com)
设置自定义的约束
Mysql通过sql语句添加约束和查看约束 - Silentdoer - 博客园 (cnblogs.com)
alter table course_2021011203
add constraint CK_Ccredir
check (`Ccredit`=1 OR`Ccredit`=2 OR`Ccredit`=3 OR`Ccredit`=4)
??????????????????????????????????
主键问题:
1、数据库的每张表只能有一个主键,不可能有多个主键。
2、所谓的一张表多个主键,我们称之为联合主键。
注:联合主键:就是用多个字段一起作为一张表的主键。
3、主键的主键的作用是保证数据的唯一性和完整性,同时通过主键检索表能够增加检索速度。
联合主键SQL建立主键有两种方法:一种是在数据库提供的GUI环境中建立,另一种是通过SQL语句执行建立
1.在数据库提供的GUI环境中建立
输入表信息后按Ctrl键同时选中多行,然后点上面的主键按钮就行了。
2.通过SQL语句执行建立。又分两种,一是在建表语句中直接写,二是建表之后更改表结构。
1)在建表语句中直接写:
Create Table 表名 (字段名1 Int Not Null,
字段名2 nvarchar(13) Not Null Primary Key (字段名1, 字段名2),
字段名3…………
字段名N………… )
2)建表之后更改表结构:
CREATE TABLE 表名 (字段名1 Int Not Null,
字段名2 nvarchar(13) Not Null
字段名3…………
字段名N…………)
唯一键和主键
唯一键约束可以唯一地标识关系或表中的单个元组。与主键不同,一个表可以有多个唯一键。唯一键约束只能接受列的一个空值;唯一约束也由另一个表的外键引用。当有人想对非主键的列和列组实施唯一约束时,可以使用它。
主键和外键