SQLite基础:单表操作
创始人
2024-11-14 17:33:47
0

文章目录

  • 1. 插入查询
  • 2. SELECT查询
  • 3. UPDATE更新查询
  • 4. 删除查询
  • 5. WHERE 子句
  • 6. AND 运算符
  • 7. OR 运算符
  • 8. LIKE 子句(运算符)
  • 9. GLOB子句(运算符)
  • 10. LIMIT 限制
  • 11. ORDER BY 子句
  • 12. GROUP BY 子句
  • 13. HAVING 子句
  • 14. DISTINCT 子句

1. 插入查询

INSERT INTO 语句有两种基本语法:

INSERT INTO TABLE_NAME [(column1, column2, column3,...columnN)] VALUES (value1, value2, value3,...valueN); 

此处,column1、column2、column3、…columnN 指定表中必须插入数据的列的名称。

如果要向表中的所有列添加值,则无需在 SQlite 查询中指定列名称。但是您应该确保值的顺序与表中列的顺序相同。

INSERT INTO TABLE_NAME VALUES (value1,value2,value3,...valueN); 

2. SELECT查询

在 SQLite 数据库中,SELECT 语句用于从表中获取数据。当我们创建一个表并向其中插入一些数据时,我们必须在需要时获取数据。这就是使用选择查询的原因。
查看输出

SELECT * FROM STUDENT; 

3. UPDATE更新查询

在 SQLite 中,UPDATE 查询用于修改表中的现有记录。它与 WHERE 子句一起使用以选择特定行,否则所有行都将被更新。

UPDATE table_name SET column1 = value1, column2 = value2...., columnN = valueN WHERE [condition]; 

实例:

UPDATE STUDENT SET ADDRESS = 'Noida' WHERE ID = 1; 

如果不使用 WHERE 子句,它将修改 STUDENT 表中的所有地址:

UPDATE STUDENT SET ADDRESS = 'Noida'; 

4. 删除查询

在 SQLite 中,DELETE 查询用于从表中删除现有记录。您可以使用它与 WHERE 子句或不使用 WHERE子句。WHERE 子句用于删除特定记录(选定行),否则将删除所有记录。

DELETE FROM table_name WHERE [conditions....................];; 

注意:我们可以在“WHERE”子句中使用 N 个“AND”或“OR”运算符。

DELETE FROM STUDENT WHERE ID = 4; 

如果要删除表中的所有记录,请不要使用 WHERE 子句。

DELETE FROM STUDENT; 

5. WHERE 子句

SQLite WHERE 子句通常与 SELECT、UPDATE 和 DELETE 语句一起使用,以在您从一个表或多个表中获取数据时指定条件。
如果条件满足或为真,则从表中返回特定值。您将使用 WHERE 子句来过滤记录并仅获取必要的记录。
WHERE 子句还用于过滤记录并仅获取特定数据。

SELECT column1, column2, columnN FROM table_name WHERE [condition] 

Note:使用 WHERE 子句和几个比较和逻辑运算符。比如 >、<、=、LIKE、NOT 等。
选择年龄大于或等于 25 且费用大于或等于 10000.00 的学生

SELECT * FROM STUDENT WHERE AGE >= 25 AND FEES >= 10000.00; 

从 STUDENT 表中选择学生,其中姓名以“A”开头与“A”之后的内容无关。

SELECT * FROM STUDENT WHERE NAME LIKE 'A%'; 

从 STUDENT 表中选择年龄为 25 或 27 的所有学生。

SELECT * FROM STUDENT WHERE AGE IN ( 25, 27 ); 

从 STUDENT 表中选择年龄既不是 25 也不是 27 的所有学生。

SELECT * FROM STUDENT WHERE AGE NOT IN ( 25, 27 ); 

6. AND 运算符

SQLite AND 运算符通常与 SELECT、UPDATE 和 DELETE 语句一起使用以组合多个条件。它是一个连接运算符,它在同一 SQLite 语句中与不同的运算符进行多次比较。
它总是与 WHERE 子句一起使用。

