目录
2、两个时间段相差天数DATEDIFF(expr1,expr2)
一、数据库的基本操作
#显示数据库
SHOW DATABASES;
#创建数据库
CREATE DATABASE demo;
#删除数据库
DROP DATABASE demo;
USE demo; #切换逻辑库
#创建数据表student
CREATE TABLE student ( id INT UNSIGNED PRIMARY KEY, #UNSIGNED无符号的整数,正整数 主键:无重复字段 name VARCHAR ( 20 ) NOT NULL, sex CHAR ( 1 ) NOT NULL, birthday DATE NOT NULL, tel CHAR ( 11 ) NOT NULL, #char固定长度 remark VARCHAR ( 200 ) #备注 );
#插入一条数据
INSERT INTO student VALUES ( 1, "李强", "男", "1995-12-20", "17788990089", NULL );
SHOW TABLES;#查看当前逻辑空间有什么表
#查看数据表的具体情况
DESC student;
#查看创建表语句
SHOW CREATE TABLE student;
#生成创建表SQL文
CREATE TABLE `student` ( `id` int unsigned NOT NULL, `name` varchar(20) NOT NULL, `sex` char(1) NOT NULL, `birthday` date NOT NULL, `tel` char(11) NOT NULL, `remark` varchar(200) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
#删除数据表
DROP TABLE student;
二、数据库的基本查询
一.分页查询
#分页查询:SELECT * FROM 表名 LIMIT 起始位置,偏移量,
当前页从第一条数据开始,查20条数据
SELECT * FROM appuser LIMIT 0,20;
二、排序
1、排序ORDER BY 默认升序,ASC升序
SELECT username,rule FROM appuser ORDER BY rule ASC; #ASC升序
2、DESC降序排序
SELECT username,rule FROM appuser ORDER BY rule DESC;
3、排序后进行分页
SELECT * FROM appuser ORDER BY rule DESC,username ASC LIMIT 0,20;
三、去除重复数据DISTINCT
对多条字段查询时,DISTINCT 查询将去除多条字段组合重复数据,且必须在第一个字段前加关键字。其他的语法都是错误的。
SELECT DISTINCT rule FROM appuser;
四、条件查询WHERE 条件拼接AND逻辑与 OR逻辑或
#查询部门ID为50或者49,且状态为使用的状态
SELECT *
FROM appuser
WHERE (deptid=50 OR deptid=49) AND state=1;
1、控制转换IFNULL(expr1,expr2)
IFNULL(expr1,expr2) #将字段expr1的null值转换成expr2
2、两个时间段相差天数DATEDIFF(expr1,expr2)
DATEDIFF(expr1,expr2) #时间差expr1-expr2,相差的天数
3、获取当前时间NOW()
NOW() #获取当前时间
4、算数运算符
表达式 | 意义 | 例子 |
+ | 加法 | 1+2+3 |
| 减法 | 1-2-3 |
* | 乘法 | 1*2*3 |
/ | 除法 | 30/5 |
% | 求模 | 10%3 |
5、比较运算符
6、正则表达式:REGEXP
正则表达式:REGEXP ^[\\u4e00-\\u9fa5]{2,4}$ 中文字符集,2个文字到4个文字
7、逻辑运算符
XOR两个结果一个为真,一个不为真,结果才为真
8、按位运算符
9、查询条件语句的执行顺序
三、数据库的高级查询
一、聚合函数
1、AVG() 求平均值
AVG() 求平均值 统计数字不要统计字符串
2、SUM() 求和
SUM() 求和
3、MAX() 求最大值
MAX() 求最大值
4、MIN() 求最小值
MIN() 求最小值 日期也可以求最大最小值
5、COUNT(*) 统计条数
COUNT(*) 统计条数
或者COUNT(列名) 统计非空数据的条数
6、聚合函数的注意事项
聚合函数不能出现在WHERE子句里,因为没有锁定数据源,是不能进行计算的。自相矛盾。