当前位置: 首页 > java >正文

常用的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;

推荐一个非常好用的工具集合:在线工具集合 - 您的开发助手

http://www.xdnf.cn/news/18082.html

相关文章:

  • ReactNode 类型
  • Java学习笔记:IDEA简单使用技巧
  • 使用vscode的task.json来自动执行make命令,而不直接使用终端
  • Eclipse Tomcat Configuration
  • 基于Python的旅游推荐系统 Python+Django+Vue.js
  • 【抽象类和接口】
  • Javascript面试题及详细答案150道之(106-120)
  • HAL-USART配置
  • 数据电台询价的询价要求
  • 计算机毕业设计java的小天鹅酒店月子会所管理小天鹅酒店母婴护理中心管理系统设计小天鹅酒店产后护理会所信息化管理平台
  • 利用pyxlsbwriter包实现写入xlsb和xlsx格式及读取效率的比较
  • Forward Propagation|前向传播
  • Python可视化工具-Bokeh:动态显示数据
  • 功能强大!开源免费的视频翻译、音视频转录工具
  • 深度解析 Tomcat ProtocolHandler 工作原理
  • 牛客周赛 Round 104(小红的矩阵不动点/小红的不动点权值)
  • 【AI智能体】Dify 搭建发票识别助手操作实战详解
  • 深入理解QFlags:Qt中的位标志管理工具
  • 【URP】[法线贴图]为什么主要是蓝色的?
  • PowerPoint和WPS演示让多个对象通过动画同时出现
  • LeetCode 刷题【44. 通配符匹配】
  • 【杂谈】-以质代量:谷歌主动学习范式重构AI训练逻辑
  • 朝花夕拾(四) --------python中的os库全指南
  • 【k8s】Kubernetes核心概念与架构详解
  • 向量数据库
  • Qt | 四种方式实现多线程导出数据功能
  • Python爬虫实战:研究optimesh库,构建Github网格数据采集系统
  • 好看的个人导航系统多模板带后台
  • OpenAI 发布了 GPT-5,有哪些新特性值得关注?国内怎么使用GPT5?
  • 乐观锁和悲观锁