1. 约束

# 约束CREATE TABLE tb_user2(id int AUTO_INCREMENT PRIMARY KEY COMMENT 'ID唯一标识',name varchar(10) NOT NULL UNIQUE COMMENT '姓名',age int COMMENT '年龄',status char(1) default '1' COMMENT '状态',gender char(1) COMMENT '性别'
) comment '用户2表';
-- check (age > 0 && age <= 120)
-- mysql8.0.16版本之后才支持checkinsert into tb_user2(name,age,status,gender) values ('Tom1',19,'1','男'),('Tom2',25,'0','男');
insert into tb_user2(name,age,status,gender) values ('Tom3',19,'1','男');
insert into tb_user2(name,age,status,gender) values ('Tom4',80,'1','男');
insert into tb_user2(name,age,gender) values ('Tom5',120,'男');insert into tb_user2(name,age,status,gender) values (null,19,'1','男'); -- 插入失败[23000][1048] Column 'name' cannot be null
insert into tb_user2(name,age,status,gender) values ('Tom3',19,'1','男'); -- 插入失败[23000][1062] Duplicate entry 'Tom3' for key 'name'
-- insert into tb_user2(name,age,status,gender) values ('Tom5',-1,'1','男');
-- insert into tb_user2(name,age,status,gender) values ('Tom5',121,'1','男');# 外键约束create table dept2(id int auto_increment comment 'ID' primary key,name varchar(50) not null comment '部门名称'
)comment '部门2表';INSERT INTO dept2(id, name) VALUES (1, '研发部'), (2, '市场部'),(3, '财务部'), (4, '销售部'), (5, '总经办');create table emp2(id int auto_increment comment 'ID' primary key,name varchar(50) not null comment '姓名',age int comment '年龄',job varchar(20) comment '职位',salary int comment '薪资',entrydate date comment '入职时间',managerid int comment '直属领导ID',dept_id int comment '部门ID'
)comment '员工2表';INSERT INTO emp2(id, name, age, job,salary, entrydate, managerid, dept_id)
VALUES(1, '金庸', 66, '总裁',20000, '2000-01-01', null,5),(2, '张无忌', 20, '项目经理',12500, '2005-12-05', 1,1),(3, '杨逍', 33, '开发', 8400,'2000-11-03', 2,1),(4, '韦一笑', 48, '开发',11000, '2002-02-05', 2,1),(5, '常遇春', 43, '开发',10500, '2004-09-07', 3,1),(6, '小昭', 19, '程序员鼓励师',6600, '2004-10-12', 2,1);-- 添加外键fk_emp_dept_id
/*
alter table emp2
add constraint fk_emp_dept_id
foreign key (dept_id)
references dept2(id);
*/-- 删除外键fk_emp_dept_id
alter table emp2 drop foreign key fk_emp_dept_id;-- 外键约束的删除/更新行为
-- 由于NO ACTION 是默认行为,前面语法演示的时候,已经测试过了,就不再演示了,这里只演示其他的两种行为:CASCADE、SET NULL
alter table emp2 add constraint fk_emp_dept_id
foreign key (dept_id) references dept2(id)
on update cascade on delete cascade ;alter table emp2 add constraint fk_emp_dept_id
foreign key (dept_id) references dept2(id)
on update set null on delete set null ;

2. 多表查询

