|MySQL使用基础,这么用就对了
这篇文章主要梳理了 SQL 的基础用法 , 会涉及到以下方面内容:
- SQL大小写的规范
- 数据库的类型以及适用场景
- SELECT 的执行过程
- WHERE 使用规范
- MySQL 中常见函数
- 子查询分类
- 如何选择合适的 EXISTS 和 IN 子查询
SQL 是我们用来最长和数据打交道的方式之一 , 如果按照功能划分可分为如下 4 个部分:
- DDL , 数据定义语言 。 定义数据库对象 , 数据表 , 数据列 。 也就是 , 对数据库和表结构进行增删改操作 。
- DML , 数据操作语言 。 对数据表的增删改 。
- DCL , 数据控制语言 。 定义访问权限和安全级别 。
- DQL , 数据查询语言 。 用来查询数据 。
- 表名 , 表别名 , 字段名 , 字段别名等用小写 。
- SQL 保留字 , 函数名 , 绑定变量等用大写 。
- 数据表 , 字段名采用下划线命名 。
本文插图
- 关系型数据库:建立在关系模型上的数据库 , 在建表时 , 通常先设计 ER 图表示之间的关系 。
- 键值型数据库:以 key-value 的形式存储数据 , 优点是查找速度快 , 缺点是无法向关系型数据库一样使用如 WHERE 等的过滤条件 。 常见场景是作为内容缓存 。
- 文档型数据库 , 在保存时以文档作为处理信息的基本单位 。
- 搜索引擎:针对全文检索而设计 。 核心原理是 “倒排索引” 。
- 列式数据库:相对于如 MySQL 等行式存储的数据库 , 是以列将数据存在数据库中 , 由于列具有相同的数据类型 , 所以可以更好的压缩 , 从而减低系统的 I/O , 适用于分布式文件系统 , 但功能相对有限 。
- 图形数据库 , 利用图的数据结构存储实体之间的关系 。 比如社交网络中人与人的关系 , 数据模型为节点和边来实现 。
SELECT 一般是在学习 SQL 接触的第一个关键字 , 基础的内容就是不提了 , 这里整理常用的规范:
起别名
SELECT name AS n FROM student查询常数, 增加一列固定的常数列:
SELECT '学生信息' as student_info, name FROM student去重重复行
SELECT DISTINCT age FROM student需要注意的是 DISTINCT 是对后面的所有列进行去重, 下面这种情况就会对 age 和 name 的组合进行去重 。
SELECT DISTINCT age,name FROM student排序数据,ASC 代表升序 , DESC 代表降序
如先按照 name 排序 , name 相等的情况下按照 age 排序 。
SELECT DISTINCT age FROM student ORDERY BY name,age DESC限制返回的数量
SELECT DISTINCT age FROM student ORDERY BY name DESC LIMIT 5SELECT 的执行顺序
了解了 SELECT 的执行顺序 , 才能更好地写出更有效率的 SQL 。
对于 SELECT 顺序有两个原则:
- 关键字的顺序不能颠倒:SELECT ... FROM ... WHERE ... GROUP BY ... HAVING ... ORDER BY ...
- SELECT 会按照如下顺序执行:FROM > WHERE > GROUP BY > HAVING > SELECT的字段 > DISTINCT > ORDER BY > LIMIT
推荐阅读
- OPPO手机|iPhone明年才使用LTOP屏幕,屏幕今年还得看绿厂!
- 手机使用技巧|宝宝照片太多怎么办?4种不占手机内存的存储方式,最后一种更安全
- 智慧城市|数据归心、AI赋能,打牢新型智慧城市建设基础
- |使用TLC闪存的英睿达P5系列NVMe M.2 SSD现已公布售价
- 机械|电脑的机械硬盘和固态硬盘什么区别,谁使用寿命长?
- 科技造就未来|Apple为什么要使用ARM?为什么不从头开始?
- 电脑使用技巧|Word文字技巧—如何将Excel转换成Word
- windows系统,电脑使用技巧|第三方 Fluent Design 图标设计集预示未来 Win 10 风格
- 华为手机,AI人工智能|今天才知道,华为手机右上角还能这样使用,几千块钱果真没白花
- 设计|它是Web设计的基础,但是很多人都忽略了