MySQL 详细单表增删改查crud语句


当前第2页 返回上一页

2.10模糊查询( like )% 表示0个到n个字符

where 列名 like '%巴'; 		-- 表示以 巴 结尾的;
where 列名 like '巴%'; 		-- 表示以 巴 开头的;
where 列名 like '%巴巴%' 	-- 表示数据里面包含 巴巴 的;

查询名字以 巴 结尾的学生;

SELECT * FROM students WHERE `name` LIKE '%巴';

查询名字以 作者 开头的学生;

SELECT * FROM students WHERE `name` LIKE '作者%';

查询名字里面包含 嘻哈 的学生;

SELECT * FROM students WHERE `name` LIKE '%嘻哈%';

_ 表示一个字符,可以多次使用

查询名字里面倒数第二个字有 哈 的学生
where 列名 like ‘哈_';

SELECT * FROM students WHERE `name` LIKE '%哈_';

2.11结果排序

对结果经行排序(对查询出的结果按照一列或多列进行升序或者倒序排序,升序式ASC,倒序式 DESC,默认升序)。

注意不能使用中文或者中问别名排序。
where 条件 order by 列名 [ ASC / DESC ];

查询一年级,二年级,三年级学生数据,以 语文成绩排序,降序。

SELECT * FROM students WHERE grade IN ('一年级','二年级','三年级') ORDER BY chinese DESC;

2.12分页查询

分页查询( beginIndex 表示从第几条数据开始(也可以说是跳过前面多少页),第一页从0开始。pageSize 表示每页显示多少条数据);
select * from 表名 where 条件 limit beginIndex , pageSize;

分页算法公式 (当前页 - 1)* pageSize;

比如说每页 10页 分页。
第一页 limit 0,10;// 显示 0-10;跳过前面0条数据
第二页 limit 10,10;// 显示 11-20;跳过前面10条数据
第三页 limit 20,10;// 显示 21-30;跳过前面20条数据

注意当我们使用 select * from students;(最后底层执行语句分页了 limit 0,1000 )

查询全部学生,每页三条数据
第一页

SELECT * FROM students LIMIT 0,3;

第二页

SELECT * FROM students LIMIT 3,3;

第三页

SELECT * FROM students LIMIT 6,3;

2.13聚合函数

作用于一组数据,对那组返回一个值

  • count :统计结果记录多少条数,
  • max:统计最大值
  • min:统计最小值sum:计算求和
  • avg: 计算平均值

注意,分组函数 group by。如果要对 分组后 的数据进行筛选,那么必须使用 having 关键字,条件写在 having 后面;

  • where:先过滤已有的数据,在分组,在聚合函数计算;
  • having:过滤分组之后的数据。

插入我们需要练习的表city 表

CREATE TABLE `city` (
	`id` INT AUTO_INCREMENT PRIMARY KEY COMMENT '主键',
	`city_name` VARCHAR(100) COMMENT '城市名',
	`city_year` VARCHAR(4) COMMENT '年份,yyyy',
	`city_gdp` DOUBLE COMMENT '当前年份,城市一整年的GDP,单位亿元',
	`city_population` DOUBLE COMMENT '当前年丰,城市的总人口,单位万人'
);

添加数据

INSERT INTO city VALUES(1,'上海',2018,32679,2418);
INSERT INTO city VALUES(2,'北京',2018,30320,2171);
INSERT INTO city VALUES(3,'深圳',2018,24691,1253);
INSERT INTO city VALUES(4,'广州',2018,23000,1450);
INSERT INTO city VALUES(5,'重庆',2018,20363,3372);
INSERT INTO city VALUES(6,'上海',2019,38155,2424);
INSERT INTO city VALUES(7,'北京',2019,35371,2171);
INSERT INTO city VALUES(8,'深圳',2019,26927,1302);
INSERT INTO city VALUES(9,'广州',2019,23628,1491);
INSERT INTO city VALUES(10,'重庆',2019,23605,3372);

COUNT
查询计算2019年一共有多少个城市录入数据(答案 5个)

SELECT COUNT(*) FROM city WHERE city_year = '2019';

MAX
查询 2018年里 GDP 最高是多少;

SELECT MAX(city_gdp) FROM city WHERE city_year = '2018';

MIN
查询 2018年里 GDP 最低是多少;

SELECT MIN(city_gdp) FROM city WHERE city_year = '2018';

SUM
查询2019年里所有城市 GDP 总和;

SELECT SUM(city_gdp) FROM city WHERE city_year = '2019';

AVG
查询2019年所有城市 GDP 平均值;

SELECT AVG(city_gdp) FROM city WHERE city_year = '2019';

3.增加

insert into 表名(字段1,字段2,字段3,…)values(值1,值2,值3,…);

添加学生鸡鸡鸡鸡

INSERT INTO students(id,NAME,grade,chinese,math,english) 
VALUES( 9,'鸡鸡鸡鸡','七年级',77,77,77);

其它插入方式

INSERT INTO 表名(字段1,字段2,字段3) VALUES (值1,值2,值3),(值1,值2,值3); -- 插入多条数据
INSERT INTO 表名 VALUES(值1,值2); -- 针对表全字段进行插入操作
INSERT INTO 表名(字段) SELECT 字段 FROM 表2; -- 查询结果插入
INSERT INTO 表名 SELECT 字段 FROM 表2; -- 查询结果,全表插入

4.更新

update 表名 set 字段=值 where 条件; -- 带条件的去修改指定数据,否则修改全表;

修改学生 ‘哈哈哈哈' 的英语成绩为 10;

UPDATE students SET english = 10 WHERE `name` = '哈哈哈哈';

5.删除

delete from 表名 where 条件; -- 删除数据带条件删除,否则删除全表的数据

删除学生 ‘鸡鸡鸡鸡' ;

DELETE FROM students WHERE `name` = '鸡鸡鸡鸡';

6.语句执行顺序

from -> on -> join -> where -> group by -> having -> select -> distinct -> order by -> limit

MySQL其它文章,请看下面链接

MySQL DDL 语句

MySQL CRUD 语句

MySQL 聚合函数

MySQL 多表查询

END…

到此这篇关于MySQL 详细单表增删改查crud语句的文章就介绍到这了,更多相关MySQL 增删改查语句内容请搜索

更多相关Mysql内容来自木庄网络博客


标签:Mysql

返回前面的内容

相关阅读 >>

关系数据库系统能够实现的三种基本关系运算

mysql怎么查看有没有死锁

mysql ddl什么意思

关于mysql涉及锁的问题详解

mysql触发器在php项目中用来做信息备份、恢复和清空

mysql表锁和行锁的区别是什么

mysql的优势在哪里

通俗易懂讲解mysql数据库的增删改查

mysql的ddl操作

navicat如何操作mysql数据库?

更多相关阅读请进入《mysql》频道 >>


数据库系统概念 第6版
书籍

数据库系统概念 第6版

机械工业出版社

本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...