赞
踩
常见面试题:
1.一个表中主键约束只能有一个,而唯一约束可以有多个;
2.唯一约束可以插入一个或多个NULL,而主键约束不允许插入NULL。
外键用于关联其他表的主键或唯一键。
语法:
foreign key (字段名) references 主表(列)
主表(主键)和次表(外键,关联到主表的主键上)
创建一个class表设置主键:
创建一个student表并设置外键和class关联:
测试外键:
创建两个班级12班和18班
如图,此时外键生效了,进行数据插入的时候,会先去主表查询外键的有效性。
外键可以插入null(表示该学生暂未分班)
外键可以插入多个null,但是如果指定了数据(指定了具体的值),那么这个值一定得是有效才行。(有效指的是这个值已经在主表中存在了)
检查约束是保证列中的值符合指定的条件,比如性别只能插入”男“或者”女“。
语法:
check (约束条件)
例:性别只能是男或女;
用在建表时
语法:
直接在字段后面添加auto_increment即可
在添加数据时,没有输入id,表也会显示
当给自增列插入null时,他的执行逻辑和不设置是一样的,也就是自增列回自动插入此值。
1.一个表中只能有一个字段使用auto_increment约束,且该字段必须有唯一索引,以免序号重复(即为主键或主键的一部分)
auto_increment必须配合key使用(primary key,foreign key,unique)
2.auto_increment约束字段只能是整数类型(tinyint、smallint、int、bigint等)。
3.一个表中只能有一个auto_increment自增约束(和主键的数量要求是一样的,主键也是一样的,一张表中最多有一个主键,但一个主键可以有多个字段组成)
语法:
(字段)auto_increment=n;
alter table 表名 auto_increment=n;
注意事项:
auto_increment修改的自增值小于自增列的最大值max(自增列),那么设置将会无效
前五个区别见MySQL表的增删改查(3)
delete删除不会重置自增值
truncate会重置自增列:
语法:
字符 字段类型 约束条件
时间类型:
时间加英文’'包含时间
如果没有时分秒,则为默认值00:00:00;
但是最好输入时间
查询时间:(用>、<)
insert into 插入时,是根据列的顺序匹配查询结果的,不关注列名。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。