sqlite3使用2

2023-05-22

一. 在cmd中打开SQLite

1.进入数据库

通过输入

d:
cd D:\……\SQLite
sqlite3

进入数据库

查看数据库的基本信息:

.help 显示各种重要的SQLite点命令的列表
.show 显示SQLite命令提示符的默认设置
.schema sqlite_master 主表:保存数据库表的关键信息
二. 语法中的注意事项:

大小写敏感:不区分大小写,但是一些命令是大小写敏感 比如:GLOB和glob

注释:可以出现在任何空白处,包括在表达式内和其他SQL语句中间,但是不能嵌套,以两个连续的"-"字符开始,并扩展到下一个换行符直到输入结束。

语句:所以的SQLite语句可以以任何关键字开始,以分号(;)结束。
例如:SELECT、INSERT、UPDATE、DELETE、ALTER、DROP等。

输入语句时,注意不要有空格!!!特别是点语句!!!

三. 常用语句:
1.创建数据库
进入sqlite3环境下:
假定我们创建一个Student的数据库,就在SQLite的条件下输入:

.open Student.db

如果这个数据库存在,就直接进入。如果不存在,会在目录下创建。

如果存在Student.db,那么我们可以查看数据库中包含哪些表:

.table

如果不存在,那么此时也已经建好了这张表。

2.创建表
假定我们要创建的表名为Info,表中包括学生的学号、姓名、性别、年龄、籍贯。在cmd中输入:

CREATE TABLE Info(
ID INT PRIMARY KEY NOT NULL,
Name TEXT NOT NULL,
Sex TEXT,
Age INT,
BP TEXT);

此处把学号设置为主键(primary key),把学号和姓名设置为非空(not null)。

这张表就建好了,可以在SQLite Expert Personal可视化工具中看到。

3.插入数据
插入数据可以一条一条录入,也可以把数据储存在csv文件中批量录入。
首先来说分条录入,插入数据的语句是:

INSERT INTO Info VALUES(001,“刘星”,“男”,18,“北京”);
注意学号的唯一性和学号、姓名的非空设置。

表格创建如下:

下面来说批量导入的语句。
首先确保数据储存在csv文件中,并且编码格式为UTF-8。
第一行不要出现列名,直接上数据。
语句如下:

.separator “,”
.import ““D:\Flask\……\student.csv” Info
注意:separator和”,"之间有一个空格

4.增加字段
假如我们需要在已有表中增加一列成绩:

ALTER TABLE Info ADD Grade INT;

5.更新数据
如果需要对已有数据进行修改,例如需把“刘星”的年龄改为19岁:

UPDATE Info SET Age=“19” WHERE ID=001;

如想对一列数据统一修改,可去掉where子句,给一列赋同一值。

6.删除字段
删除字段不能直接用语句进行操作。

要先从旧表复制一张新表,其中不包括已有的列;
再将旧表删除;
最后重命名新表。

还是以Info表为例,我们现在要删除籍贯列:

CREATE TABLE Info1 AS SELECT ID,Name,Sex,Age from Info;
DROP TABLE IF EXISTS Info;
ALTER TABLE Info1 RENAME TO Info;

7.导出数据表
导入数据表仍然是到csv文件中,文件名为students.csv

.output student.csv
select * from Info;
.output stdout
注意:最后一行没有;

8.删除表
在删除字段中有提到,不多介绍了。

SQLite中基本用到的功能大致就是这些了,我自己进行建表、处理、导出使用这些语句足够
————————————————
版权声明:本文为CSDN博主「kapokkk」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_43219504/article/details/88363817

sqlite3使用2的相关教程结束。

《sqlite3使用2.doc》

下载本文的Word格式文档,以方便收藏与打印。