【数据结构】常用SQL总结
2018-04-17
SELECT
1 | SELECT DISTINCT 列名称 FROM 表名称 |
ORDER BY
ORDER BY 语句用于根据指定的列对结果集进行排序。(DECS为逆序)
1 | SELECT Company, OrderNumber FROM Orders ORDER BY Company DESC |
INSERT
1 | INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....) |
UPDATE
1 | UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值 |
DELETE
1 | DELETE FROM 表名称 WHERE 列名称 = 值 |
TOP
TOP 子句用于规定要返回的记录的数目。
1 | SELECT TOP 2 * FROM Persons |
LIKE
LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。
1 | SELECT * FROM Persons |
IN
IN 操作符允许我们在 WHERE 子句中规定多个值。
1 | SELECT * FROM Persons |
JOIN
1 | SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo |
JOIN 类型,以及它们之间的差异。
- JOIN: 如果表中有至少一个匹配,则返回行
- LEFT JOIN: 即使右表中没有匹配,也从左表返回所有的行
- RIGHT JOIN: 即使左表中没有匹配,也从右表返回所有的行
- FULL JOIN: 只要其中一个表中存在匹配,就返回行
UNION 和 UNION ALL
1 | 列出所有在中国和美国的不同的雇员名: |
SELECT INTO
从一个表中选取数据,然后把数据插入另一个表中。
SELECT INTO 语句常用于创建表的备份复件或者用于对记录进行存档。
1 | SELECT * |
IN 子句可用于向另一个数据库中拷贝表:
1 | SELECT * |
如果我们希望拷贝某些域,可以在 SELECT 语句后列出这些域:
1 | SELECT LastName,FirstName |
创建数据库
1 | CREATE DATABASE database_name |
创建表
1 | CREATE TABLE 表名称 |
SQL约束
NOT NULL 约束强制列不接受 NULL 值。
UNIQUE 约束唯一标识数据库表中的每条记录。
UNIQUE 和 PRIMARY KEY 约束均为列或列集合提供了唯一性的保证。
PRIMARY KEY 拥有自动定义的 UNIQUE 约束。
每个表可以有多个 UNIQUE 约束,但是每个表只能有一个 PRIMARY KEY 约束。
PRIMARY KEY
1 | PRIMARY KEY (Id_P) |
FOREIGN KEY
一个表中的 FOREIGN KEY 指向另一个表中的 PRIMARY KEY。
1 | FOREIGN KEY (Id_P) REFERENCES Persons(Id_P) |
CHECK 约束
用于限制列中的值的范围。
1 | CHECK (Id_P>0) //创建表时限制 |
CREATE INDEX 语句用于在表中创建索引。
1 | CREATE INDEX index_name |
Auto-increment 会在新记录插入表中时生成一个唯一的数字。
ALTER TABLE
1 | ALTER TABLE table_name |