前言:SQL(Structured Query Language)是用于管理关系型数据库的标准语言,广泛应用于数据查询、更新、定义和管理等操作。本文将为你提供一份详细的 SQL 速查手册,涵盖从基础到高级的各种 SQL 操作,帮助你快速掌握和应用 SQL 技能。
SELECT column1, column2 FROM table_name;
SELECT
:指定要查询的列。FROM
:指定要查询的表。SELECT * FROM table_name;
*
:表示选择表中的所有列。SELECT column1, column2 FROM table_name WHERE condition;
WHERE
:用于过滤记录,只返回满足条件的行。SELECT name, salary FROM employees WHERE salary > 50000;
SELECT column1, column2 FROM table_name WHERE column LIKE 'pattern';
LIKE
:用于模糊匹配。%
:表示任意数量的字符。_
:表示任意单个字符。SELECT name FROM employees WHERE name LIKE 'A%';
(查找以 A 开头的名字)SELECT column1, column2 FROM table_name ORDER BY column1 ASC/DESC;
ORDER BY
:用于对结果集进行排序。ASC
:升序(默认)。DESC
:降序。SELECT name, salary FROM employees ORDER BY salary DESC;
INSERT INTO table_name (column1, column2) VALUES (value1, value2);
INSERT INTO employees (name, salary) VALUES ('John Doe', 60000);
UPDATE table_name SET column1 = value1, column2 = value2 WHERE condition;
UPDATE employees SET salary = 65000 WHERE name = 'John Doe';
DELETE FROM table_name WHERE condition;
DELETE FROM employees WHERE name = 'John Doe';
SELECT SUM(column) FROM table_name;
SELECT SUM(salary) FROM employees;
SELECT AVG(column) FROM table_name;
SELECT AVG(salary) FROM employees;
SELECT MAX(column) FROM table_name;
SELECT MIN(column) FROM table_name;
SELECT MAX(salary) FROM employees;
SELECT COUNT(*) FROM table_name;
SELECT COUNT(*) FROM employees;
SELECT column, AGG_FUNCTION(column) FROM table_name GROUP BY column;
SELECT department, AVG(salary) FROM employees GROUP BY department;
SELECT table1.column, table2.column FROM table1 INNER JOIN table2 ON table1.common_column = table2.common_column;
SELECT employees.name, departments.department_name FROM employees INNER JOIN departments ON employees.department_id = departments.id;
SELECT table1.column, table2.column FROM table1 LEFT JOIN table2 ON table1.common_column = table2.common_column;
SELECT employees.name, departments.department_name FROM employees LEFT JOIN departments ON employees.department_id = departments.id;
SELECT table1.column, table2.column FROM table1 RIGHT JOIN table2 ON table1.common_column = table2.common_column;
SELECT table1.column, table2.column FROM table1 FULL JOIN table2 ON table1.common_column = table2.common_column;
CREATE VIEW view_name AS SELECT column1, column2 FROM table_name WHERE condition;
CREATE VIEW high_salary_employees AS SELECT name, salary FROM employees WHERE salary > 50000;
SELECT * FROM view_name;
DROP VIEW view_name;
CREATE TABLE table_name (
column1 datatype,
column2 datatype,
...
);
CREATE TABLE employees (id INT, name VARCHAR(50), salary DECIMAL(10,2));
ALTER TABLE table_name ADD column datatype;
ALTER TABLE table_name DROP COLUMN column_name;
ALTER TABLE table_name RENAME COLUMN old_name TO new_name;
ALTER TABLE employees ADD email VARCHAR(100);
DROP TABLE table_name;
单表查询是最基础的查询操作,用于从单个表中提取数据。常见操作包括:
SELECT * FROM table_name;
SELECT column FROM table_name WHERE condition;
SELECT column FROM table_name ORDER BY column;
多表查询用于从多个表中提取数据,通常通过连接(JOIN)实现。常见连接类型包括:
SELECT column FROM table1 UNION SELECT column FROM table2;
UNION
:合并两个查询结果,去除重复行。SELECT column FROM table1 UNION ALL SELECT column FROM table2;
SELECT column FROM table1 INTERSECT SELECT column FROM table2;
SELECT column FROM table1 EXCEPT SELECT column FROM table2;
SELECT column FROM table1 WHERE column IN (SELECT column FROM table2);
SELECT column FROM table1 WHERE column > (SELECT AVG(column) FROM table2);
SELECT column FROM (SELECT column FROM table1 WHERE condition) AS subquery;
数据操作包括插入、更新和删除数据:
INSERT INTO table_name (columns) VALUES (values);
UPDATE table_name SET column = value WHERE condition;
DELETE FROM table_name WHERE condition;
数据定义用于创建、修改和删除数据库对象:
CREATE TABLE table_name (columns);
ALTER TABLE table_name ...;
DROP TABLE table_name;
CREATE PROCEDURE procedure_name AS
BEGIN
SQL statements;
END;
CREATE INDEX index_name ON table_name (column);
DROP INDEX index_name;
BEGIN TRANSACTION;
SQL statements;
COMMIT;
ROLLBACK;
CREATE TRIGGER trigger_name
ON table_name
AFTER INSERT/UPDATE/DELETE
AS
BEGIN
SQL statements;
END;
SQL 是一种功能强大的语言,可以帮助你高效地管理和操作数据。通过掌握上述内容,你将能够应对大多数常见的数据库操作需求。无论是初学者还是有经验的开发者,这份速查手册都能为你提供快速参考和实用指导。希望这份手册对你有所帮助!