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;
观察输出,classid
的key
值为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
。