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 。
|