控件中国网现已改版,您看到的是老版本网站的镜像,系统正在为您跳转到新网站首页,请稍候.......
中国最专业的商业控件资讯网产品咨询电话:023-67870900 023-67871946
产品咨询EMAIL:SALES@COMPONENTCN.COM

SQLite数据库管理的相关命令

作者:未知 出处:cnblog 2012年12月10日 阅读:

 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,'上海');
 
  3.查询数据
 
  sqlite>.mode column
 
  sqlite>.headers on
 
  sqlite> select * from Member;
 
  注:select语句前面的两个命令(.headers和.mode)用于改善显示格式,可以不要。
 
  4.创建视图和索引
 
  sqlite> create view schema as select * from Member;
 
  sqlite> create index Member_Idx on Member(id)  
 
  5.导出数据
 
  使用.dump命令可以将数据库对象导出成SQL格式。不带任何参数时,.dump将整个数据库导出为数据库定义语言(DDL)和数据库操作语言(DML)命令,适合重新创建数据库对象和其中的数据。如果提供了参数,Shell将参数解析作为表名或视图,导出任何匹配给定参数的表或视图,那些不匹配的将被忽略。
 
  默认情况下.dump 命令的输出定向到屏幕。如:.dump
 
  如果要将输出重定向到文件,请使用.dump[filename]命令,此命令将所有的输出重定向到指定的文件中。若要恢复到屏幕的输出,只需要执行.output stdout命令就OK了。
 
     sqlite>.output file.sql  
 
  sqlite>.dump
 
  sqlite>.output stdout
 
  注:如果file.sql不存在,将在当前工作目录中创建该文件。如果文件存在,它将被覆盖。
 
  6.导入数据  
 
  有两种方法可以导入数据,用哪种方法取决于要导入的文件格式。如果文件由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
 
  7.备份数据库
 
  有两种方式可以完成数据库的备份,具体使用哪一种取决于你希望的备份类型。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 <test.sql
 
  备份二进制数据库知识比复制文件稍多做一点工作。备份之前需要清理数据库,这样可以释放一些已删除对象不再使用的空间。这数据库文件就会变小,因此二进制的副本也会较小:
 
  sqlite3 test.db vacuum
 
  cp test.db test.Backup
 
  8.其它命令
 
  sqlite>select last_insert_rowid();  //获得最后插入的自动增长量值
 
  sqlite>.tabes            //返回所有的表和视图
 
  sqlite>.indices Member       //查看一个表的索引
 
  sqlite>.schema Member       //得到一个表或视图的定义(DDL)语句,如果没有提供表名,则返回所有数据库对象(table,view,index,triger)的定义语句

热推产品

  • ActiveReport... 强大的.NET报表设计、浏览、打印、转换控件,可以同时用于WindowsForms谀坔攀戀Forms平台下......
  • AnyChart AnyChart使你可以创建出绚丽的交互式的Flash和HTML5的图表和仪表控件。可以用于仪表盘的创......
首页 | 新闻中心 | 产品中心 | 技术文档 | 友情连接 | 关于磐岩 | 技术支持中心 | 联系我们 | 帮助中心 Copyright-2006 ComponentCN.com all rights reserved.重庆磐岩科技有限公司(控件中国网) 版权所有 电话:023 - 67870900 传真:023 - 67870270 产品咨询:sales@componentcn.com 渝ICP备12000264号 法律顾问:元炳律师事务所 重庆市江北区塔坪36号维丰创意绿苑A座28-5 邮编:400020
在线客服
在线客服系统
在线客服
在线客服系统