1.SQL ORDER BY 关键字
ORDER BY 关键字用于对结果集按照一个列或者多个列进行排序。
ORDER BY 关键字默认按照升序对记录进行排序。如果需要按照降序对记录进行排序,您可以使用 DESC 关键字
SQL ORDER BY 语法
SELECT column_name,column_name
FROM table_name
ORDER BY column_name1,column_name2 ASC|DESC;
–ASC表示升序,DESC表示降序
–使用order by语句时应放在所有语句的最后使用,并且排序多个列时先排column_name1再column_name2…
2.删除所有数据(delete和drop table)
您可以在不删除表的情况下,删除表中所有的行。这意味着表结构、属性、索引将保持不变:DELETE FROM table_name;
或
DELETE * FROM table_name;
注释:在删除记录时要格外小心!因为您不能重来!
DROP TABLE 语句
DROP TABLE 语句用于删除表。DROP TABLE table_name
注释:与delete不同的是drop table 会删除表数据和结果,也是不可逆的!
DROP DATABASE 语句
DROP DATABASE 语句用于删除数据库。DROP DATABASE database_name
TRUNCATE TABLE 语句
如果我们仅仅需要删除表内的数据,但并不删除表本身,那么我们该如何做呢?
请使用 TRUNCATE TABLE 语句:TRUNCATE TABLE table_name
3.SQL JOIN
SQL join 用于把来自两个或多个表的行结合起来。
下图展示了 LEFT JOIN、RIGHT JOIN、INNER JOIN、OUTER JOIN 相关的 7 种用法。
- INNER JOIN:如果表中有至少一个匹配,则返回行(INNER JOIN 与 JOIN 是相同的)
- LEFT JOIN:即使右表中没有匹配,也从左表返回所有的行
- RIGHT JOIN:即使左表中没有匹配,也从右表返回所有的行
- FULL JOIN:只要其中一个表中存在匹配,则返回行
注释:SQL中的join语句其实对应数据库理论中的连接概念,left join、right join和inner join对应自然连接,full join对应笛卡尔积
4.SQL 约束(Constraints)
1
2
3
4
5
6
7
8
9
CREATE TABLE table_name
(
column_name1 data_type(size) constraint_name,
column_name2 data_type(size) constraint_name,
column_name3 data_type(size) constraint_name,
....
);
- NOT NULL – 指示某列不能存储 NULL 值。
- UNIQUE – 保证某列的每行必须有唯一的值。(一个表可以有多个UNIQUE约束但只能有一个primary key,primary key自动包含unique约束)
- PRIMARY KEY – NOT NULL 和 UNIQUE 的结合。确保某列(或两个列多个列的结合)有唯一标识,有助于更容易更快速地找到表中的一个特定的记录。(主键)
- FOREIGN KEY – 保证一个表中的数据匹配另一个表中的值的参照完整性。(外键)
- CHECK – 保证列中的值符合指定的条件。
- DEFAULT – 规定没有给列赋值时的默认值。
5.AUTO INCREMENT 字段
我们通常希望在每次插入新记录时,自动地创建主键字段的值。
我们可以在表中创建一个 auto-increment 字段。
下面的 SQL 语句把 “Persons” 表中的 “ID” 列定义为 auto-increment 主键字段:CREATE TABLE Persons
1
2
3
4
5
6
7
8
9
(
ID int IDENTITY(1,1) PRIMARY KEY,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)
在上面的实例中,IDENTITY 的开始值是 1,每条新记录递增 1。
提示:要规定 “ID” 列以 10 起始且递增 5,请把 identity 改为 IDENTITY(10,5)。
要在 “Persons” 表中插入新记录,我们不必为 “ID” 列规定值(会自动添加一个唯一的值):
1
2
3
4
INSERT INTO Persons (FirstName,LastName)
VALUES ('Lars','Monsen')
上面的 SQL 语句会在 “Persons” 表中插入一条新记录。”ID” 列会被赋予一个唯一的值。”FirstName” 列会被设置为 “Lars”,”LastName” 列会被设置为 “Monsen”。