欢迎来到科站长!

SQLite

当前位置: 主页 > 数据库 > SQLite

一篇文章带你掌握SQLite3基本用法

时间:2024-09-22 15:22:11|栏目:SQLite|点击:

一、基本语法

1.常用指令

1
2
3
4
5
6
7
8
.open filename --打开文件
-- 注解
.show --显示SQLite 命令提示符的默认设置
.q --退出
.databases --显示数据库(注:显示打开的数据库)
.help  --帮助
.dump  --导入导出数据库
.tables  --查看表

2.数据类型

存储类型描述
NULL空值
int整形
text一个文本字符串
blob一个blob数据
integer

一个带符号的整数,根据值的大小存储在1、2

、3、4、6或8字节中

real值是一个浮点值,存储为8字节的浮点数
............

3.创建数据库

1
2
.open test.db --没有就创建
sqlite3 DatabaseName.db

上面的命令将在当前目录下创建一个文件 testDB.db。该文件将被 SQLite 引擎用作数据库。如果您已经注意到 sqlite3 命令在成功创建数据库文件之后,将提供一个 sqlite> 提示符。

.databases 命令用于检查它是否在数据库列表中。

.open 操作

4. 导入/导出数据库

1
2
sqlite3 test.db .dump > filename --导出
sqlite3 test.db < filename --导入

上面的转换流整个 testDB.db 数据库的内容到 SQLite 的语句中,并将其转储到 ASCII 文本文件 testDB.sql 中。您可以通过简单的方式从生成的 testDB.sql 恢复,如下所示 我删掉testDB.db后:

5.创建表

1
2
3
4
5
6
7
8
--注意,在打开数据库时才能操作
CREATE TABLE database_name.table_name(
   column1 datatype  PRIMARY KEY(one or more columns),
   column2 datatype,
   column3 datatype,
   .....
   columnN datatype,
);

CREATE TABLE 是告诉数据库系统创建一个新表的关键字。CREATE TABLE 语句后跟着表的唯一的名称或标识。您也可以选择指定带有 table_name 的 database_name。

如上图所示,我们创建了COMPANY     DEPARTMENT两个表。其中ID 作为主键,NOT NULL 的约束表示在表中创建纪录时这些字段不能为 NULL。

6.查看表的详细信息

1
.schema --注意:打开数据库时才能操作

7.删除表

1
drop TABLE database_name.table_name;

如上,删除了名为DEPARTMENT的表

8.插入数据

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

在这里,column1, column2,...columnN 是要插入数据的表中的列的名称。

如果要为表中的所有列添加值,您也可以不需要在 SQLite 查询中指定列名称。但要确保值的顺序与列在表中的顺序一致。SQLite 的 insert INTO 语法如下:

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

现在,我已经创建了COMPANY表,如下

1
2
3
4
5
6
7
CREATE TABLE COMPANY(
   ID INT PRIMARY KEY     NOT NULL,
   NAME           TEXT    NOT NULL,
   AGE            INT     NOT NULL,
   ADDRESS        char(50),
   SALARY         REAL
);

现在,下面的语句将在 COMPANY 表中创建六个记录:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
insert INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (1, 'Paul', 32, 'California', 20000.00 );
  
insert INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (2, 'Allen', 25, 'Texas', 15000.00 );
  
insert INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (3, 'Teddy', 23, 'Norway', 20000.00 );
  
insert INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (4, 'Mark', 25, 'Rich-Mond ', 65000.00 );
  
insert INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (5, 'David', 27, 'Texas', 85000.00 );
  
insert INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (6, 'Kim', 22, 'South-Hall', 45000.00 );

输出结果如下:

 我们也可以使用第二种语法在COMPANY 表中创建一个记录,如下所示:

1
insert INTO COMPANY VALUES (7, 'James', 24, 'Houston', 10000.00 );

输出结果如下:

9.格式化输出

1
2
3
4
.header on
.mode column
.timer on --开启CPU定时器
select * FROM table_name; --显示表table_name

非格式化输出

格式化输出

10.输出表

完整输出

1
2
3
.header on
.mode column
select * FROM COMPANY;

输出指定列

1
2
3
.header on
.mode column
select ID, NAME, SALARY FROM COMPANY; --只输出ID, NAME和SALARY三列

设置输出列的宽度

1
2
.width num1,num1,num3....
select * FROM COMPANY;

下面 .width 命令设置第一列的宽度为 10,第二列的宽度为 20,第三列的宽度为 10。输出结果如下:

11.运算符

sqlite运算符主要用于 SQLite 语句的 WHERE 子句中执行操作,如比较和算术运算。

运算符用于指定 SQLite 语句中的条件,并在语句中连接多个条件。

算术运算符:

运算符描述实例+加法 - 把运算符两边的值相加a + b 将得到 30-减法 - 左操作数减去右操作数a - b 将得到 -10*乘法 - 把运算符两边的值相乘a * b 将得到 200/除法 - 左操作数除以右操作数b / a 将得到 2%取模 - 左操作数除以右操作数后得到的余数b % a will give 0

比较运算符

运算符描述实例
+加法 - 把运算符两边的值相加a + b 将得到 30
-减法 - 左操作数减去右操作数a - b 将得到 -10
*乘法 - 把运算符两边的值相乘a * b 将得到 200
/除法 - 左操作数除以右操作数b / a 将得到 2
%取模 - 左操作数除以右操作数后得到的余数b % a will give 0

逻辑运算符

运算符描述实例
==检查两个操作数的值是否相等,如果相等则条件为真。(a == b) 不为真。
=检查两个操作数的值是否相等,如果相等则条件为真。(a = b) 不为真。
!=检查两个操作数的值是否相等,如果不相等则条件为真。(a != b) 为真。
<>检查两个操作数的值是否相等,如果不相等则条件为真。(a <> b) 为真。
>检查左操作数的值是否大于右操作数的值,如果是则条件为真。(a > b) 不为真。
<检查左操作数的值是否小于右操作数的值,如果是则条件为真。(a < b) 为真。
>=检查左操作数的值是否大于等于右操作数的值,如果是则条件为真。(a >= b) 不为真。
<=检查左操作数的值是否小于等于右操作数的值,如果是则条件为真。(a <= b) 为真。
!<检查左操作数的值是否不小于右操作数的值,如果是则条件为真。(a !< b) 为假。
!>检查左操作数的值是否不大于右操作数的值,如果是则条件为真。(a !> b) 为真。

位运算符  

pqp & qp | q
0000
0101
1111
1001

下面直接上例子

我有COMPANY 表如下:

1
2
3
4
5
6
7
8
9
ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
1           Paul        32          California  20000.0
2           Allen       25          Texas       15000.0
3           Teddy       23          Norway      20000.0
4           Mark        25          Rich-Mond   65000.0
5           David       27          Texas       85000.0
6           Kim         22          South-Hall  45000.0
7           James       24          Houston     10000.0

用 select列出SALARY 大于 50,000.00 的所有记录:

1
select * FROM COMPANY WHERE SALARY > 50000;

输出结果如下:


上一篇:CentOS下更新SQLite版本

栏    目:SQLite

下一篇:sQlite常用语句以及sQlite developer的使用与注册

本文标题:一篇文章带你掌握SQLite3基本用法

本文地址:https://www.fushidao.cc/shujuku/809.html

广告投放 | 联系我们 | 版权申明

申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:257218569 | 邮箱:257218569@qq.com

Copyright © 2018-2025 科站长 版权所有冀ICP备14023439号