MySQL-基础语句

💡 原文中文,约17500字,阅读约需42分钟。
📝

内容提要

本文记录了MySQL基本语句的学习笔记,包括数据库连接、SQL语句规范、数据库和数据表的创建与管理、查询语句、事务特性、索引与视图的创建方法,以及数据的导入导出,旨在帮助理解和掌握MySQL的基本操作。

🔎

延伸解读

SQL书写规范的实际意义

文章强调SQL语句以分号结尾、不区分大小写,但建议关键字大写、表名字段名小写,且所有符号使用半角。这些规范虽非强制,但能提升代码可读性和维护性。例如,统一大小写风格便于团队协作,半角符号避免语法错误。此外,表名以t_或tbl_开头,可快速区分表与其他数据库对象,尤其在多表环境中减少混淆。

字段类型选择与存储效率

文章对比了CHAR和VARCHAR:CHAR固定长度,效率高,适合性别等固定数据;VARCHAR动态调整,适合姓名等非固定数据。但需注意,CHAR每个英文字符占1字节,中文字符占2字节,而VARCHAR每个字符占2字节。因此,对于中文字符串,VARCHAR可能更节省空间。此外,BLOB和CLOB用于大对象,但INSERT无法直接插入,需程序流处理,这限制了它们的易用性。

查询执行顺序与性能优化

文章给出了SELECT语句的执行顺序:FROM → JOIN → WHERE → GROUP BY → HAVING → SELECT → ORDER BY → LIMIT。理解此顺序有助于编写高效SQL。例如,WHERE在GROUP BY前执行,应尽量在WHERE中过滤数据,减少分组开销;HAVING在分组后执行,且可使用分组函数,但效率较低。此外,LIMIT用于分页,公式为(页码-1)*每页条数,起始位置从0开始,这对实现分页功能很实用。

事务隔离级别与数据一致性

文章介绍了事务的ACID特性,并列出四种隔离级别:读未提交、读已提交、可重复读、可串行化。每个级别解决不同问题,但可能引入脏读、不可重复读或幻读。例如,读未提交可能导致脏读,而可串行化虽解决所有问题但效率低。实际开发中需根据业务权衡。文章还提到事务默认自动提交,可用START TRANSACTION手动控制,COMMIT提交,ROLLBACK回滚,确保数据一致性。

❓

Q&A

如何连接MySQL数据库?

使用命令 `mysql -u root -p` 连接 MySQL 数据库,之后输入密码。

MySQL中如何创建数据库?

使用命令 `CREATE DATABASE [数据库名];` 创建一个数据库。

什么是MySQL中的事务特性?

事务具有原子性、一致性、隔离性和持久性四个特性。

如何在MySQL中创建索引?

使用命令 `CREATE INDEX [索引名] ON [数据表名]([字段名]);` 创建索引。

MySQL中如何执行查询语句?

查询语句的基本格式为 `SELECT [字段名] FROM [数据表名] WHERE [查询条件];`。

如何导入和导出MySQL数据库?

导入使用 `SOURCE [.sql文件的路径]`,导出使用 `MYSQIDUMP -u [用户名] -p [数据库名] > [导出的文件名]`。

🏷️

标签

➡️

继续阅读