/*多表查询
1.多表关系
2.内连接
3.外连接
4.自连接
5.子查询
6.案例
*/create table student(id int auto_increment primary key comment '主键ID',name varchar(10) comment '姓名',no varchar(10) comment '学号'
) comment '学生表';
insert into student values
(null, '黛绮丝', '2000100101'),(null, '谢逊','2000100102'),
(null, '殷天正', '2000100103'),(null, '韦一笑', '2000100104');create table course(id int auto_increment primary key comment '主键ID',name varchar(10) comment '课程名称'
) comment '课程表';
insert into course values
(null, 'Java'),
(null, 'PHP'),
(null , 'MySQL') ,
(null, 'Hadoop');create table student_course(id int auto_increment comment '主键' primary key,studentid int not null comment '学生ID',courseid int not null comment '课程ID',constraint fk_courseid foreign key (courseid) references course (id),constraint fk_studentid foreign key (studentid) references student (id)
)comment '学生课程中间表';
insert into student_course values
(null,1,1),(null,1,2),
(null,1,3),(null,2,2),
(null,2,3),(null,3,4);create table tb_user(id int auto_increment primary key comment '主键ID',name varchar(10) comment '姓名',age int comment '年龄',gender char(1) comment '1: 男 , 2: 女',phone char(11) comment '手机号'
) comment '用户基本信息表';
insert into tb_user(id, name, age, gender, phone) values
(null,'黄渤',45,'1','18800001111'),
(null,'冰冰',35,'2','18800002222'),
(null,'码云',55,'1','18800008888'),
(null,'李彦宏',50,'1','18800009999');create table tb_user_edu(id int auto_increment primary key comment '主键ID',degree varchar(20) comment '学历',major varchar(50) comment '专业',primaryschool varchar(50) comment '小学',middleschool varchar(50) comment '中学',university varchar(50) comment '大学',userid int unique comment '用户ID',constraint fk_userid foreign key (userid) references tb_user(id)
) comment '用户教育信息表';
insert into tb_user_edu(id, degree, major, primaryschool, middleschool, university, userid) values
(null,'本科','舞蹈','静安区第一小学','静安区第一中学','北京舞蹈学院',1),
(null,'硕士','表演','朝阳区第一小学','朝阳区第一中学','北京电影学院',2),
(null,'本科','英语','杭州市第一小学','杭州市第一中学','杭州师范大学',3),
(null,'本科','应用数学','阳泉第一小学','阳泉区第一中学','清华大学',4);

3. 事务

re_mysql_20221210相关推荐

最新文章

  1. 谈谈对web标准的理解
  2. Mysql 5.8 参数调优
  3. 红帽7破解ROOT密码(简单易懂)
  4. 将本地代码上传到github中
  5. 移动端开发meta标签 viewport 设置
  6. android google map研究
  7. cba篮球暂停次数和时间_CBA一场比赛每支球队可以叫多少次暂停
  8. 用Java编写的简单手绘程序--原创
  9. 转载130个原文网站,原文链接:https://blog.csdn.net/qq_43901693/article/details/100606828
  10. 对指定网站渗透的一些总结
  11. C语言中数据的表现形式及其运算
  12. 全国省市县信息sql脚本
  13. MATLAB实现将图片转化为gif格式的动画
  14. 一些检索英文文献的网址(收藏)
  15. Oracle存储过程基本语法 存储过程
  16. Linux鸟哥的私房菜(硬件)
  17. 你是什么命,好玩的很
  18. 苹果WWDC大会:iOS求稳,AR求新,APP求全
  19. excel如何把多张表合并成一个表_如何将多个excel表格合并成一个_excel多表合并到一种表格的方法...
  20. 矩阵乘法 递归 优化 c语言,矩阵乘法优化递归式

热门文章

  1. python求解四阶微分方程_用Python求解二阶常微分方程组的RungeKutta四阶解
  2. fatal error: opencv2/opencv_modules.hpp: No such file or directory(linux系统,opencv4)
  3. python对文件的写作方法_python读写csv文件 - 作文写作问答 - 归教作文网
  4. 微信小程序weui在线入门教程-WeUi操作反馈-actionsheet弹出式菜单
  5. 一些收集的MikroTik RouterOS破解版虚拟机VMware
  6. Python爬虫系列(七)豆瓣图书排行榜(数据存入到数据库)
  7. 数字正交下变频(多相滤波法)
  8. 国网云(华为组件)使用
  9. c语言读取midi文件举例子,c# – 使用NAudio从MIDI文件中读取音符
  10. 《信条》过去不可挽回, 未来已成史书(无剧透版)