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; 

相关内容

热门资讯

透视数据(WePoKer)we... 透视数据(WePoKer)wepoker脚本(透视)好像是有挂(扑克教程)1、不需要AI权限,帮助你...
透视插件"poker... 透视插件"poker world辅助器"好像存在有挂(透视)新2025版(有挂解说)暗藏猫腻,小编详...
透视私人局!约局吧辅助器,往昔... 透视私人局!约局吧辅助器,往昔存在有挂(透视)必胜教程(有挂工具)1、任何约局吧辅助器ai辅助神器的...
透视计算!aapoker脚本怎... 透视计算!aapoker脚本怎么用(透视)真的假的(总是是有挂)1)aapoker脚本怎么用辅助挂:...
透视美元局(wepoker)w... 透视美元局(wepoker)wepoker祈福有用吗(透视)原来存在有挂(AI教程);小薇(透视辅助...
透视脚本"智星菠萝透... 透视脚本"智星菠萝透视"好像是有挂(透视)必备教程(有挂详情)1、金币登录送、破产送、升级送、活动送...
透视黑科技!wepoker辅助... 透视黑科技!wepoker辅助器安装包,素来有挂(透视)透明挂教程(有挂插件)1、玩家可以在wepo...
透视好友房(WePoKer)w... 透视好友房(WePoKer)wepoker轻量版透视系统(透视)确实真的是有挂(攻略方法)1、透视好...
透视透视!aapoker透视脚... 透视透视!aapoker透视脚本入口(透视)发牌逻辑(总是是真的有挂)1、aapoker透视脚本入口...
透视最新!wepokerplu... 透视最新!wepokerplus透视脚本免费,总是有挂(透视)攻略教程(有挂介绍)1、不需要AI权限...