SQLite命令
命令分类
与关系数据库进行交互的标准 SQLite 命令类似于 SQL。命令包括 CREATE、SELECT、INSERT、UPDATE、DELETE 和 DROP。这些命令基于它们的操作性质可分为以下几类:
(DDL)数据定义语言:
CMD | Description |
---|---|
CREATE | 创建一个新的表,一个表的视图,或者数据库中的其他对象。 |
ALTER | 修改数据库中的某个已有的数据库对象,比如一个表。 |
DROP | 删除整个表,或者表的视图,或者数据库中的其他对象。 |
(DML)数据操作语言:
CMD | Description |
---|---|
INSERT | 创建一条记录。 |
UPDATE | 修改记录。 |
DELETE | 删除记录。 |
(DQL)数据查询语言:
CMD | Description |
---|---|
SELECT | 从一个或多个表中检索某些记录。 |
Sqlite点命令
在Windows的cmd下运行sqlite3命令(如何安装和配置在上一篇博客),然后依据提示运行.help并打印(只截图其中一部分)。
我们可以发现sqlite的.help列出来了所有sqlite支持的点命令,也可以发现,点命令不需要以“;”结尾。
我们对上面的.help命令进行翻译,大致如下:
CMD | Description |
---|---|
.backup ?DB? FILE |
备份DB数据库(默认是”main”)到FILE文件。 |
.bail ON/OFF |
发生错误后停止。默认为OFF。 |
.databases |
列出附加数据库的名称和文件。 |
.dump ?TABLE? |
以SQL文本格式转储数据库。如果指定了TABLE表,则只转储匹配LIKE模式的TABLE表。 |
.echo ON/OFF |
开启或关闭echo命令。 |
.exit |
退出SQLite提示符。 |
.explain ON/OFF |
开启或关闭适合于EXPLAIN的输出模式。如果没有带参数,则为EXPLAIN on,及开启EXPLAIN。 |
.header(s) ON/OFF |
开启或关闭头部显示。 |
.help |
显示消息。 |
.import FILE TABLE |
导入来自FILE文件的数据到TABLE表中。 |
.indices ?TABLE? |
显示所有索引的名称。如果指定了TABLE表,则只显示匹配LIKE模式的TABLE表的索引。 |
.load FILE ?ENTRY? |
加载一个扩展库。 |
.log FILE/off |
开启或关闭日志。FILE文件可以是stderr(标准错误)/stdout(标准输出)。 |
.mode MODE |
设置输出模式,MODE可以是下列之一:csv 逗号分隔的值;column 左对齐的列;html HTML的<table> 代码;insert TABLE表的SQL插入(insert)语句;line 每行一个值;list 由 .separator字符串分隔的值;tabs 由Tab分隔的值;tcl TCL列表元素。 |
.nullvalue STRING |
在NULL值的地方输出STRING字符串。 |
.output FILENAME |
发送输出到FILENAME文件。 |
.output stdout |
发送输出到屏幕。 |
.print STRING... |
逐字地输出STRING字符串。 |
.prompt MAIN CONTINUE |
替换标准提示符。 |
.quit |
退出SQLite提示符。 |
.read FILENAME |
执行FILENAME文件中的SQL。 |
.schema ?TABLE? |
显示CREATE语句。如果指定了TABLE表,则只显示匹配LIKE模式的TABLE表。 |
.separator STRING |
改变输出模式和.import所使用的分隔符。 |
.show |
显示各种设置的当前值。 |
.stats ON/OFF |
开启或关闭统计。 |
.tables ?PATTERN? |
列出匹配LIKE模式的表的名称。 |
.timeout MS |
尝试打开锁定的表MS微秒。 |
.width NUM NUM |
为”column”模式设置列宽度。 |
.timer ON/OFF |
开启或关闭CPU定时器测量。 |
SQLite的表
SQLite创建表
SQLite的CREATE TABLE语句用于在任何给定的数据库创建一个新表。创建基本表,涉及到命名表、定义列及每一列的数据类型。
创建表语法:
CREATE TABLE database_name.table_name(
column1 datatype PRIMARY KEY(one or more columns),
column2 datatype,
column3 datatype,
.....
columnN datatype,
);
如下展示一个实例:
还可以在SQLite根文件夹中看到创建的表:
SQLite删除表
SQLite的DROP TABLE语句用来删除表定义及其所有相关数据、索引、触发器、约束和该表的权限规范。使用此命令时要特别注意,因为一旦一个表被删除,表中所有信息也将永远丢失。
删除表语法:
DROP TABLE database_name.table_name;
如下展示一个实例:
SQLite语句
SQLite Insert语句
SQLite的INSERT INTO语句用来向数据库的某个表中添加新的数据行。
Insert语句语法:
INSERT INTO TABLE_NAME (column1, column2, column3,...columnN) VALUES (value1, value2, value3,...valueN);
若想要为表中的所有列添加值,也可以不用在SQLite中查询相应的列名称。但要注意确保值的顺序与列在表中的顺序保持一致。
INSERT INTO TABLE_NAME VALUES (value1,value2,value3,...valueN);
也可以通过在一个有一组字段的表上使用select语句填充数据到另一个表中(使用一个表来填充另一个表)。
INSERT INTO first_table_name [(column1, column2, ...columnN)] SELECT column1, column2, ...columnN FROM second_table_name [WHERE condition];
如下实例展示:
SQLite Select语句
SQLite的SELECT语句用于从SQLite数据库表中获取数据,以结果表的形式返回数据。这些结果表也被称为结果集。
Select语句语法:
SELECT column1, column2, columnN FROM table_name;
也可以使用下面的语法,来获取所有可用的字段:
SELECT * FROM table_name;
展示如下实例:
查看SQLite表
了解SQLite的图形化管理工具
下载地址:http://www.sqliteexpert.com/download.html
如下所示:
安装,打开SQLite Expert,并查看数据库文件wangzhao1.db中的表WirelessTeam。
如下所示:
SQLite运算符
算术运算符
运算符 | 描述 |
---|---|
+ | 把运算符两边的值相加 |
- | 左操作数减去右操作数 |
* | 把运算符两边的值相乘 |
/ | 左操作数除以右操作数 |
% | 左操作数除以右操作数后得到的余数 |
比较运算符
运算符 | 描述 |
---|---|
== | 检查两个操作数的值是否相等,如果相等则条件为真。 |
= | 检查两个操作数的值是否相等,如果相等则条件为真。 |
!= | 检查两个操作数的值是否相等,如果不相等则条件为真。 |
<> | 检查两个操作数的值是否相等,如果不相等则条件为真。 |
> | 检查左操作数的值是否大于右操作数的值,如果是则条件为真。 |
< | 检查左操作数的值是否小于右操作数的值,如果是则条件为真。 |
>= |
检查左操作数的值是否大于等于右操作数的值,如果是则条件为真。 |
<= | 检查左操作数的值是否小于等于右操作数的值,如果是则条件为真。 |
!< | 检查左操作数的值是否不小于右操作数的值,如果是则条件为真。 |
!> | 检查左操作数的值是否不大于右操作数的值,如果是则条件为真。 |
逻辑运算符
运算符 | 描述 |
---|---|
AND | AND运算符允许在一个SQL语句的WHERE子句中的多个条件的存在。 |
BETWEEN | BETWEEN运算符用于在给定最小值和最大值范围内的一系列值中搜索值。 |
EXISTS | EXISTS运算符用于在满足一定条件的指定表中搜索行的存在。 |
IN | IN运算符用于把某个值与一系列指定列表的值进行比较。 |
NOT IN | IN运算符的对立面,用于把某个值与不在一系列指定列表的值进行比较。 |
LIKE | LIKE运算符用于把某个值与使用通配符运算符的相似值进行比较。 |
GLOB | GLOB运算符用于把某个值与使用通配符运算符的相似值进行比较。GLOB与LIKE不同之处在于,它是大小写敏感的。 |
NOT | NOT运算符是所用的逻辑运算符的对立面。比如NOT EXISTS、NOT BETWEEN、NOT IN,等等。它是否定运算符。 |
OR | OR运算符用于结合一个SQL语句的WHERE子句中的多个条件。 |
IS NULL | NULL运算符用于把某个值与NULL值进行比较。 |
IS | IS运算符与=相似。 |
IS NOT | IS NOT运算符与!=相似。 |
\\ (两竖线) |
连接两个不同的字符串,得到一个新的字符串。 |
UNIQUE | UNIQUE运算符搜索指定表中的每一行,确保唯一性(无重复)。 |
位运算符
运算符 | 描述 |
---|---|
& | 二进制AND运算符。 |
/(一个竖线) | 二进制OR运算符。 |
~ | 二进制补码运算符是一元运算符,具有”翻转”位效应。 |
<< | 左操作数的值向左移动右操作数指定的位数。 |
>> |
右操作数的值向右移动右操作数指定的位数。 |