MySQL,作为一款开源的关系型数据库管理系统(RDBMS),凭借其高性能、灵活性和广泛的应用支持,成为了众多开发者和企业的首选
掌握MySQL的基础常用语句,不仅能够显著提升工作效率,还能为深入探索高级功能打下坚实基础
本文精选并解析了MySQL基础常见常用语句200条中的精华部分,旨在帮助读者快速上手并精通MySQL的日常操作
一、数据库与表的操作 1. 创建数据库 sql CREATE DATABASE 数据库名; 这是MySQL中最基础的命令之一,用于创建一个新的数据库
例如,`CREATE DATABASE mydb;` 会创建一个名为`mydb`的数据库
2. 删除数据库 sql DROP DATABASE 数据库名; 当不再需要某个数据库时,可以使用此命令删除
注意,此操作不可逆,会永久删除数据库及其所有数据
3. 使用数据库 sql USE 数据库名; 在执行表或其他对象的操作前,需要先切换到目标数据库
4. 创建表 sql CREATE TABLE 表名( 列名1 数据类型约束, 列名2 数据类型约束, ... ); 例如,创建一个用户信息表: sql CREATE TABLE users( id INT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(50) NOT NULL, password VARCHAR(255) NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); 5. 删除表 sql DROP TABLE 表名; 删除指定的表,同样操作不可逆
6. 修改表结构 - 添加列: sql ALTER TABLE 表名 ADD 列名 数据类型约束; - 删除列: sql ALTER TABLE 表名 DROP COLUMN 列名; - 修改列: sql ALTER TABLE 表名 MODIFY COLUMN 列名 新数据类型 新约束; - 重命名列: sql ALTER TABLE 表名 CHANGE COLUMN 旧列名 新列名 新数据类型 新约束; 二、数据的增删改查 1. 插入数据 sql INSERT INTO 表名(列名1, 列名2,...) VALUES(值1, 值2,...); 示例: sql INSERT INTO users(username, password) VALUES(john_doe, password123); 2. 查询数据 sql SELECT 列名1, 列名2, ... FROM 表名 WHERE 条件; 基础查询示例: sql SELECT - FROM users WHERE username = john_doe; 3. 更新数据 sql UPDATE 表名 SET 列名1 = 新值1, 列名2 = 新值2, ... WHERE 条件; 示例: sql UPDATE users SET password = newpassword456 WHERE username = john_doe; 4. 删除数据 sql DELETE FROM 表名 WHERE 条件; 示例: sql DELETE FROM users WHERE username = john_doe; 三、高级查询与优化 1. 排序 sql SELECT 列名1, 列名2, ... FROM 表名 ORDER BY 列名【ASC|DESC】; 示例: sql SELECT - FROM users ORDER BY created_at DESC; 2. 分组与聚合 sql SELECT 列名,聚合函数(列名) FROM 表名 GROUP BY 列名 HAVING 条件; 示例:统计每个用户的登录次数(假设有login_logs表): sql SELECT username, COUNT() as login_count FROM login_logs GROUP BY username HAVING login_count >5; 3. 连接查询 - 内连接: sql SELECT - FROM 表1 INNER JOIN 表2 ON 表1.列名 = 表2.列名; - 左连接: sql SELECT - FROM 表1 LEFT JOIN 表2 ON 表1.列名 = 表2.列名; - 右连接: sql SELECT - FROM 表1 RIGHT JOIN 表2 ON 表1.列名 = 表2.列名; 4. 子查询 sql SELECT 列名 FROM 表名 WHERE 列名 =(SELECT 列名 FROM 子查询表 WHERE 条件); 示例:查找有订单的用户: sql SELECT username FROM users WHERE id IN(SELECT user_id FROM orders); 5. 索引优化 - 创建索引: sql CREATE INDEX索引名 ON 表名(列名); - 删除索引: sql DROP INDEX索引名 ON 表名; 索引对于提高查询性能至关重要,但过多的索引也会影响写操作效率,需根据实际情况合理设计
四、事务处理与锁机制 1. 开始事务 sql START TRANSACTION; 或 sql BEGIN; 2. 提交事务 sql COMMIT; 3. 回滚事务 sql ROLLBACK; 4. 锁机制 - 表级锁: sql LOCK TABLES 表名 WRITE; UNLOCK TABLES; - 行级锁(通过事务自动管理): MySQL的InnoDB存储引擎支持行级锁,能够有效避免读/写冲突,提高并发性能
五、备份与恢复 1. 数据导出 使用`mysqldump`工具: bash mysqldump -u用户名 -p 数据库名 >备份文件名.sql 2. 数据导入 bash mysql -u用户名 -p 数据库名 <备份文件名.sql 六、安全管理 1. 创建用户 sql CREATE USER 用户名@主机 IDENTIFIED BY 密码; 2. 授予权限 sql GRANT权限类型 ON 数据库. TO 用户名@主机; 示例:授予全部权限: sql GRANT ALL PRIVILEGES ON mydb. TO john_doe@localhost; 3. 撤销权限 sql REVOKE权限类型 ON 数据库. FROM 用户名@主机; 4. 删除用户 sql DROP USER 用户名@主机; 结语 以上仅涵盖了MySQL基础常见常用语句的冰山一角,但足以应对日常开发中绝大多数场景
掌握这些语句,不仅能够帮助你高效地进行数据库管理和操作,还能为后续深入学习MySQL的高级功能、性能调优、高可用架构设计等打下坚实的基础
实践是检验真理的唯一标准,建议读者在理论学习的基础上,结合实际项