菜单

SQLite数据库管理有关命令的行使介绍

2018年12月18日 - sqlite

  1.成立数据库

  SQLite
是一个像样Access的轻量级数据库系统,可是再有些、更快、容量还特别,并作又胜。为啥说
SQLite 最契合做 CMS (内容管理网)呢?并无是说其他数据库不佳,
Oracle、MySQL、SQLServer 也都是相当美好之
DBS,只然则他们计划目的不同,特性不同,所以只有重新适用某个应用场景,没有断的三六九等之分。

  启动命令执行,通过输入如下命令打开Shell格局之CLP:

  SQLite的技能特色:

  sqlite3 test.db

  SQLite 对 SQL92 标准的匡助包括索引、限制、触发和查阅。SQLite
不帮忙外键限制,但襄助原子的、一致的、独立及持久 (ACID)
的业务(后边会提供关于 ACID
的再多音讯)。这象征工作是原子的,因为它或者完全履行,要么根本不实施。事务也是一致的,因为以非一致的状态被,该数据库从未被保存。事务仍旧独立
的,所以,假如当同一时间在平数据库及发三三两两独实施操作的事情,那么就片单业务是互不苦恼的。而且工作是持久性的,所以,该数据库能够在倒和断电时幸免于难,不相会丢掉数据要磨损。SQLite
通过数据库级上之独占性和共享锁定来贯彻独立事务处理。这象征当多独经过以及线程可以以同一时间从平数据库读取数据,但单纯发一个可以描绘副数据。在某进
程或线程向数据库执行写副操作前,必须拿到独占锁定。在来独占锁定后,其他的念或写操作以非会师再来。

  即便咱提供了数据库名称,但一旦该数据库不存在,SQLite实际上就不创设该数据库,直到在数据库里创设有情节日常,SQLite才创设该数据库。

  1.创设数据库

  2.创数据表

  启动命令执行,通过输入如下命令打开Shell情势的CLP:

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

  sqlite3 test.db

  注:id为主键,该列默认有机动增长的性质。

  即便咱提供了数据库名称,但假诺该数据库不有,SQLite实际上就非创制该数据库,直到在数据库里成立有内容经常,SQLite才创制该数据库。

  3.插入数据

  2.创数据表

  sqlite> insert into Member
values(0,’wwl’,21,’东京(Tokyo)’);//id=0的排必须休在,否则会拧

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

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

  注:id为主键,该列默认有机动增长之性。

  3.询问数据

  3.插入数据

  sqlite>.mode column

  sqlite> insert into Member
values(0,’wwl’,21,’法国首都’);//id=0的排必须不有,否则会出错

  sqlite>.headers on

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

  sqlite> select * from Member;

  4.查询数据

  横流:select语句前边的片单令(.headers和.mode)用于改正彰显格式,可以绝不。

  sqlite>.mode column

  4.创造视图和目录

  sqlite>.headers on

  sqlite> create view schema as select * from Member;

  sqlite> select * from Member;

  sqlite> create index Member_Idx on Member(id)  

  注:select语句后边的星星点点独命(.headers和.mode)用于改革展现格式,能够绝不。

  5.导出多少

  5.创办视图和目录

  使用.dump命令可以拿数据库对象导出成SQL格式。不带任何参数时,.dump将一切数据库导出为数据库定义语言(DDL)和数据库操作语言(DML)命令,适合再制造数据库对象以及其中的数据。假使提供了参数,Shell将参数解析作为表名或视图,导出任何匹配给一定参数的表达或视图,那个休兼容的将于忽视。

  sqlite> create view schema as select * from Member;

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

  sqlite> create index Member_Idx on Member(id)

  假诺要用出口重定向到文件,请使用.dump[filename]令,此命令将拥有的输出重定向到指定的文本中。若要还原至屏幕的输出,只需要执行.output
stdout命令就OK了。

  6.导出数

     sqlite>.output file.sql  

  使用.dump命令可以将数据库对象导出成SQL格式。不牵动其他参数时,.dump将全部数据库导出为数据库定义语言(DDL)和数据库操作语言(DML)命令,适合再创建数据库对象与其中的数码。假设提供了参数,Shell将参数解析作为表名或视图,导出任何匹配给得参数的表达或视图,那么些未配合的将于忽略。

  sqlite>.dump

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

  sqlite>.output stdout

  如若假如用出口重定向到文件,请使用.dump[filename]指令,此命令将富有的出口重定向到指定的文本被。若要过来到屏幕的出口,只待执行.output