SELECT column1, column2, columnN FROM table_name WHERE [condition1] AND [condition2]...AND [conditionN]; 

从“学生”表中选择年龄大于或等于 25 且费用大于或等于 20000.00 的所有学生

SELECT * FROM STUDENT WHERE AGE >= 25 AND FEES >= 15000; 

7. OR 运算符

SQLite OR 运算符通常与 SELECT、UPDATE 和 DELETE 语句一起使用以组合多个条件。OR 运算符始终与 WHERE 子句一起使用,如果两个条件中的任何一个为真,则假定完整条件为真。

SELECT column1, column2, columnN FROM table_name WHERE [condition1] OR [condition2]...OR [conditionN] 

从“学生”表中选择所有学生,其中年龄大于或等于 25 岁或费用大于或等于 15000.00

SELECT * FROM STUDENT WHERE AGE >= 25 OR FEES >= 15000; 

8. LIKE 子句(运算符)

LIKE 运算符用于使用通配符将文本值与模式进行匹配。在搜索表达式与模式表达式匹配的情况
下,LIKE 运算符将返回 true,即 1。
有两个通配符与 LIKE 运算符结合使用:

  • 百分号 (%)
  • 下划线 (_)
    百分号代表零、一或多个数字或字符。下划线代表单个数字或字符。
陈述描述
Where FEES like ‘200%’它将查找以 200 开头的任何值。
Where FEES like ‘%200%’它将查找在任何位置具有 200 的任何值。
Where FEES like ‘_00%’它将找到任何在第二个和第三个位置具有 00 的值。
Where FEES like ‘2%%’它将查找任何以 2 开头且长度至少为 3 个字符的值。
Where FEES like ‘%2’它将找到任何以 2 结尾的值
Where FEES like ‘_2%3’它将找到任何在第二个位置有 2 并以 3 结尾的值
Where FEES like ‘2___3’它将查找以 2 开头并以 3 结尾的五位数字中的任何值

9. GLOB子句(运算符)

SQLite GLOB 运算符使用通配符仅将文本值与模式匹配。当搜索表达式与模式表达式匹配时,GLOB 运算符将返回 true,即 1。
GLOB 运算符遵循 UNIX 的语法来指定以下通配符。

  • 星号 (*):此符号代表零个或多个数字或字符
  • 问号 (?):此符号代表单个数字或字符。
陈述描述
WHERE FEES GLOB ‘200*’查找任何以 200 开头的值
WHERE FEES GLOB ‘200’查找在任何位置具有 200 的任何值
WHERE FEES GLOB ‘?00*’查找第二个和第三个位置为 00 的任何值
WHERE FEES GLOB ‘2??’查找任何以 2 开头且长度至少为 3 个字符的值
WHERE FEES GLOB’*2’查找任何以 2 结尾的值
WHERE FEES GLOB ‘?2*3’查找第二个位置为 2 并以 3 结尾的任何值
WHERE FEES GLOB ‘2???3’查找以 2 开头并以 3 结尾的五位数字中的任何值
SELECT * FROM STUDENT WHERE FEES GLOB '2*'; 

10. LIMIT 限制

SQLite LIMIT 子句用于限制 SELECT 命令从表中获取的数据量,比如5个。
LIMIT 子句也可以与 OFFSET 子句一起使用。

SELECT column1, column2, columnN FROM table_name LIMIT [no of rows]  SELECT column1, column2, columnN FROM table_name LIMIT [no of rows] OFFSET [row num] 

OFFSET 用于不从表中检索偏移记录。它用于某些情况下,我们必须从某个点开始检索记录:
选择3条形式表“学生”从3开始第三的位置。

SELECT * FROM STUDENT LIMIT 3 OFFSET 2; 

11. ORDER BY 子句

SQLite ORDER BY 子句用于根据一列或多列以升序或降序对获取的数据进行排序。
可以在 ORDER BY 子句中使用一列或多列。您使用的列必须出现在列列表中。

