您现在的位置是:网站首页> 编程资料编程资料
SQLite数据库管理的相关命令_资源网
2023-12-06
189人已围观
简介 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)的定义语句
相关内容
- SQL SERVER 2005如何建立自动备份的维护计划_资源网
- Oracle报ora-00603错误不能处理大数据并发的问题解决方案_资源网
- 3步教你一键自动备份mysql数据库的方法_资源网
- MySQL配置文件mysql.ini参数详解、MySQL性能优化_资源网
- wdcp修改mysql数据库root密码时提示原密码不对_资源网
- 天天飞车S级极光怎么样 S级极光满级属性介绍说明_手机游戏_游戏攻略_
- 啪啪三国最新版本五星卡介绍_手机游戏_游戏攻略_
- 超级英雄手游新手攻略 初始强力英雄推荐_手机游戏_游戏攻略_
- 刀塔传奇各种族专精分析 新手发展路线详解_手机游戏_游戏攻略_
- 神魔大陆手游牧师详细介绍_手机游戏_游戏攻略_