最近我在学习MySQL,以前对它也略有了解,但是并不太会运用,这段时间把MySQL的相关语句系统地学习了一下,下面是学习的相关总结,分享给大家 。
文章插图
MySQL
MySQL常用的查询操作一、MySQL查询语法
MySQL数据库使用SELECT语句来查询数据 。1.1 语法
SELECT column_name,column_name
FROM table_name [WHERE Clause][LIMIT N][ OFFSET M]
- MySQL查询可以使用一个或者多个表,表与表之间需要用逗号(,)分割开,并且需要使用WHERE语句设置查询条件;
- SELECT可以读取一条或多条记录;
- 星号(*)表示SELECT语句会返回数据表的所有字段;
- WHERE语句是用来设置查询条件的;
- LIMIT用于限制返回的数据条数 。
- OFFSET用于指定SELECT语句开始查询数据时的偏移量,默认值为0 。
- 查看当前的数据库
SELECT database();
- 结果
文章插图
查看当前数据库
- 查询当前数据库版本
SELECT version();
- 结果
文章插图
查看当前数据库版本
- 查看当前时间
SELECT now();
- 结果
文章插图
查看当前时间
二、常用的查询语句及示例新建一张员工(staffs)表,并插入一下数据,建表语句如下:
CREATE TABLE `users` (`uid` int(10) unsigned NOT NULL AUTO_INCREMENT,`name` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '姓名',`age` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '年龄',`gender` enum('male','female') COLLATE utf8mb4_unicode_ci NOT NULL,`salary` int(10) unsigned NOT NULL DEFAULT '2000',`email` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '邮箱',`birthday` date NOT NULL COMMENT '生日',`create_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建日期',`update_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改日期',`test` int(10) unsigned NOT NULL DEFAULT '1',PRIMARY KEY (`uid`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
文章插图
表结构
数据表建完之后插入一些数据:
文章插图
插入一些数据
2.1 条件查询
- 示例:查询工资大于11000的员工 。
SELECT uid id, name, salary FROM staffs WHERE salary > 11000;
- 示例:查询工资在6500~8000之间的员工 。
SELECT uid, name, salary FROM staffs WHERE salary > 6500 AND salary < 8000;
注意: 以上方法查询的数据不包含6500和8000这两个值,也就是说不包含边界,如果要想使查询的结果包含边界值,应该使用BETWEEN...AND 。SELECT uid, name, salary FROM staffs WHERE BETWEEN 6500 AND 8000;
2.2 分组查询- 1.示例:分别统计男女员工的数量
SELECT gender, COUNT(1) FROM staffs GROUP BY gender;
- 结果
文章插图
分组查询
【MySQL必须要掌握的常用查询语句】但是gender和COUNT(1)看起来不直观,我们可以改个名字,sql语句需要这样写:
SELECT gender AS 性别, COUNT(1) AS 数量 FROM staffs GROUP BY gender;
以上sql语句还有一个简写的方法,省略AS:SELECT gender 性别, COUNT(1) 数量 FROM staffs GROUP BY gender;
- 以上两种写法,输出的结果相同
文章插图
分组查询
推荐阅读
- Python开发必备:如何建立一个完美的项目工程环境
- 嘘,认真看!Layui一定是Java程序员必备后台前端框架
- SpringBoot+Mysql做登陆接口,抛弃mapper.xml
- MySQL多表查询讲解
- 记一次 MySQL 复制故障-Error_code:1317
- MySQL数据迁移到TiDB的流程及为何放弃MyCat
- 东北旅游必去景点有哪些
- 程序员创业必备:如何让Web服务支持https,有哪些免费CA机构
- 一文彻底读懂MySQL事务的四大隔离级别
- 防火墙必须掌握的区域特性与划分