在工作中对一些sql感觉陌生,补充一下学习。
SQL语句补充与示例
SQL(Structured Query Language,结构化查询语言)是一种用于管理和操作关系数据库的标准编程语言。SQL 语句用于执行各种数据库操作,包括查询、更新、插入和删除数据。以下是一些基本的 SQL 语句类型及其用途:
1、常用语句
-
SELECT - 从数据库中检索数据。
sql">SELECT column1, column2 FROM table_name;
-
INSERT INTO - 向数据库表中插入新数据。
INSERT INTO table_name (column1, column2) VALUES (value1, value2);
-
UPDATE - 更新数据库表中的现有数据。
UPDATE table_name SET column1 = value1 WHERE condition;
-
DELETE - 从数据库表中删除数据。
DELETE FROM table_name WHERE condition;
-
CREATE - 创建新的数据库或表。
CREATE TABLE table_name (column1 datatype,column2 datatype,... );
-
ALTER - 修改现有数据库结构,如添加或删除列。
ALTER TABLE table_name ADD column_name datatype;
-
DROP - 删除数据库、表或列。
DROP TABLE table_name;
-
JOIN - 连接多个表以基于相关列合并它们的数据。
SELECT column1, column2 FROM table1 JOIN table2 ON table1.column_name = table2.column_name;
-
GROUP BY - 将数据分组并使用聚合函数(如 COUNT, SUM, AVG)进行计算。
SELECT column_name, COUNT(*) FROM table_name GROUP BY column_name;
-
ORDER BY - 对结果集进行排序。
SELECT column_name FROM table_name ORDER BY column_name ASC; -- 升序
-
WHERE - 过滤结果集,只返回满足条件的记录。
SELECT column_name FROM table_name WHERE condition;
-
HAVING - 用于与 GROUP BY 一起使用,过滤分组后的结果。
SELECT column_name, COUNT(*) FROM table_name GROUP BY column_name HAVING COUNT(*) > 1;
这些是 SQL 的一些基本操作和语句。根据具体需求,SQL 语句可以非常复杂和多样化。
2、其他语句
SQL 中的 CASE
语句是一种条件表达式,它允许你根据不同的条件返回不同的结果。以下是 CASE
语句的一些用法
//switch......case....;一点这种根据 public class HelloWorld {public static void main(String args[]) {int i = 3;switch(i){case 1:System.out.println("i等于1");break;case 2:System.out.println("i等于2");break;case 3:System.out.println("i等于3");break;default:System.out.println("i不等于上述条件");break;}} }
-
简单 CASE 语句 - 用于返回基于条件的单个结果。
SELECT column_name,CASEWHEN condition1 THEN result1WHEN condition2 THEN result2ELSE default_resultEND AS new_column_name FROM table_name;
-
搜索 CASE 语句 - 与简单 CASE 语句类似,但是它会在第一个条件为真时停止检查。
SELECT column_name,CASEWHEN condition1 THEN result1ELSE result2END AS new_column_name FROM table_name;
-
CASE 语句在 SELECT 之外 - 可以用于 WHERE 子句或 ORDER BY 子句中。
SELECT column_name FROM table_name WHERE CASE WHEN condition THEN 1 ELSE 0 END = 1;
除了 CASE
语句,SQL 还提供了其他一些有用的语句和功能:
-
UNION 和 UNION ALL - 用于合并两个或多个 SELECT 语句的结果集。
SELECT column_name FROM table1UNION ALLSELECT column_name FROM table2;
-
WITH (公用表表达式,CTE) - 允许你定义一个临时的结果集,可以在查询中引用。
WITH cte_name (column1, column2) AS (SELECT column1, column2 FROM table_name WHERE condition)SELECT * FROM cte_name;
-
SUBQUERY - 一个查询嵌套在另一个查询中。
SELECT column_name FROM table1WHERE column_name IN (SELECT column_name FROM table2 WHERE condition);
-
TRUNCATE - 快速删除表中的所有行,但保留表结构。
TRUNCATE TABLE table_name;
-
EXPLAIN - 显示 SQL 语句的执行计划。
EXPLAIN SELECT * FROM table_name;
-
COMMIT 和 ROLLBACK - 在事务型数据库中,用于提交或回滚事务。
COMMIT; -- 提交事务ROLLBACK; -- 回滚事务
-
LOCK TABLE - 锁定表以进行特定的操作。
LOCK TABLES table_name WRITE;-- 进行操作UNLOCK TABLES;
-
COMMENT - 向 SQL 语句添加注释。
SELECT column_name FROM table_name; -- 这是一个注释