SQLite常用语句

2017-05-22  本文已影响71人  东健FO_OF

建表:
CREATE TABLE 表名称 (列名称1 数据类型,列名称2 数据类型,列名称3 数据类型)

** SELECT语句**
下面以名字叫做** Persons**的表为例:
1、从“ Persons”表中选取 LastName 列的数据:
SELECT LastName FROM Persons

2、获取名为 "LastName" 和 "FirstName" 的列的内容
SELECT LastName,FirstName FROM Persons

3、“ Persons”表中选取所有的列
SELECT * FROM Persons【星号(*)是选取所有列的快捷方式。】

4、“ Persons”表中获取“ Company”列所有不重复【相同数据只统计一次】的数据
SELECT DISTINCT Company FROM Persons

插入语句【增】:INSERT INTO 表名称 VALUES (值1, 值2,....)
1、向“ Persons”表中插入一条数据
INSERT INTO Persons VALUES ('Gates', 'Bill', 'Xuanwumen 10', 'Beijing')

2、向“ Persons”表指定列中插入一条数据
INSERT INTO Persons (列1, 列2,...) VALUES (值1, 值2,....)

删除语句【删】:DELETE FROM 表名称 WHERE 列名称 = 值
1、在“ Person”表中删除LastName列值为'Wilson'的行
DELETE FROM Person WHERE LastName = 'Wilson'

2、删除所有行【清空“ Person”表,但是保留表结构、属性和索引】
DELETE FROM Person 或者 DELETE * FROM Person

修改语句【改】:UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值

1、更新“ Person”中“ LastName”为'Wilson',并将其“ FirstName”列的值改为'Fred'
UPDATE Person SET FirstName = 'Fred' WHERE LastName = 'Wilson'

2、更新“ Person”中“ LastName”为'Wilson'行中,Address以及City列的值修改为'Zhongshan 23','Nanjing'
UPDATE Person SET Address = 'Zhongshan 23', City = 'Nanjing'
WHERE LastName = 'Wilson'

查询语句【查】:【SELECT 列名称 FROM 表名称 WHERE 列 运算符 值】
首先认识一下运算符:【= 等于】、【<> 不等于 】、【> 大于】、【< 大于】、【>= 大于等于】、【<= 小于等于】、【BETWEEN 在某个范围内】、【LIKE 类似某种模式】。注释:在某些版本的 SQL 中,操作符 <> 可以写为 !=。

1、只希望在“Persions”表中选取居住在城市 "Beijing" 中的人
SELECT * FROM Persons WHERE City='Beijing'

注意:SQL 使用单引号来环绕文本值(大部分数据库系统也接受双引号)。如果是数值,请不要使用引号。

多条件查询语句【查】:【AND 和 OR 运算符】:
AND 和 OR 可在 WHERE 子语句中把两个或多个条件结合起来。
如果第一个条件和第二个条件都成立,则 AND 运算符显示一条记录。
如果第一个条件和第二个条件中只要有一个成立,则 OR 运算符显示一条记录。
1、使用 AND 来显示所有姓为 "Carter" 并且名为 "Thomas" 的人:
SELECT * FROM Persons WHERE FirstName='Thomas' AND LastName='Carter'

2、使用 OR 来显示所有姓为 "Carter" 或者名为 "Thomas" 的人:
SELECT * FROM Persons WHERE firstname='Thomas' OR lastname='Carter'

3、我们也可以把 AND 和 OR 结合起来(使用圆括号来组成复杂的表达式):
SELECT * FROM Persons WHERE (FirstName='Thomas' OR FirstName='William')
AND LastName='Carter'
注释:表示搜索“ Persons”表中姓为'Thomas'或者'William' 并且名为'Carter'的人

排序:【ORDER BY 】
ORDER BY 语句用于根据指定的列对结果集进行排序【默认按照升序】。
如果您希望按照降序对记录进行排序,可以使用 DESC 关键字。
1、在“ ORDER”表中,以“ Company”字母顺序显示公司名称:
SELECT Company, OrderNumber FROM Orders ORDER BY Company

2、以逆字母顺序显示公司名称:
SELECT Company, OrderNumber FROM Orders ORDER BY Company ** DESC**

3、以字母顺序显示公司名称(Company),并以数字顺序显示顺序号(OrderNumber):
SELECT Company, OrderNumber FROM Orders ORDER BY Company, OrderNumber

模糊查询【查】
首先了解一下SQL通配符:
【% 替代一个或多个字符】、【_ 仅替代一个字符】、【[charlist] 字符列中的任何单一字符】、【[^charlist] 或者 [!charlist] 不在字符列中的任何单一字符】
1、 "Persons" 表中选取居住在城市名称以 "Ne" 开始的人
SELECT * FROM Persons WHERE City LIKE 'Ne%'

2、 "Persons" 表中选取居住在包含 "lond" 的城市里的人
SELECT * FROM Persons WHERE City LIKE '%lond%'

3、"Persons" 表中选取名字的第一个字符之后是 "eorge" 的人
SELECT * FROM Persons WHERE FirstName LIKE '_eorge'

4、"Persons" 表中选取的这条记录的姓氏以 "C" 开头,然后是一个任意字符,然后是 "r",然后是任意字符,然后是 "er"
SELECT * FROM Persons WHERE LastName LIKE 'C_r_er'

** [charlist] 示例**
5、"Persons" 表中选取居住的城市以 "A" 或 "L" 或 "N" 开头的人
SELECT * FROM Persons WHERE City LIKE '[ALN]%'

6、 "Persons" 表中选取居住的城市不以 "A" 或 "L" 或 "N" 开头的人
SELECT * FROM Persons WHERE City LIKE '[!ALN]%'

注: [charlist] 格式类似正则表达式的用法,有兴趣可以看下这里的正则表达式教程

就先写这么多吧,我平时用到的也不多,而且现在准备转战苹果封装的SQLite----->CoreData了😁

另外补充一点:SQL 对大小写不敏感!也就是‘ SELECT’ 和 ‘select’ 是一样的,但是和‘sELect’是不是一样的我就不清楚了,没试过,你可以试一下,你开心就好🤔

上一篇下一篇

猜你喜欢

热点阅读