1. 关键词 DISTINCT 用于返回唯一不同的值
select distinct 列名称 from 表名称;
2. where
select 列名称 from 表名称 where 列 运算符 值;
运算符 描述
= 等于
<> 不等于
> 大于
< 小于
>= 大于等于
<= 小于等于
BETWEEN 在某个范围内
LIKE 搜索某种模式
注释:在某些版本的 SQL 中,操作符 <> 可以写为 !=。
3. and / or
4. order by
5. 降序
order by XXX desc;
6. update
update 表名称 set 列名称 = 新值 where 列名称 = 某值;
7. limit
8. like
现在,我们希望从上面的 "Persons" 表中选取居住在以 "N" 开始的城市里的人:
我们可以使用下面的 SELECT 语句:
SELECT * FROM Persons
WHERE City LIKE 'N%'
提示:"%" 可用于定义通配符(模式中缺少的字母)。
9. 通配符
通配符 描述
% 替代一个或多个字符
_ 仅替代一个字符
[charlist] 字符列中的任何单一字符
[^charlist] 不在字符列中的任何单一字符
[!charlist] 不在字符列中的任何单一字符
10. IN
SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1,value2,...)
11. between
SELECT column_name(s)
FROM table_name
WHERE column_name
BETWEEN value1 AND value2
12. alias
表取别名:
SELECT column_name(s)
FROM table_name
AS alias_name
列取别名
SELECT column_name AS alias_name
FROM table_name
13. join
select us.name dt.pos from table_user as us inner join detail as dt on us.id = dt.id;
inner join/ left join/ right join/ full join
14. union
UNION 操作符用于合并两个或多个 SELECT 语句的结果集。
请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。
SELECT column_name(s) FROM table_name1
UNION
SELECT column_name(s) FROM table_name2
SELECT column_name(s) FROM table_name1
UNION ALL
SELECT column_name(s) FROM table_name2
select * from table_user union all select * from table_user;
15. select into (sqlite not support)
SELECT INTO 语句从一个表中选取数据,然后把数据插入另一个表中
SELECT column_name(s)
INTO new_table_name [IN externaldatabase]
FROM old_tablename
16. constraint
•NOT NULL
•unique
•primary key
•foreign key
•check
•default
CREATE TABLE Orders
(
Id_O int NOT NULL,
OrderNo int NOT NULL,
Id_P int,
PRIMARY KEY (Id_O),
FOREIGN KEY (Id_P) REFERENCES Persons(Id_P)
)
CREATE TABLE Persons
(
Id_P int NOT NULL CHECK (Id_P>0),
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)
17. index
CREATE INDEX index_name
ON table_name (column_name)
CREATE UNIQUE INDEX index_name
ON table_name (column_name)
18. alter
ALTER TABLE table_name
ADD column_name datatype
(sqlite 不支持删除, 可以采用复制表数据后 rename 表)
ALTER TABLE table_name
DROP COLUMN column_name
注释:某些数据库系统不允许这种在数据库表中删除列的方式 (DROP COLUMN column_name)。
要改变表中列的数据类型,请使用下列语法:
ALTER TABLE table_name
ALTER COLUMN column_name datatype
19. auto-increment
CREATE TABLE Persons
(
P_Id int NOT NULL AUTO_INCREMENT,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
PRIMARY KEY (P_Id)
)
20. date
sqlite date()