手机版

与SQLite数据库管理相关的命令

时间:2021-08-03 来源:互联网 编辑:宝哥软件园 浏览:

类型:编程助手大小:7.0M语言:中文评分:8.5标签:立即下载SQLite是一个类似于Access的轻量级数据库系统,但更小、更快、容量更大、并发性更高。为什么SQLite是最适合的CMS(内容管理系统)?不是其他数据库不好。Oracle、MySQL、SQLServer都是优秀的DBS,但是它们的设计目标不同,特点也不同,所以只是更适合某个应用场景,并没有绝对的优劣之分。

SQLite的技术特点:SQLite支持SQL92标准,包括索引、限制、触发和查看。SQLite不支持外键限制,但支持原子、一致、独立和持久(ACID)事务(关于ACID的更多信息将在后面提供)。这意味着事务是原子的,因为它们要么完全执行,要么根本不执行。事务也是一致的,因为数据库从不保持不一致的状态。事务仍然是独立的,因此如果有两个事务同时在同一个数据库上执行操作,这两个事务不会相互干扰。并且事务是持久的,因此数据库可以在崩溃和电源故障中幸存下来,而不会丢失数据或损坏。SQLite通过数据库级的排他和共享锁实现独立的事务处理。这意味着当多个进程和线程可以同时从同一个数据库中读取数据时,只有一个可以写入数据。在进程或线程可以写入数据库之前,必须获得排他锁。发出排他锁后,其他读或写操作将不会再次发生。1.创建数据库

通过输入以下命令,启动命令行并在Shell模式下打开CLP:

sqlite3 test.db

虽然我们提供了数据库名称,但是如果数据库不存在,SQLite实际上并没有创建数据库,并且SQLite直到在数据库内部创建了一些东西之后才创建数据库。

2.创建数据表

sqlite创建表Member(id整数主键、名称文本、年龄整数、addr文本);

注意:id为主键,此列默认具有自动增长属性。

3.插入数据

SQLite插入成员值(0,‘WWL’,21,‘上海’);//id=0的列不能存在,否则会出现错误。

或者将SQLite插入成员(姓名、年龄、addr)值(' wwl ',21,' Shanghai ');

4.查询数据

sqlite.mode列

sqlite.headers打开

sqlite从成员中选择*;

注意:前两个命令(。标题和。模式)用于改进显示格式,但它们是不必要的。

5.创建视图和索引

sqlite将视图架构创建为从成员中选择*;

sqlite在成员(id)上创建索引Member_Idx

6.导出数据

使用。命令将数据库对象导出为SQL格式。没有任何参数,dump将整个数据库导出为数据库定义语言(DDL)和数据库操作语言(DML)命令,这两种命令适用于在其中重新创建数据库对象和数据。如果提供了参数,Shell会将该参数解析为表名或视图,并导出与给定参数匹配的任何表或视图。不匹配的将被忽略。

默认情况下,的输出。转储命令指向屏幕。例如:倾销

如果要将输出重定向到文件,请使用。dump[filename]命令,该命令将所有输出重定向到指定的文件。要恢复到屏幕输出,只需执行。输出标准输出命令,你就没事了。

sqlite.output file.sql

sqlite.dump

sqlite.output stdout

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

7.输入数据

导入数据有两种方法,哪种方法取决于要导入的文件格式。如果文件由SQL语句组成,则可以使用。read命令导入文件中包含的命令。如果文件包含逗号分隔值,则可以使用。import[file][table]命令,该命令将解析指定的文件,并尝试将数据插入指定的表中。

那个。read命令用于导入由。转储命令。如果使用作为备份文件导出的file.sql,则需要先删除现有的数据库对象,然后以下列方式再次导入它们:

sqlitedrop表成员;

sqlitedrop视图架构;

sqlite.read file.sql

8.备份数据库

完成数据库备份有两种方法,哪一种取决于您想要的备份类型。SQL转储可能是最便携的备份。

生成转储的标准方法是使用CLP.dump命令: SQLite3Test。db。dumpTest。结构化查询语言

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

sqlite.output file.sql

sqlite.dump

sqlite.output stdout

sqlite.exit

同样,通过使用SQL转储作为CLP的输入流,也很容易导入数据库:

sqlite3 test.db test.sql

备份二进制数据库的知识比复制文件要多做一点工作。在备份之前,需要清理数据库,以便释放一些已删除对象不再使用的空间。该数据库文件将变小,二进制副本也将变小:

sqlite3 test.db真空

cp测试. db测试。支持

9.其他订单

SQLite select last _ insert _ rowid();//获取最后插入的自动增长值

Sqlite.tabes//返回所有表和视图

成员//查看表的索引

SQLite。schemammember//获取表或视图的定义语句。如果未提供表名,则返回所有数据库对象(表、视图、索引、触发器)的定义语句

版权声明:与SQLite数据库管理相关的命令是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。