sqlite3 安装 使用 Ubuntu
# 安装软件
sudo apt-get install sqlite3
# 查看版本
sqlite3 -version
# 安装编译工具包
sudo apt-get install sqlite3-dev
# 安装可视化工具
sudo apt-get install sqlitebrowser
#可视化工具使用功能方法 在终端界面
-- 创建完数据库在使用
sqlitebrowser test.db
-----------------------------------------
# 创建数据库并进入数据库创之后进入同样使用相同命令,当不输入数据库名时也会进入但是查询不到表
sqlite3 test.db
# 进入界面后的样式 暂时把它定义为sql界面方便后续讲解
sqlite>
--在sql 界面sql语句以 分号";" 结束,当输入错误 回车 后使用 分号";" 结束当前命令 命令以 点"." 开始的不需要结束符号
# 查看数据库
--显示数据库的路径
.databse
# 创建数据表
-- 表名students 三个字段 name age sex 分别字符型 整型 字符型
create table students(name char(20), age int, sex char(5));
# 插入数据
--单条数据插入 M:男性 F:女性
insert into students values('zhaosi', 26,'F');
--多条数据插入 --注意观察标点符号使用
insert into students(name, age, sex)
values
('liuneng', 78, 'M'),
('wuhao', 25, 'M'),
('libo', 48, 'M'),
('sufei', 18, 'F');
# 删除数据
-- 删除name = sufei 的一条数据;删除了整条记录不是单个字段的记录
delete from students where name = 'sufei';
# 更改数据
-- 更改表中 wuhao 的年龄为40;
update students set age = 40 where name = 'wuhao';
-- 修改多个字段的值, 修改内容逗号分割
update students set age = 90, sex = F where name = 'liuneng';
# 显示表结构
.schema students
# 查看数据表
--显示创建过的所有表, 没有表则不显示
.table
.tables
# 查询表中所有数据
select * from students;
--按条件查询
select * from students where name = 'sufei'; --查询表中name字段属性是sufei的一条数据
select * from students where age > 25; --查询表中数据age字段大于25的 全部显示
select name from students where sex ='M'; --查询表中男性的姓名
# 导出数据
--在sql界面
.output students.csv -- 设置导出文件 csv
.separator . -- 数据之间的分割标识 点
select * from students; -- 查询需要到处的数据表与字段;
.output stdout -- 执行导出 --导出后可在数库同路径下看到一个students.csv 的文件
# 导入数据 csv文件到数据表
-- 导入数据之前需要先创建一张表并写明字段 在正常创建表的基础上对应好字段类型
--先先创建表 在导入数据
create table student(name char(20), age int, sex char(5)); #创建表
-- 导入数据
命令 数据源 数据表
.import students.csv student
-- 导入数据后通过select * from 表名; 查询数据是否正常 即完成数据导入
# 备份数据库
-- 备份实际备份的是sql语句
-- 在终端界面下执行命令
数据库 命令 备份文件
sqlite3 test.db .dump > backup.sql
# 恢复数据库
-- 这条命令是先创建一个数据库,在通过备份文件中的sql语句把数据写入数据库中
新数据库 备份数据
sqlite3 test1.db < backup.sql
# 格式化显示 sql命令界面
.header on / off 显示或关闭表头 即字段名,默认关闭状态
-- 每次执行执行后都需要查询查状态 select * from 表名;
.mode list 用于将查询结果格式化为“列表模式”。在这种模式下,查询结果会以每条记录一行的形式输出,每个字段之间由指定的分隔符分隔,并不美观。
.mode column 将查询结果格式化为“列模式”。这种模式使得查询结果以表格形式显示,每列对齐,便于查看和分析数据。
.mode insert 将查询结果格式化为 INSERT 语句的形式。
.mode line 使得查询结果以“行模式”格式输出,这种模式将每个列的名称和值按行展示,更适合于查看每一行的详细内容。
.mode tabs 查询结果格式化为“制表符分隔模式”。在这种模式下,每个字段之间用制表符 (\t) 分隔,适合于输出为 TSV(制表符分隔值)格式,这种格式在数据导出和与其他程序交互时非常有用
.mode tcl 将查询结果格式化为 Tcl 脚本中的 list 命令可以处理的格式。这种模式生成的输出格式适合于在 Tcl 语言中进一步处理或解析。
.mode csv 将查询结果格式化为逗号分隔值(CSV)格式。CSV 是一种常见的文本格式,用于存储表格数据,每个字段之间用逗号分隔,适合于数据导出和与其他程序(如电子表格软件)兼容
.separator '**' 用于指定字段和记录之间的分隔符。** 是一个示例分隔符,你可以用其他字符串或字符作为分隔符
# 数据的输出样式
.dump student 输出student表的sql数据插入脚本
.dump 输出整个数据库的sql脚本
.output stdout 将后续查询结果输出到屏幕上 为系统默认
.output 1.txt 将后续查询结果输出到1.txt文件中
# 退出查询,退出sql界面
--不用添加 分号
.exit
.quit
# 删除表
drop table students;
# 删除数据库
sqlite无法删除库 使用删除库的命令无效,但是可以当做普通文件删除
rm test.db
Ubuntu-Sqlite3 安装 使用--基础篇
于 2024-08-22 15:54:32 首次发布