app教程网 学习教程 医院数据库管理和应用的相关制度(sqlite3.dll丢失怎么办)

医院数据库管理和应用的相关制度(sqlite3.dll丢失怎么办)

SQLite是一个类似于Access的轻量级数据库系统,但是更小、更快、容量更大、并发性更高。

为什么SQLite最适合CMS(内容管理系统)?不是说其他数据库不好。Oracle、MySQL、SQLServer也是很优秀的数据库,但是设计目标不同,特点也不同。

所以只是更适合某个应用场景,没有绝对的好坏之分。

SQLite的技术特点:SQLite对SQL92标准的支持包括索引、限制、触发和查看。SQLite不支持外键限制。

但是支持原子的、一致的、独立的和持久的(ACID)事务(稍后将提供更多关于ACID的信息)。这意味着事务是原子的,因为它们要么完全执行,要么根本不执行。事务也是一致的,因为在不一致的状态下,

数据库从未被保留。事务也是独立的,所以如果有两个事务同时在同一个数据库上执行操作,这两个事务不会互相干扰。并且事务是持久的,所以数据库可以经受住崩溃和电源故障。

没有数据丢失或损坏。SQLite通过数据库级的排他性和共享锁定实现独立的事务处理。这意味着当多个进程和线程可以同时从同一个数据库读取数据时,只有一个可以写入数据。

在进程或线程可以写入数据库之前,必须获得独占锁。发出独占锁后,其他读或写操作将不会再次发生。1.创建数据库

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

sqlite3 test.db

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

创建数据表

注意:id是主键,默认情况下该列具有自动增长的属性。

插入数据

4.查询数据

sqlite.mode column

sqlite.headers on

sqlite select * from Member;

注意:这两个命令(。标题和。mode)用于改善显示格式,可以省略。

5.创建视图和索引

Sqlite creates the view schema as a select * from member;

sqlite create index Member_Idx on Member(id)

6.导出数据

使用。将数据库对象导出为SQL格式的dump命令。没有任何参数。dump将整个数据库导出为数据库定义语言(DDL)和数据库操作语言(DML)命令,适合在其中重新创建数据库对象和数据。

如果提供了参数,Shell会将参数解析为表名或视图,并导出与给定参数匹配的任何表或视图。不匹配的将被忽略。

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

如果要将输出重定向到文件,请使用。dump[filename]命令,该命令将所有输出重定向到指定文件。要将输出恢复到屏幕上,只需执行。输出stdout命令。

sqlite.output file.sql

sqlite.dump

sqlite.output stdout

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

7.输入数据

导入数据有两种方式,哪种方式取决于要导入的文件格式。如果文件由SQL语句组成,则可以使用。读取命令以导入文件中包含的命令。

如果文件包含逗号分隔的值(CSV),则可以使用。导入[文件][表格]命令。

该命令将解析指定的文件,并尝试将数据插入指定的表中。

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

sqlitedrop table Member;

sqlitedrop view schema;

sqlite.read file.sql

8.备份数据库

有两种方法可以完成数据库备份,哪种方法取决于您想要的备份类型。SQL dump可能是最好的可移植备份。

生成转储的标准方法是使用CLP.dump命令:sqlite3test。db.dumptest.sql

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

sqlite.output file.sql

sqlite.dump

sqlite.output stdout

sqlite.exit

类似地,通过使用SQL dump作为CLP的输入流来导入数据库也很容易:

sqlite3 test.db test.sql

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

sqlite3 test.db vacuum

cp test.db test.Backup

9.其他订单

sqliteselect last _ insert _ rowid();//获取最后插入的自动增量值。

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

Sqlite.indices成员//查看表的索引。

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

本文来自网络,不代表本站立场,转载请注明出处:https: