MySQL常用语句速查笔记指南
mysql常用语句笔记

首页 2025-06-24 23:01:14



MySQL常用语句笔记:掌握数据库管理的精髓 在当今信息化时代,数据库作为存储和管理数据的核心工具,其重要性不言而喻

    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连接就这么简单!本地远程、编程语言连接方法一网打尽
还在为MySQL日期计算头疼?这份加一天操作指南能解决90%问题
MySQL日志到底在哪里?Linux/Windows/macOS全平台查找方法在此
MySQL数据库管理工具全景评测:从Workbench到DBeaver的技术选型指南
MySQL密码忘了怎么办?这份重置指南能救急,Windows/Linux/Mac都适用
你的MySQL为什么经常卡死?可能是锁表在作怪!快速排查方法在此
MySQL单表卡爆怎么办?从策略到实战,一文掌握「分表」救命技巧
清空MySQL数据表千万别用错!DELETE和TRUNCATE这个区别可能导致重大事故
你的MySQL中文排序一团糟?记住这几点,轻松实现准确拼音排序!
别再混淆Hive和MySQL了!读懂它们的天壤之别,才算摸到大数据的门道