
MySQL作为开源关系型数据库管理系统(RDBMS)的佼佼者,凭借其高性能、可靠性和易用性,在Web应用、数据分析及企业级解决方案中占据了举足轻重的地位
掌握MySQL的常用语句,不仅能大幅提升数据处理的效率,还能为数据驱动的业务决策提供坚实基础
本文旨在通过系统化的笔记形式,带你深入了解MySQL的常用语句,助你成为数据库管理的高手
一、数据库与表的创建与管理 1. 创建数据库 一切始于数据库的创建
使用`CREATE DATABASE`语句可以轻松实现这一点: sql CREATE DATABASE my_database; 此命令会创建一个名为`my_database`的新数据库
为确保数据库创建的顺利进行,建议检查数据库是否已存在,或使用`IF NOT EXISTS`选项避免错误: sql CREATE DATABASE IF NOT EXISTS my_database; 2. 删除数据库 当数据库不再需要时,可以使用`DROP DATABASE`语句删除: sql DROP DATABASE my_database; 3. 创建表 数据库的核心是表,用于存储具体数据
`CREATE TABLE`语句用于定义表结构: sql CREATE TABLE users( id INT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(50) NOT NULL, email VARCHAR(100), created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); 上述示例创建了一个名为`users`的表,包含四个字段:`id`(自动递增的主键)、`username`(非空字符串)、`email`(字符串)和`created_at`(默认值为当前时间戳)
4. 删除表 若需删除表,可使用`DROP TABLE`语句: sql DROP TABLE users; 5. 修改表结构 随着业务需求的变化,可能需要调整表结构
`ALTER TABLE`语句提供了强大的功能来添加、删除或修改列: sql -- 添加新列 ALTER TABLE users ADD COLUMN age INT; -- 删除列 ALTER TABLE users DROP COLUMN email; -- 修改列类型 ALTER TABLE users MODIFY COLUMN username VARCHAR(100); 二、数据操作:增删改查 1. 插入数据 `INSERT INTO`语句用于向表中添加新记录: sql INSERT INTO users(username, age) VALUES(john_doe,30); 对于多行插入,可以这样做: sql INSERT INTO users(username, age) VALUES (jane_doe,25), (alice_smith,28); 2. 查询数据 `SELECT`语句是获取数据的核心命令,支持复杂的筛选、排序和分组操作: sql -- 查询所有记录 SELECTFROM users; -- 查询特定列 SELECT username, age FROM users; -- 使用WHERE子句进行条件查询 SELECTFROM users WHERE age > 25; --排序结果 SELECT - FROM users ORDER BY age DESC; -- 分组与聚合 SELECT age, COUNT() FROM users GROUP BY age; 3. 更新数据 `UPDATE`语句用于修改表中现有记录: sql -- 更新所有30岁以上用户的邮箱前缀 UPDATE users SET email = CONCAT(old_, email) WHERE age >30; 4. 删除数据 `DELETE FROM`语句用于移除表中记录: sql -- 删除特定用户 DELETE FROM users WHERE username = john_doe; -- 清空表(慎用,因为不会释放空间) DELETE FROM users; -- 更高效地清空表(释放空间) TRUNCATE TABLE users; 三、高级查询与优化 1. 联合查询 `UNION`操作符用于合并两个或多个`SELECT`语句的结果集: sql SELECT username FROM users UNION SELECT name FROM admins; 注意,`UNION`会自动去除重复记录,如需保留所有记录,可使用`UNION ALL`
2. 子查询 子查询是在另一个查询内部嵌套的查询,常用于复杂条件判断: sql -- 查询年龄最大的用户 SELECT - FROM users WHERE age = (SELECT MAX(age) FROM users); 3. 索引优化 索引是提高查询性能的关键
使用`CREATE INDEX`创建索引: sql CREATE INDEX idx_username ON users(username); 对于频繁作为查询条件的字段,创建索引可以显著提升查询速度
但过多的索引也会影响写操作性能,需权衡利弊
4. 事务处理 事务确保了一组操作的原子性、一致性、隔离性和持久性(ACID特性)
使用`START TRANSACTION`、`COMMIT`和`ROLLBACK`管理事务: sql START TRANSACTION; -- 执行一系列操作 INSERT INTO users(username, age) VALUES(new_user,22); UPDATE accounts SET balance = balance -100 WHERE user_id =1; UPDATE accounts SET balance = balance +100 WHERE user_id =2; -- 如果所有操作成功,提交事务 COMMIT; -- 若发生错误,回滚事务 -- ROLLBACK; 四、安全与备份恢复 1. 用户管理 MySQL的用户权限管理至关重要
使用`CREATE USER`、`GRANT`和`REVOKE`控制访问: sql -- 创建新用户 CREATE USER new_user@localhost IDENTIFIED
MySQL连接字符集GBK设置指南
MySQL常用语句速查笔记指南
MySQL与Redis:数据管理的完美融合
Linux环境下轻松入门:如何进入MySQL数据库操作
MySQL:轻松计算日期间隔月数技巧
利用当前事件戳,优化MySQL数据管理
MySQL:如何获取最高管理员权限
MySQL连接字符集GBK设置指南
MySQL与Redis:数据管理的完美融合
Linux环境下轻松入门:如何进入MySQL数据库操作
MySQL:轻松计算日期间隔月数技巧
利用当前事件戳,优化MySQL数据管理
MySQL:如何获取最高管理员权限
MySQL标签库:数据操作高效指南
MySQL5.1.51版本特性详解
MySQL数据库如何实现数据字段加一操作指南
MySQL高效持续性数据写入策略
游戏服务器:MySQL的高效运用策略
MySQL数据库添加外键链接指南