SELECT column-list FROM table_name [WHERE condition] [ORDER BY column1, column2, .. columnN] [ASC | DESC 

从“STUDENT”中选择所有记录,其中 FEES 按升序排列:

SELECT * FROM STUDENT ORDER BY FEES ASC; 

从“STUDENT”表中获取所有数据,并按 NAME 和 FEES 对结果进行降序排序:

SELECT * FROM STUDENT ORDER BY NAME, FEES DESC; 

相对第一项进行排序,然后在单个序列中再排序。

12. GROUP BY 子句

SQLite GROUP BY 子句与 SELECT 语句一起使用以将相同的相同元素协作成组。
GROUP BY 子句与 SELECT 语句中的 WHERE 子句一起使用,并位于 ORDER BY 子句之前。

SELECT column-list FROM table_name WHERE [ conditions ] GROUP BY column1, column2....columnN ORDER BY column1, column2....columnN 

使用 GROUP BY 查询了解每个学生的 FEES 总额:

SELECT NAME, SUM(FEES) FROM STUDENT GROUP BY NAME; 

13. HAVING 子句

SQLite HAVING 子句用于指定过滤哪些组结果出现在最终结果中的条件。
WHERE 子句在选定的列上放置条件,而 HAVING 子句在由 GROUP BY 子句创建的组上放置条件。

SELECT column1, column2 FROM table1, table2 WHERE [ conditions ] GROUP BY column1, column2 HAVING [ conditions ] ORDER BY column1, column2 

显示名称计数小于 2 的所有记录:

SELECT * FROM STUDENT GROUP BY NAME HAVING COUNT(NAME) < 2; 

14. DISTINCT 子句

SQLite DISTINCT 子句与 SELECT 语句一起使用以消除所有重复记录并仅获取唯一记录。
当表中有多个重复记录时使用它。

SELECT DISTINCT column1, column2,.....columnN FROM table_name WHERE [condition] 

从“STUDENT”中选择 NAME:

SELECT DISTINCT NAME FROM STUDENT; 

相关内容

热门资讯

黑科技辅助挂(智星德州)外挂软... 黑科技辅助挂(智星德州)外挂软件透明挂(ai代打)果然真的有挂(2023已更新)(小红书)1、用户打...
aapoker辅助工具(来玩德... aapoker辅助工具(来玩德州app)德扑之星好牌(辅助挂)都是真的有挂(有挂外挂)-今日头条1、...
7分钟理解!德扑之星可以设置埋... 7分钟理解!德扑之星可以设置埋牌(软件透明挂)外挂透明挂辅助脚本(2024已更新)(今日头条)德扑之...
透明辅助挂(wEpoKe)外挂... 透明辅助挂(wEpoKe)外挂辅助APP(智能ai代打)原来真的有挂(2023已更新)(微博客户端)...
微扑克游戏辅助器(德州wepo... 微扑克游戏辅助器(德州wepower)hm3德州辅助怎么购买(透明黑科技)好像真的有挂(有挂机器人)...
七分钟了解!wpk有辅助挂(黑... 七分钟了解!wpk有辅助挂(黑科技)外挂透明挂辅助APP(2025已更新)(今日头条)1、下载好wp...
透明辅助挂(AAPOKeR)外... 透明辅助挂(AAPOKeR)外挂辅助工具(智能ai代打)本来真的有挂(2025已更新)(今日头条);...
德州之星辅助(扑克王)德扑手机... 德州之星辅助(扑克王)德扑手机上算胜率的软件(透明黑科技)总是真的有挂(有挂app)-抖音一、德州之...
四分钟实锤!德州ai辅助代理(... 四分钟实锤!德州ai辅助代理(透视)外挂透明挂辅助安装(2021已更新)(小红书);1、许多玩家不知...
wpk辅助(poker mas... wpk辅助(poker master安卓版)软件透明挂辅助APP(透视辅助)果真真的有挂(2020已...