分页查询
#语法
#SELECT 查询的东西
#FROM 表
#【WHERE 条件】
#【GROUP BY 字段】
#【HAVING 条件】
#【ORDER BY 排序的字段】
LIMIT 条目起始索引【,条目数】
#特点
#1.写法
#写法一:
#LIMIT 条目数
#意思:从第一条开始,显示指定条目数的数据
#写法二:
#LIMIT 起始条目索引,条目数
#意思:从指定的起始索引的条目开始,显示指定条目数的数据
#2.起始索引从0开始
#案例1:查询员工表的中前五行
SELECT * FROM employees LIMIT 10;
函数
字符函数
length 获取字节长度
concat 拼接字符
upper 转换成大写,lower 转换成小写
instr 获取子串第一次出现的索引,索引从1开始,如果找不到返回0
lpad左填充、rpad右填充
trim 去前后空格或特殊字符
数字函数
数学函数
#向上取整,返回>=该参数的最小整数
SELECT CEIL(-1.0);
#向下取整,返回<=该参数的最大整数
SELECT FLOOR(-1.0);
四舍五入,先按绝对值四舍五入,然后加正负号
SELECT ROUND(-1.56);
SELECT ROUND(1.537,1);
#随机数,返回0-1之间的小数,不包含1
SELECT RAND(); #返回50-100 a——b
floor(rand()*(b-a+1)+a)
SELECT CEIL(RAND()*50+50);
SELECT FLOOR(RAND()*51+50); #截断
SELECT TRUNCATE(1.99,1)
日期函
数
#获取当前日期
SELECT NOW();
#获取日期,没有时间
SELECT CURDATE();
#获取时间,没有日期
SELECT CURTIME();
#获取日期的指定部分
SELECT YEAR(NOW());
SELECT MONTH(NOW());
SELECT MONTHNAME(NOW());
SELECT DAY(NOW());
SELECT CONCAT(YEAR(NOW()),'年',MONTH(NOW()),'月',DAY(NOW()),'日') 日期
#判断两个日期的差别天数,前者比后者大,返回正数,小返回负数,相等返回0.
SELECT DATEDIFF(NOW(),'2022-8-8');
SELECT DATEDIFF('2017-9-25',NOW())
流程控制函数
if
case when when
else end
DML语言
数据的插入
#语法:
#INSERT INTO beauty(字段1,字段2,…)
#VALUES(值1,值2,…);
特点:
#1、字段和值列表必须一一对应
#2、字符型和日期型必须用单引号引起来
#3、字段的顺序可以和表中字段的顺序不一致
#4、不可以为NULL的字段,必须插入值,比如说主键id;
可以为NULL的字段,可以不用插入值,使用NULL来代替,或字段名和值都不写
#5、字段和值的个数必须一致
#6、字段列表可以省略,默认所有列 ,而且顺序和表中的列的顺序一致
#★★★★★★★★★★★★★★★★插入单行★★★★★★★★★★★★
#方式一:insert into
…values…
#案例1:传统的插入
INSERT INTO
beauty(id,NAME,sex,borndate,phone,photo,boyfriend_id)
VALUES(100,'赵丽颖','女','1986-1-1','15811111111',NULL,10);
SELECT * FROM beauty;
#★
★★★★★★★★★★★★★★★批量插入★★★★★★★★★★★★★★★★
#方式一:insert
into…values
INSERT INTO beauty
(id,NAME,phone,boyfriend_id)
VALUES(106,'古力娜扎','119',1),
(107,'范冰冰','112',1),
(108,'吉克隽逸','888',1);
##
数据更新----update
#语法:
UPDATE 表名 SET 字段名=新值,字段名=新
[WHERE 条件];
#案例1:将赵丽蓉更新为
关晓彤
UPDATE beauty SET NAME='关晓彤'
WHERE NAME='赵丽蓉';
数据删除
#删除的方式一:
#语法:#
DELETE FROM 表 [WHERE 条件]
#案例1:删除电话号码的长度小于11位的女神信息
DELETE FROM beauty
WHERE LENGTH(phone)<11;
#删除的方式二:
#语法:
TRUNCATE
TABLE 表名
#:删除beauty表的记录
TRUNCATE
TABLE
beauty
#
二种删除方式的区别【面试题】
1.TRUNCATE不能加WHERE条件,而DELETE可以加WHERE
2.TRUNCATE效率较高
3.TRUNCATE不能删除多表,而DELETE可以
4.删除带标识列字段的表时,TRUNCATE 删除后再插入,标识列的值从1开始DELETE删除后再插入,标识列的值从断点处开始#
5、TRUNCATE删除后,不能回滚;DELETE删除可以回滚
库和表的管理–
create、alter、drop
#一、库的操作
SHOW DATABASES;
#1.创建库
CREATE DATABASE student;
CREATE DATABASE IF NOT EXISTS student;
#2.删除库
DROP DATABASE student;
DROP DATABASE IF EXISTS student;
创建表 修改表 删除表 复制表(结构/数据)