stdout命令就OK了。

  注:如若file.sql不有,将以当前工作目录中创建该公文。假使文件在,它以被盖。

  sqlite>.output file.sql

  6.导入数据  

  sqlite>.dump

  有少种植艺术可以导入数据,用啦种形式在要导入的文件格式。即便文件由SQL语句构成,可以使用.read命令导入文本被寓的指令。即便文件中蕴藏由逗号或其他分隔符分割的价值(comma-swparated
values,CSV)组成,可使用.import[file][table]一声令下,此命令将分析指定的文件并尝试用数据插入到指定的表中。

  sqlite>.output stdout

  .read命令用来导入.dump命令创造的文书。假若从前作为备份文件所导出的file.sql,需要先移除已经是的数据库对象,然后用底的点子更导入:

  注:假使file.sql不在,将在当前工作目录中开创该公文。假诺文件是,它将让埋。

  sqlite>drop table Member;

  7.导入数据

  sqlite>drop view schema;

  有三三两两栽模式可导入数据,用啊种方法在要导入的文件格式。如若文件由SQL语句构成,可以使用.read命令导入文本被寓的下令。如若文件中蕴藏由逗号或其余分隔符分割的价值(comma-swparated
values,CSV)组成,可使用.import[file][table]命令,此命令将分析指定的公文并尝试以数据插入到指定的表中。

  sqlite>.read file.sql

  .read命令用来导入.dump命令创制的文件。如若应用前作为备份文件所导出的file.sql,需要事先移除已经有的数据库对象,然后用脚的主意重复导入:

  7.备客数据库

  sqlite>drop table Member;

  有一定量栽方法能够得数据库的备份,具体行使啊一样种在你盼的备份类型。SQL转储许是移植性最好之备份。

  sqlite>drop view schema;

  生成转储的规范措施是以CLP.dump命令:sqlite3 test.db .dump
>test.sql

  sqlite>.read file.sql

    在Shell中,可以以出口重定向到表面文件,执行命令,恢复生机至屏幕输出,如:  

  8.备卖数据库

    sqlite>.output file.sql

  有个别栽艺术可得数据库的备份,具体用啊一样种植在你望的备份类型。SQL转储许是移植性最好之备份。

    sqlite>.dump

  生成转储的科班方法是动CLP.dump命令:sqlite3 test.db .dump
>test.sql

    sqlite>.output stdout

  于Shell中,能够将出口重定向到表面文件,执行命令,复苏到屏幕输出,如:

    sqlite>.exit  

  sqlite>.output file.sql

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

  sqlite>.dump

  sqlite3 test.db <test.sql

  sqlite>.output stdout

  备份二进制数据库知识比复制文件稍多举办一些行事。备份从前需要清理数据库,这样好放部分已经抹对象不再采纳的半空中。这数据库文件就会面变换多少,因而二进制的副本为会合于小:

  sqlite>.exit

  sqlite3 test.db vacuum

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

  cp test.db test.Backup

  sqlite3 test.db

  8.其余发令

  备份二进制数据库知识比复制文件稍多做一些做事。备份从前需要清理数据库,这样可以释放部分早就去除对象不再用的半空中。这数据库文件就会转换多少,因而二进制的副本也相会比小:

  sqlite>select
last_insert_rowid();  //拿到最终插入的机关增长量值

  sqlite3 test.db vacuum

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

  cp test.db test.Backup

  sqlite>.indices Member       //查看一个表底目

  9.其他命令

  sqlite>.schema Member      
//拿到一个评释要视图的定义(DDL)语句,如若没有提供表名,则赶回所有数据库对象(table,view,index,triger)的定义语句

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

  sqlite>.tabes//再次来到所有的表和视图

  sqlite>.indices Member //查看一个表明的目录

  sqlite>.schema Member
//拿到一个讲明或视图的定义(DDL)语句,假诺无供表名,则赶回所有数据库对象(table,view,index,triger)的定义语句

http://www.bkjia.com/Mysql/434484.htmlwww.bkjia.comtruehttp://www.bkjia.com/Mysql/434484.htmlTechArticleSQLite
是一个好像Access的轻量级数据库系统,可是又粗、更快、容量还怪,并作又强。为啥说
SQLite 最符合做 CMS (内容管理网)呢?并无是…

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图