MySQL学习笔记分享
在学习MySQL时,我总结了一些笔记,并且想要与大家分享。我是通过在B站上跟着杜老师学习MySQL的,这些笔记是我在学习过程中整理的,并以Word格式保存,方便大家进行修改和使用。下面是我整理的一些MySQL常用命令和查询语句的内容。
1. SQL常用命令
在MySQL中,我们经常会使用一些SQL语句来进行数据库操作,下面是一些常用的命令:
- `SHOW CREATE TABLE xxx;`:查看某个表的建表语句。
- 查询语句:`SELECT ... FROM ... WHERE ...`;可以根据条件进行查询,使用`BETWEEN ... AND ...`来进行范围查询,可以使用括号来确定优先级。
- 模糊查询:使用`LIKE`关键字进行模糊匹配,如果要查询包含下划线`_`的内容,需要在下划线前加`\`来转义,如`%\_%`。
2. 排序
排序可以通过`ORDER BY`关键字实现,默认按照升序排序,可以使用`ASC`和`DESC`关键字来指定升序或降序排序。
3. 分组函数
分组函数也被称为多行处理函数,它们会自动忽略NULL值。分组函数不能直接用于WHERE子句中,而是应该使用`GROUP BY`和`HAVING`子句进行分组和过滤。如果可以使用`WHERE`子句解决问题,就应该使用`WHERE`子句。
4. 多字段分组查询
可以使用多个字段进行分组查询,只需要在`GROUP BY`子句中列出这些字段就可以了。
5. 去重
使用`DISTINCT`关键字可以去除查询结果中的重复记录,可以同时去除多个字段的重复记录。
6. 连接查询
连接查询可以用于多表联合查询,并返回最终的结果。在连接查询中,有不同的连接类型可供选择,包括内连接(等值连接、非等值连接、自连接)、外连接(左连接、右连接)和全连接(一般不常用)。
6.1 SQL92:笛卡尔积现象
在连接查询中,如果没有加任何条件进行过滤,会出现笛卡尔积现象,即结果集的行数是两表的行数相乘。这通常是我们不想看到的结果,因此需要通过加入条件来过滤。
6.2 加条件过滤笛卡尔积
为了避免出现笛卡尔积现象,我们可以在连接查询中加入条件进行过滤,这样可以得到我们想要的结果。
7. 等值连接
在SQL99语法中,等值连接可以使用`A JOIN B ON ... WHERE ...`的语法进行查询,这样的语法结构更加清晰明了。
通过学习这些MySQL的基本知识和常用命令,我们可以快速进行数据查询和操作。希望这些学习笔记对大家有所帮助。如果有任何问题或建议,欢迎与我交流讨论。感谢大家的阅读!