SQLite数据库管理的相关命令

  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> 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,'上海');

  4.查询数据

  sqlite>.mode column

  sqlite>.headers on

  sqlite> select * from Member;

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

  5.创建视图和索引

  sqlite> create view schema as select * from Member;

  sqlite> create index Member_Idx on Member(id)

  6.导出数据

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

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

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

  sqlite>.output file.sql

  sqlite>.dump

  sqlite>.output stdout

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

  7.导入数据

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

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

  sqlite>drop table Member;

  sqlite>drop view schema;

  sqlite>.read file.sql

  8.备份数据库

  有两种方式可以完成数据库的备份,具体使用哪一种取决于你希望的备份类型。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

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

  sqlite3 test.db vacuum

  cp test.db test.Backup

  9.其它命令

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

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

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

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

时间: 2025-01-24 09:35:38

SQLite数据库管理的相关命令的相关文章

SQLite入门之三常用命令

 3. 数据显示相关命令 3.1 设置分隔符:.separator 分隔符 help: ? 1 .separator STRING      Change separator used by output mode and .import   example: 默认分隔符是 | ? 1 2 3 4 5 6 7 8 9 sqlite> SELECT * FROM Cars; 1|Audi|52642 2|Mercedes|57127 3|Skoda|9000 4|Volvo|29000 5|Ben

Linux组、用户、权限相关命令练习

任务要求 研发部开发人员David和Peter属于组A: 行政部人员Jack 和Mike属于组B: 1.建立共享目录"/project_a",该目录里面的文件只能由 研发部开发人员读取.增加.删除.修改以及执行,其他用户不能对该目录进行 任何的访问操作: 2.建立目录"/project_b",该目录里面的文件只能由行 政部人员读取.增加.删除.修改以及执行,其他用户不能对该目录进行任何的 访问操作: 3.建立目录"/project",该目录里面的

Linux中进程前后台切换相关命令

我们使用Linux时大多数是用shell命令行.一个命令窗口是无法直接执行多任务的.我们可以把某个任务先切到后台,再切别的任务到前台来操作.这个帖子整理一下这些常用的命令. 后台进程查看: jobs是用于后台进程查看的很方便的命令. jobs -l 可以显示出进程的pid. 注意一点:shell收到了SIGHUP信号后在退出前将SIGHUP转发给所有的作业(jobs).jobs由于收到SIGHUP而终止运行.(这取决于shell的) 将前台任务放到后台: 按下ctrl + z ,就将任务移到后台

linux网络配置相关命令、虚拟网络接口eth0:0

网络接口(interface)是网络硬件设备在操作系统中的表示方法,比如网卡在Linux操作系统中用ethX,是由0开始的正整数,比如eth0.eth1...... ethX.而普通猫和ADSL的接口是 pppX,比如ppp0等:  机器中所有可用网卡.名字.配置文件:  dmesg | grep eth :可以看到系统启动时,网卡启动的信息及相应网卡的名字,然后就可以手动添加相应的/etc/sysconfig/network-scripts/ifcfg-ethX文件对网卡进行配置 ifconf

使用CRT工具连接weblogic 服务器,相关命令

问题描述 使用CRT工具连接weblogic 服务器,相关命令 使用CRT工具连接weblogic 服务器,备份某个文件,应如何操作

SaltSack入门(三)Salt相关命令和Pillar应用

1.先了解下管理端(master)常用相关命令  1.1 salt     #主要管理命令    命令格式:salt [options]  <target> [arguments]     例:salt '*' test.ping  1.2 salt-key #证书管理 1 2 3 4 5     # salt-key –L           #查看所有minion-key     # salt-key –a  <keys-name>   #接受某个minion-key     

ipc通道入侵相关命令整理_DOS/BAT

利用ipc$入侵的相关命令: 我们在入侵的时候难免遇到忘记命令的时候,现在将我所知道的一些命令总结出来提供给各位.通过这些命令可以解决很大一部分新手的问题. 00:net use 作用:连接计算机或断开计算机与共享资源的连接,或显示计算机的连接信息. 命令格式: net use [devicename | *] [\\\\computername\\sharename[\\volume]] [password | *]] [/user:[domainname\\]username] [[/del

hadoop集群-HADOOP集群主机上运行HADOOP相关命令回车后响应慢

问题描述 HADOOP集群主机上运行HADOOP相关命令回车后响应慢 HADOOP集群主机上运行HADOOP相关命令回车后响应慢,如集群主机上输入hivehbase shell或者hdfs dfs -ls / 回车后终端响应非常慢,至少10秒上才出来 Logging initialized using configuration in jar:file:/opt/cloudera/parcels/CDH-5.3.1-1.cdh5.3.1.p0.5/jars/hive-common-0.13.1-

《DB2性能管理与实战》——第4章 DB2性能监控相关命令及参数

第4章 DB2性能监控相关命令及参数 DB2性能管理与实战本章讲述DB2自带的性能监控的传统工具.命令以及性能优化的一些相关参数,在后面的章节中将介绍最新的DB2的图形化监控和优化工具,使读者能够对不同工具的使用风格有一个全面的了解. 本文仅用于学习和交流目的,不代表异步社区观点.非商业转载请注明作译者.出处,并保留本文的原始链接.