常用的SQL语句
1. 数据查询(SELECT)
-- 基础查询
SELECT * FROM table_name;-- 条件查询
SELECT column1, column2 FROM table_name WHERE condition;-- 排序
SELECT * FROM table_name ORDER BY column ASC/DESC;-- 分组与聚合函数
SELECT column, COUNT(*) FROM table_name GROUP BY column HAVING COUNT(*) > 1;-- 连接查询
SELECT a.column, b.column
FROM table_a a
JOIN table_b b ON a.id = b.a_id;-- 子查询
SELECT * FROM table_name WHERE column IN (SELECT column FROM another_table);-- 限制结果
SELECT * FROM table_name LIMIT 10;-- 去重
SELECT DISTINCT city FROM users; -- 模糊查询
SELECT * FROM users WHERE name LIKE '张%'; -- 查询姓“张”的用户
SELECT * FROM users WHERE name LIKE '张_'; -- 查询名字为“张X”的用户-- 范围查询
SELECT * FROM products WHERE price BETWEEN 100 AND 200;
2. 数据操作(DML)
-- 插入数据
INSERT INTO table_name (column1, column2) VALUES (value1, value2); -- 插入单条记录
INSERT INTO table_name (column1, column2) VALUES (value1, value2),(value1, value2); -- 插入多条记录-- 更新数据
UPDATE table_name SET column1 = value1 WHERE condition;-- 删除数据
DELETE FROM table_name WHERE condition;-- 清空表
TRUNCATE TABLE table_name;
3. 表结构管理(DDL)
-- 创建表
CREATE TABLE table_name (id INT PRIMARY KEY AUTO_INCREMENT,column1 VARCHAR(255),column2 DATE
);-- 修改表结构
ALTER TABLE table_name ADD COLUMN new_column INT; -- 添加列
ALTER TABLE table_name DROP COLUMN column_name; -- 删除列
ALTER TABLE table_name MODIFY COLUMN column_name VARCHAR(50); -- 修改列类型-- 重命名表
RENAME TABLE old_name TO new_name;-- 删除表
DROP TABLE table_name;
4. 索引管理
-- 创建索引
CREATE INDEX index_name ON table_name (column); --创建普通索引
CREATE INDEX index_name ON table_name (column1, column2);--创建复合索引
CREATE UNIQUE INDEX index_name ON table_name (column_name); --创建唯一索引-- 删除索引
DROP INDEX index_name ON table_name;-- 查看索引
SHOW INDEX FROM table_name;
5. 事务控制
-- 开始事务
START TRANSACTION;-- 提交事务
COMMIT;-- 回滚事务
ROLLBACK;-- 设置保存点
SAVEPOINT savepoint_name;
ROLLBACK TO savepoint_name;
6. 用户权限管理
-- 创建用户
CREATE USER 'username'@'host' IDENTIFIED BY 'password';-- 授权
GRANT ALL PRIVILEGES ON database.* TO 'username'@'host';-- 撤销权限
REVOKE ALL PRIVILEGES ON database.* FROM 'username'@'host';-- 刷新权限
FLUSH PRIVILEGES;-- 查看用户权限
SHOW GRANTS FOR 'username'@'host';
7. 常用函数
-- 聚合函数
SELECT COUNT(*), SUM(column), AVG(column), MAX(column), MIN(column) FROM table_name;-- 字符串函数
SELECT CONCAT('Hello', ' ', 'World'), UPPER('text'), LOWER('TEXT');-- 日期函数
SELECT NOW(), CURDATE(), CURTIME(), DATE_ADD(date, INTERVAL 1 DAY);-- 数学函数
SELECT ABS(-10), ROUND(3.1415, 2), RAND();
8. 其他实用语句
-- 查看数据库列表
SHOW DATABASES;-- 使用数据库
USE database_name;-- 查看表结构
DESCRIBE table_name;-- 导出数据(命令行)
mysqldump -u username -p database_name > backup.sql;-- 导入数据(命令行)
mysql -u username -p database_name < backup.sql;
推荐一个非常好用的工具集合:在线工具集合 - 您的开发助手