您的位置:首页 > 博客中心 > 数据库 >

MySql数据库约束

时间:2022-03-15 18:26

分组查询:
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


外键:
约束两个表,
添加数据: 先添加主表,再添加副表
修改数据: 先修改副表,再修改主表
删除数据: 先删除副表,再删除主表

技术图片

 

本类排行

今日推荐

热门手游