官网
https://dev.mysql.com/doc/refman/8.0/en/date-and-time-functions.html
普通建表带日期
CREATE TABLE `user` (
`id` bigint(20) NOT NULL COMMENT '主键ID',
`name` varchar(30) DEFAULT NULL COMMENT '姓名',
`age` int(11) DEFAULT NULL COMMENT '年龄',
`email` varchar(50) DEFAULT NULL COMMENT '邮箱',
`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
带乐观锁,日期用mybatis-plus自动填充,带逻辑删除
CREATE TABLE IF NOT EXISTS `user` (
`id` bigint(20) NOT NULL COMMENT '主键ID',
`name` varchar(30) DEFAULT NULL COMMENT '姓名',
`age` int(11) DEFAULT NULL COMMENT '年龄',
`email` varchar(50) DEFAULT NULL COMMENT '邮箱',
`version` int(10) DEFAULT '1' COMMENT '乐观锁',
`deleted` int(1) DEFAULT '0' COMMENT '逻辑删除',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
MYISAM和INNODB的区别
ALTER用法
外键(两种方式)–避免使用这种方式,外键用代码实现(推荐)
INSERT UPDATE DELETE
SQL语言
数据操纵语言DML,
INSERT UPDATE DELETE
数据查询语言DQL,
数据定义语言DDL,
数据控制语言DCL
七种join 理论
内连接(两表的共有部分)
SELECT * FROM tbl_dep d INNER JOIN tbl_emp e ON d.id=e.deptId;
左连接(左表的全部,右表不满足补NULL)
SELECT * FROM tbl_dep d LEFT JOIN tbl_emp e ON d.id=e.deptId;
右连接(右表的全部,左表不满足的补NULL)
SELECT * FROM tbl_dep d RIGHT JOIN tbl_emp e ON d.id=e.deptId;
特殊的左连接,(显示为左表的独有的数据)
说明:查询tbl_dep 表中跟tbl_emp 表无关联关系的数据,即tbl_dep 独占,且tbl_emp 表的显示列补NULL;
SELECT * FROM tbl_dep d LEFT JOIN tbl_emp e ON d.id=e.deptId WHERE e.deptId IS NULL;
特殊的右连接(显示为右表的独有的数据 )
说明:查询tbl_emp 表中跟tbl_dep 表无关联关系的数据,即tbl_emp 独占,且tbl_dep 表的显示列补NULL;
SELECT * FROM tbl_dep d RIGHT JOIN tbl_emp e ON d.id=e.deptId WHERE d.id IS NULL;
全连接(显示全部数据)(mysql 不支持 full outer join)
UNION :有去重的功能。
SELECT * FROM tbl_dep d LEFT JOIN tbl_emp e ON d.id=e.deptId UNION
SELECT * FROM tbl_dep d RIGHT JOIN tbl_emp e ON d.id=e.deptId;
显示两表的独有的数据
SELECT * FROM tbl_dep d LEFT JOIN tbl_emp e ON d.id=e.deptId WHERE e.deptId IS NULL UNION
SELECT * FROM tbl_dep d RIGHT JOIN tbl_emp e ON d.id=e.deptId WHERE d.id IS NULL;
LIMIT分页
其中总页数有误:总页数=Math.ceil(数据总数/页面大小)
事务(写的太带劲了)
https://www.cnblogs.com/takumicx/p/9998844.html
创建数据库
//character set utf8 --设置字符集
//collate utf8_general_ci --核对字符集
create database shop character set utf8 collate utf8_general_ci;