MySQL 常用 SQL 语句大全

打印 上一主题 下一主题

主题 973|帖子 973|积分 2919

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
1. 根本查询
查询所有记录和字段
  1. SELECT * FROM table_name;
复制代码
查询特定字段
  1. SELECT column1, column2 FROM table_name;
复制代码
查询并限制结果
  1. SELECT column1, column2 FROM table_name LIMIT 10;
复制代码
条件查询
  1. SELECT column1, column2 FROM table_name WHERE condition;
复制代码
含糊匹配
  1. SELECT column1 FROM table_name WHERE column2 LIKE 'pattern%';
复制代码
匹配多个值
  1. SELECT column1 FROM table_name WHERE column2 IN (value1, value2);
复制代码
不匹配某些值
  1. SELECT column1 FROM table_name WHERE column2 NOT IN (value1, value2);
复制代码
2. 数据插入
插入单条记录
  1. INSERT INTO table_name (column1, column2) VALUES (value1, value2);
复制代码
插入多条记录
  1. INSERT INTO table_name (column1, column2) VALUES (value1, value2), (value3, value4);
复制代码
从另一个表插入数据
  1. INSERT INTO table1 (column1, column2)
  2. SELECT column1, column2 FROM table2 WHERE condition;
复制代码
3. 数据更新
更新单条记录
  1. UPDATE table_name SET column1 = value1 WHERE condition;
复制代码
批量更新
  1. UPDATE table_name SET column1 = value1, column2 = value2 WHERE condition;
复制代码
基于其他表的更新(关联更新)
  1. UPDATE table1
  2. JOIN table2 ON table1.common_column = table2.common_column
  3. SET table1.column1 = table2.column2
  4. WHERE table2.condition;
复制代码
4. 数据删除
删除单条记录
  1. DELETE FROM table_name WHERE condition;
复制代码
批量删除
  1. DELETE FROM table_name WHERE condition;
复制代码
删除表中的所有记录(也叫截断表)
  1. TRUNCATE TABLE table_name;
复制代码
5. 表操纵
创建表
  1. CREATE TABLE table_name (
  2. ? ? id INT AUTO_INCREMENT PRIMARY KEY,
  3. ? ? column1 VARCHAR(255) NOT NULL,
  4. ? ? column2 INT DEFAULT 0,
  5. ? ? created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
  6. );
复制代码
修改表结构
添加列
  1. ALTER TABLE table_name ADD column_name VARCHAR(255);
复制代码
删除列
  1. ALTER TABLE table_name DROP COLUMN column_name;
复制代码
修改列范例
  1. ALTER TABLE table_name MODIFY column_name INT;
复制代码
重命名列
  1. ALTER TABLE table_name CHANGE old_column_name new_column_name VARCHAR(255);
复制代码
删除表
  1. DROP TABLE table_name;
复制代码
删除数据库
  1. DROP DATABASE database_name;
复制代码
6. 索引管理
创建索引
  1. CREATE INDEX index_name ON table_name (column_name);
复制代码
创建唯一索引
  1. CREATE UNIQUE INDEX index_name ON table_name (column_name);
复制代码
删除索引
  1. DROP INDEX index_name ON table_name;
复制代码
7. 表连接
内连接(INNER JOIN)
  1. SELECT * FROM table1
  2. INNER JOIN table2 ON table1.common_column = table2.common_column;
复制代码
左连接(LEFT JOIN)
  1. SELECT * FROM table1
  2. LEFT JOIN table2 ON table1.common_column = table2.common_column;
复制代码
右连接(RIGHT JOIN)
  1. SELECT * FROM table1
  2. RIGHT JOIN table2 ON table1.common_column = table2.common_column;
复制代码
全连接(FULL JOIN)
  1. SELECT * FROM table1LEFT JOIN table2 ON table1.common_column = table2.common_columnUNIONSELECT * FROM table1
  2. RIGHT JOIN table2 ON table1.common_column = table2.common_column;
复制代码
8. 聚合函数
计数
  1. SELECT COUNT(*) FROM table_name;
复制代码
平均值
  1. SELECT AVG(column_name) FROM table_name;
复制代码
总和
  1. SELECT SUM(column_name) FROM table_name;
复制代码
最大值
  1. SELECT MAX(column_name) FROM table_name;
复制代码
最小值
  1. SELECT MIN(column_name) FROM table_name;
复制代码
9. 分组与排序
分组
  1. SELECT column1, COUNT(*) FROM table_name
  2. GROUP BY column1;
复制代码
排序
  1. SELECT * FROM table_name
  2. ORDER BY column1 ASC;
  3. SELECT * FROM table_name
  4. ORDER BY column1 DESC;
复制代码
分页
  1. SELECT * FROM table_name
  2. LIMIT 10 OFFSET 20;
复制代码
10. 子查询
在 WHERE 子句中
  1. SELECT * FROM table_name
  2. WHERE column1 = (SELECT MAX(column1) FROM table_name);
复制代码
在 FROM 子句中
  1. SELECT * FROM (SELECT column1, column2 FROM table_name) AS subquery
  2. WHERE condition;
复制代码
11. 条件表达式
使用 CASE
  1. SELECT column1,
  2. ? ? CASE
  3. ? ? ? ? WHEN condition1 THEN 'result1'
  4. ? ? ? ? WHEN condition2 THEN 'result2'
  5. ? ? ? ? ELSE 'default'
  6. ? ? END AS new_column
  7. FROM table_name;
复制代码
12. 事件管理
开始事件
  1. START TRANSACTION;
复制代码
提交事件
  1. COMMIT;
复制代码
回滚事件
  1. ROLLBACK;
复制代码
13. 备份与恢复
备份
  1. mysqldump -u username -p database_name > backup_file.sql
复制代码
恢复
  1. mysql -u username -p database_name < backup_file.sql
复制代码
14. 用户管理
创建用户
  1. CREATE USER 'username'@'host' IDENTIFIED BY 'password';
复制代码
授予权限
  1. GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'host';
复制代码
撤销权限
  1. REVOKE ALL PRIVILEGES ON database_name.* FROM 'username'@'host';
复制代码
删除用户
  1. DROP USER 'username'@'host';
复制代码
15. 表和数据库信息
查看表结构
  1. DESCRIBE table_name;
复制代码
查看数据库列表
  1. SHOW DATABASES;
复制代码
查看表列表
  1. SHOW TABLES;
复制代码
查看表的索引
  1. SHOW INDEX FROM table_name;
复制代码
查看表的创建语句
  1. SHOW CREATE TABLE table_name;
复制代码
16. 查询优化
查看查询筹划
  1. EXPLAIN SELECT * FROM table_name WHERE condition;
复制代码
查看慢查询日志
  1. SHOW VARIABLES LIKE 'slow_query_log';
复制代码
启用慢查询日志:
  1. SET GLOBAL slow_query_log = 'ON';
复制代码
查看当前的数据库状态
  1. SHOW STATUS;
复制代码
17. 其他实用操纵
盘算字段的平均值和总和
  1. SELECT column1, AVG(column2), SUM(column2) FROM table_name GROUP BY column1;
复制代码
使用 GROUP_CONCAT 函数
  1. SELECT column1, GROUP_CONCAT(column2) FROM table_name GROUP BY column1;
复制代码
这些 SQL 语句和技巧覆盖了数据库操纵的广泛领域,从基础查询到高级管理和优化。把握这些可以帮助你更高效地管理和操纵 MySQL 数据库。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

雁过留声

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表