所有的 SQL 语句都是以分号结尾的,SQL 语句不区分大小写。两个减号“ - - ”则代表注释
SQLite 具有以下五种基本数据类型:
1、integer:带符号的整型(最多 64 位)
2、real:8 字节表示的浮点类型
3、text:字符类型,支持多种编码(如 UTF-8、UTF-16),大小无限制
4、blob:任意类型的数据,大小无限制。 BLOB(binary large object)二进制大对象,使用二进制保存数据
5、null:表示空值

1.创建、打开数据库

sqlite3 *.db

当*.db 文件不存在时,sqlite 会创建并打开数据库文件。
当*.db 文件存在时,sqlite 会打开数据库文件。

2.退出数据库

.quit 或 .exit

3.创建表

create table 表名称(列名称1 数据类型,列名称2 数据类型, …);

  • 设置主键
    create table 表名称 (列名称 1 数据类型 primary key, 列名称 2 数据类型, …);

4.查看表

.table 或 .tables

  • 查看数据表的结构:.schema[表名] 或 .schema
    SQlite命令及语句SQlite命令及语句

5.修改表

在已有的表中添加或删除列以及修改表名
sqlite3 不支持删除列

  • 添加列
    alter table 表名 add 列名 数据类型;
    SQlite命令及语句
  • 修改表名
    alter table 表名 rename to 新表名;
    SQlite命令及语句

6.删除表

用于删除表,表的结构、属性以及表的索引也会被删除

drop table 表名称;
SQlite命令及语句

7.插入新行

insert into 表名 values (列值 1, 列值 2, 列值 3,列值 4, …);

列值为字符串时要加上 ‘ ’ 号

8.插入部分数据

insert into 表名 (列名 1, 列名 2, …) values (列值 1, 列值 2, …);
SQlite命令及语句

9.修改表中的数据

update 表名 set 列 1 = 值 1[, 列 2 = 值 2 , … ] [匹配条件];

使用 where 根据匹配条件,查找一行或多行,根据查找的结果修改表中相应行的列值(修改哪一列由列名指定)

where 列名 操作符 列值
SQlite命令及语句where 子句用于规定匹配的条件:

操作符 描述
= 等于
<> 不等于
> 大于
< 小于
>= 大于等于
<= 小于等于

#注意#
当表中有多列、多行符合匹配条件时会修改相应的多行。
当匹配条件为空时则匹配所有。

10.删除表中数据

delete from 表名 [匹配条件];
SQlite命令及语句
#注意#
当表中有多列、多行符合匹配条件时会删除相应的多行

11.查看表的内容

  • 查看满足指定条件的信息
    select * from 表名 [匹配条件];
  • 查看某一列的信息
    select 列名 1[, 列名 2, …] from 表名 [匹配条件];
    SQlite命令及语句
  • 直接查看表的所有内容
    select * from 表名称;

星号(*)是选取所有列的通配符

SQlite命令及语句

  • 美观的查看内容
    左对齐列:
    .mode column
    列名显示:
    .headers on
    SQlite命令及语句

12.更多的匹配条件

  • in 操作符
    where 列名 in (列值 1, 列值 2, …)

in允许我们在where子句中规定多个值

SQlite命令及语句

  • and 操作符
    where 列 1 = 值 1 [and 列 2 = 值 2 and …]

and 可在 where 子语句中把两个或多个条件结合起来(多个条件之间是与的关系)

  • or 操作符
    where 列 1 = 值 1 [or 列 2 = 值 2 or …]

or 可在 where 子语句中把两个或多个条件结合起来(多个条件之间是或的关系)

SQlite命令及语句

  • between and 操作符
    where 列名 between A and B

操作符 between A and B 会选取介于 A、B 之间的数据范围。这些值可以是数值、文本或者日期。
不同的数据库对 between A and B 操作符的处理方式是有差异的。
(1) 有些数据库包含 A 不包含 B。
(2) 有些包含 B 不包含 A。
(3) 有些既不包括 A 也不包括 B。
(4) 有些既包括 A 又包括 B。
匹配字符串时会以 ascii 顺序匹配。

SQlite命令及语句

  • like 操作符
    where 列名 like 列值

1、若列值为数字 相当于列名=列值。
2、若列值为字符串 可以用通配符“%”代表缺少的字符(一个或多个)。

SQlite命令及语句

  • not 操作符
    如where 列名 notin 列值等
    SQlite命令及语句

13.排序

order by 语句
根据指定的列对结果集进行排序。
默认按照升序对结果集进行排序,可使用 desc 关键字按照降序对结果集进行排序。

升序
select * from 表名 order by 列名;

降序
select * from 表名 order by 列名 desc;

SQlite命令及语句
只是对结果集排序,再次查看,原表仍为乱序

SQlite命令及语句

14.事务

事务(Transaction)可以使用 BEGIN TRANSACTION 命令或简单的 BEGIN 命令来启动。此类事务通常会持续执行下去,直到遇到下一个 COMMITROLLBACK 命令。不过在数据库关闭或发生错误时,事务处理也会回滚。

SQLite 中,默认情况下,每条 SQL 语句自成事务

  • begin:开始一个事务,之后的所有操作都可以取消
  • commit:使 begin 后的所有命令得到确认
  • rollback:回滚操作,取消 begin 后的所有操作

SQlite命令及语句SQlite命令及语句

相关文章:

  • 2022-12-23
  • 2021-07-27
  • 2021-10-30
  • 2021-08-05
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-14
猜你喜欢
  • 2022-12-23
  • 2021-11-26
  • 2022-12-23
  • 2021-08-31
  • 2021-10-22
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案