如何进行SQLite数据库管理相关命令的使用分析

54次阅读
没有评论

共计 1968 个字符,预计需要花费 5 分钟才能阅读完成。

这篇文章将为大家详细讲解有关如何进行 SQLite 数据库管理相关命令的使用分析,文章内容质量较高,因此丸趣 TV 小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

1. 创建数据库

启动命令行,通过输入如下命令打开 Shell 模式的 CLP:

sqlite3 test.db

虽然我们提供了数据库名称,但如果该数据库不存在,SQLite 实际上就未创建该数据库,直到在数据库内部创建一些内容时,SQLite 才创建该数据库。

2. 创建数据表

sqlite create table Member(id integer primary key, name text, age integer,addr text);

注:id 为主键,该列默认具备自动增长的属性。

3. 插入数据

sqlite insert into Member values(0, wwl ,21, 上海 //id= 0 的列必须不存在,否则会出错

或者 sqlite insert into Member(name,age,addr) values(wwl ,21, 上海

3. 查询数据

sqlite .mode column

sqlite .headers on

sqlite select * from Member;

注:select 语句前面的两个命令 (.headers 和.mode) 用于改善显示格式,可以不要。

4. 创建视图和索引

sqlite create view schema as select * from Member;

sqlite create index Member_Idx on Member(id)

5. 导出数据

使用.dump 命令可以将数据库对象导出成 SQL 格式。不带任何参数时,.dump 将整个数据库导出为数据库定义语言 (DDL) 和数据库操作语言 (DML) 命令,适合重新创建数据库对象和其中的数据。如果提供了参数,Shell 将参数解析作为表名或视图,导出任何匹配给定参数的表或视图,那些不匹配的将被忽略。

默认情况下.dump 命令的输出定向到屏幕。如:.dump

如果要将输出重定向到文件,请使用.dump[filename]命令,此命令将所有的输出重定向到指定的文件中。若要恢复到屏幕的输出,只需要执行.output stdout 命令就 OK 了。

sqlite .output file.sql

sqlite .dump

sqlite .output stdout

注:如果 file.sql 不存在,将在当前工作目录中创建该文件。如果文件存在,它将被覆盖。

6. 导入数据

有两种方法可以导入数据,用哪种方法取决于要导入的文件格式。如果文件由 SQL 语句构成,可以使用.read 命令导入文件中包含的命令。如果文件中包含由逗号或其他分隔符分割的值 (comma-swparated values,CSV) 组成,可使用.import 下载地址 [table] 命令,此命令将解析指定的文件并尝试将数据插入到指定的表中。

.read 命令用来导入.dump 命令创建的文件。如果使用前面作为备份文件所导出的 file.sql,需要先移除已经存在的数据库对象,然后用下面的方法重新导入:

sqlite drop table Member;

sqlite drop view schema;

sqlite .read file.sql

7. 备份数据库

有两种方式可以完成数据库的备份,具体使用哪一种取决于你希望的备份类型。SQL 转储许是移植性最好的备份。

生成转储的标准方式是使用 CLP.dump 命令:sqlite3 test.db .dump test.sql

在 Shell 中,可以将输出重定向到外部文件,执行命令,恢复到屏幕输出,如:

sqlite .output file.sql

sqlite .dump

sqlite .output stdout

sqlite .exit

同样,容易将 SQL 转储作为 CLP 的输入流实现数据库导入:

sqlite3 test.db test.sql

备份二进制数据库知识比复制文件稍多做一点工作。备份之前需要清理数据库,这样可以释放一些已删除对象不再使用的空间。这数据库文件就会变小,因此二进制的副本也会较小:

sqlite3 test.db vacuum

cp test.db test.Backup

8. 其它命令

sqlite select last_insert_rowid(); // 获得最后插入的自动增长量值

sqlite .tabes // 返回所有的表和视图

sqlite .indices Member // 查看一个表的索引

sqlite .schema Member // 得到一个表或视图的定义 (DDL) 语句, 如果没有提供表名, 则返回所有数据库对象 (table,view,index,triger) 的定义语句

关于如何进行 SQLite 数据库管理相关命令的使用分析就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-17发表,共计1968字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)