mysql数据库约束
Posted a199706
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql数据库约束相关的知识,希望对你有一定的参考价值。
分组查询:
select class,count(*)from student group by having count(*)>5;
先创建主表:
-- 创建部门表(主表)
CREATE TABLE dept01(
did INT PRIMARY KEY, 主表
dname VARCHAR(10),
mgr VARCHAR(10)
);
创建附表:
CREATE TABLE emp01(
eid INT PRIMARY KEY,
ename VARCHAR(10),
sex CHAR(2),
did INT,
CONSTRAINT dept_emp_fk FOREIGN KEY(did)
REFERENCES dept01(did)
);
数据约束:
默认值:
不插入字段使用默认值自动添加,可以插入null default默认值
CREATE TABLE USER( pid INT, uname VARCHAR(20), ubirth DATE, address VARCHAR(30) DEFAULT ‘张店‘ ); INSERT INTO USER VALUES(1,‘美丽‘,‘2019-07-16‘,‘淄川‘); INSERT INTO USER (pid,uname,ubirth) VALUES (2,‘美丽说‘,‘2019-07-16‘); INSERT INTO USER(pid,uname,ubirth) VALUES (3,‘潇潇‘,‘2018-07-09‘); ALTER TABLE USER DROP COLUMN pid=4; INSERT INTO USER VALUES(4,‘帅气了‘,‘2018-07-08‘,‘null‘);
非空约束:
限制赋值,非空字符必须赋值,非空字符不能赋值null
not null
CREATE TABLE USER( pid INT, username VARCHAR(20) UNIQUE, uname VARCHAR(10) NOT NULL, ubirth DATE, address VARCHAR(30) DEFAULT ‘张店‘ ); INSERT INTO USER VALUES(1,‘橙花‘,‘美丽‘,‘2019-07-16‘,‘淄川‘); INSERT INTO USER (pid,ubirth) VALUES (2,‘2019-07-16‘); INSERT INTO USER (pid,uname,ubirth) VALUES (3,‘null‘,‘2018-07-09‘); INSERT INTO USER VALUES(4,NULL,‘2018-07-08‘,‘null‘); -- 不能为空 INSERT INTO USER VALUES(5,NULL,‘美丽‘,‘2019-07-16‘,‘淄川‘);-- 空字符串‘’有值,但是=null,null就是空的
唯一约束:unique 唯一
字段不能重复,可以插入多个null
CREATE TABLE USER( pid INT PRIMARY KEY, username VARCHAR(20) UNIQUE, uname VARCHAR(10) NOT NULL, ubirth DATE, address VARCHAR(30) DEFAULT ‘张店‘ ); INSERT INTO USER (pid, uname) VALUES (1,‘小红‘); INSERT INTO USER (pid,uname) VALUES (NULL,‘小黑‘);
主键:每个表都会设置一个主键字段,唯一标识,非空并唯一
primary key
自增长:
自动递增
auto——increment
外键:
约束两个表,
添加数据: 先添加主表,再添加副表
修改数据: 先修改副表,再修改主表
删除数据: 先删除副表,再删除主表
以上是关于mysql数据库约束的主要内容,如果未能解决你的问题,请参考以下文章