失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > MySQL设置主键 联合主键 外键 唯一约束 非空约束 默认约束

MySQL设置主键 联合主键 外键 唯一约束 非空约束 默认约束

时间:2022-12-29 11:13:52

相关推荐

MySQL设置主键 联合主键 外键 唯一约束 非空约束 默认约束

MySQL登录、查看记录等基本操作

MySQL设置表的属性值自动增加 auto_increment

1.主键、联合主键、外键

1.什么是主键

主键是在多条记录中用于确定一条记录时使用的标识符。主键具备一下特征,以和其它列进行区分。

没有重复的值不允许输入空值

2.创建主键、联合主键

主键的两种创建方式

create table t_key(id int primary key,name varchar(32),email varchar(32));# 对于第二种方式,当创建多个主键(联合主键)时,中间用`,`分割create table t_key(id int,name varchar(32),email varchar(32),primary key(id,email));

3.创建外键

外键:另外一张表中的主键

命令格式:constraint 外键名 foreign key(字段名) references 主表名(主键名)

create table t_class(id int,name varchar(32),primary key(id));create table t_student(id int,name varchar(32),classid int,constraint ttt foreign key(classid) references t_class(id));

desc t_stdudent;观察输出,classidkey值为mul,即表示它是外键

2.唯一约束、非空约束、默认约束

若要给字段添加两个或者两个以上的约束,约束之间要以空格隔开。

1.唯一约束

设置唯一约束的列,可确保该列不出现重复值。

添加唯一约束Unique Constraint:要求该列唯一。需要注意的是,唯一键虽然不允许重复,但允许输入null

关键字:unique

create table tmp2(id int,username varchar(32) unique,sex varchar(4));

可以看到username允许为空,但不允许重复。

2.非空约束

关键字:not null

顾名思义,非空约束要求被约束列不允许为空。

create table tmp3(id int primary key,username varchar(32) not null,sex varchar(4) );

insert into tmp3 (id,username,sex) values(1,null,'man');

3.默认约束

即通过default关键字给列设置默认值(default)。

如果是添加字符串型默认值要使用单引号,如果是整型则不需要加任何符号;

如果要添加的是中文默认值,则需要加上DEFAULT CHARSET=utf8;使用英文字符则不需要.

create table tmp5(id int primary key,username varchar(32) not null,sex varchar(4) default 'man');

insert into tmp5 (id,username) values(1,'Li Ming');insert into tmp5 (id,username) values(2,'Li Hua');select * from tmp5

可以看到在没有插入sex值的情况下,记录的默认值为设定好的man

如果觉得《MySQL设置主键 联合主键 外键 唯一约束 非空约束 默认约束》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。