SQL:常用sql语句小结
-
SELECT 语法
注释:SQL 语句对大小写不敏感。SELECT 等效于 select。SELECT 列名称 FROM 表名称 或 SELECT * FROM 表名称 SELECT LastName,FirstName FROM Person
-
SELECT DISTINCT 语句
在表中,可能会包含重复值。这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值。关键词 DISTINCT 用于返回唯一不同的值。
语法:SELECT DISTINCT 列名称 FROM 表名称
-
WHERE 子句用于规定选择的标准:如需有条件地从表中选取数据,可将 WHERE 子句添加到 SELECT 语句。
语法SELECT 列名称 FROM 表名称 WHERE 列 运算符 值
操作符 描述 = 等于 != 不等于 > 大于 < 小于 >= 大于等于 <= 小于等于 BETWEEN 在某个范围内 LIKE 搜索某种模式 例子:
SELECT * FROM Persons WHERE LastName BETWEEN 'Adams' AND 'Carter'
引号的使用
SQL 使用单引号来环绕文本值(大部分数据库系统也接受双引号)。如果是数值,不要使用引号。-
文本值:
这是正确的: SELECT * FROM Persons WHERE FirstName='Bush' 这是错误的: SELECT * FROM Persons WHERE FirstName=Bush
-
数值:
这是正确的: SELECT * FROM Persons WHERE Year>1965 这是错误的: SELECT * FROM Persons WHERE Year>'1965'
-
-
AND 和 OR 运算符用于基于一个以上的条件对记录进行过滤。
AND 和 OR 可在 WHERE 子语句中把两个或多个条件结合起来。
AND: 所有条件成立,则筛选出这条记录。
OR: 只要其中一个条件成立,则筛选出这条记录。
-
ORDER BY 语句用于对结果集进行排序(默认按照
升序
对记录进行排序)。
例子:SELECT Company, OrderNumber FROM Orders ORDER BY Company DESC, OrderNumber ASC
-
INSERT INTO 语句用于向表格中插入新的行。
语法INSERT INTO 表名称 VALUES (值1, 值2,....) INSERT INTO Persons VALUES ('Gates', 'Bill', 'Xuanwumen 10', 'Beijing')
我们也可以指定所要插入数据的列:
INSERT INTO 表名称 (列1, 列2,...) VALUES (值1, 值2,....) INSERT INTO Persons (LastName, Address) VALUES ('Wilson', 'Champs-Elysees')
-
Update 语句用于修改表中的数据。
语法:UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值
例1:更新某一行中的一个列
为 lastname 是 "Wilson" 的人添加 firstname: UPDATE Person SET FirstName = 'Fred' WHERE LastName = 'Wilson'
例2:更新某一行中的若干列
修改LastName为Wilson的地址(address),并添加城市名称(city): UPDATE Person SET Address = 'Zhongshan 23', City = 'Nanjing' WHERE LastName = 'Wilson'
-
DELETE 语句用于删除表中的行。
语法DELETE FROM 表名称 WHERE 列名称 = 值
例1:删除某行
DELETE FROM Person WHERE LastName = 'Wilson'
例2:删除所有行,在不删除表的情况下删除所有的行。这意味着表的结构、属性和索引都是完整的。
DELETE FROM 表名称 或者: DELETE * FROM 表名称
-
LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。"%" 可用于定义通配符(模式中缺少的字母)。
例子:1、从 "Persons" 表中选取居住在以 "N" 开始的城市里的人: SELECT * FROM Persons WHERE City LIKE 'N%' 2、从 "Persons" 表中选取居住在以 "g" 结尾的城市里的人: SELECT * FROM Persons WHERE City LIKE '%g' 3、从 "Persons" 表中选取居住在包含 "lon" 的城市里的人: SELECT * FROM Persons WHERE City LIKE '%lon%' 4、使用 NOT 关键字,我们可以从 "Persons" 表中选取居住在不包含 "lon" 的城市里的人: SELECT * FROM Persons WHERE City NOT LIKE '%lon%'
-
通配符
通配符 描述 % 替代一个或多个字符 _ 仅替代一个字符 [charlist] 字符列中的任何单一字符 [^charlist] 或 [!charlist] 不在字符列中的任何单一字符
-
IN 操作符允许我们在 WHERE 子句中规定多个值。
语法
例子:从上表中选取姓氏为 Adams 和 Carter 的人:SELECT column_name(s) FROM 表名称 WHERE column_name IN (value1,value2,...)
SELECT * FROM Persons WHERE LastName IN ('Adams','Carter')
-
PRIMARY KEY 约束
PRIMARY KEY 约束唯一标识数据库表中的每条记录。主键必须包含唯一的值。主键列不能包含 NULL 值。每个表有且只能有一个主键。
-
NOT NULL 约束
NOT NULL 约束强制列不接受 NULL 值。NOT NULL 约束强制字段始终包含值。这意味着,如果不向字段添加值,就无法插入新记录或者更新记录。
-
DEFAULT 约束
DEFAULT 约束用于向列中插入默认值。如果没有规定其他的值,那么会将默认值添加到所有的新记录。
CREATE TABLE IF NOT EXISTS Person ( id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, LastName TEXT NOT NULL, FirstName TEXT, Age INTEGER DEFAULT 8, Address TEXT, )
-
DROP 语句,可以轻松地删除索引、表和数据库。
- DROP TABLE 语句用于删除表(表的结构、属性以及索引也会被删除):
DROP TABLE IF EXISTS 表名称
- DROP DATABASE 语句用于删除数据库:
DROP DATABASE 数据库名称
- DROP TABLE 语句用于删除表(表的结构、属性以及索引也会被删除):
-
ALTER TABLE 语句用于在已有的表中添加、修改或删除列。
-
在表中添加列
ALTER TABLE 表名称 ADD column_name datatype
例子:
ALTER TABLE Persons ADD Birthday date
-
删除表中的列
ALTER TABLE 表名称 DROP COLUMN column_name
-
改变表中列的数据类型
ALTER TABLE 表名称 ALTER COLUMN column_name datatype
-
后记
以上参考自w3school,十分感谢平台惊心整理的资料供网友免费学习。