一些很有用的SQLite命令总结

来源:脚本之家  责任编辑:小易  

  SQLite3是目前最新的SQLite版本。可以从网站上下载SQLite3的源代码(本书使用的版

显示表结构:

SQLite3是目前最新的SQLite版本。可以从网站上下载SQLite3的源代码(本书使用的版本是

复制代码 代码如下:

上次刚接触SqlLite,不知道怎么创建数据库,现在做下总结:界面和MYSQL一样,都是CMD界

sqlite> .schema [table]

.help查看帮助信息.backup ?DB? FILE备份数据库, 方法:.backu

获取所有表和视图:

苹果电脑怎么用命令行查看sqlite一直使用Eclipse开发Android。DDMS下有一个e

复制代码 代码如下:

上次刚接触SqlLite,不知道怎么创建数据库,现在做下总结:界面和MYSQL一样,都是CMD界

sqlite > .tables

说到国产智能手环,小米手环是当之无愧的第一“爆品”,主要得益于其低廉的价格,和广泛的受众人群。不过其功能和大多数手环类似,主要针对睡眠、计步、心率监测等,并没有太大突破。腾讯手环是由腾讯和Pacewear共同打造。腾讯直指小米手环,除了运动和健康监测,社交功能将是其主打卖点之一,这是目前市面上没有的。这款手环还提供0.49英寸PMOLED屏,光电式心率传感器,100mAh容量电池。光电池续航还比小米手环2多出一天,总计达21天。就目前来看,小米手环不管是从口碑还是销量来说,腾讯手环要想迅速杀入该领域并与其形成一定的竞争力还是非常困难,但基于QQ和微信两大霸王社交应用奠定的巨大用户群体,未来要想

获取指定表的索引列表:

作为一名武警老兵曾经看了五年看守所,每天都看这里面的人。记得有好几次叫我们去绑死刑犯,当时早上六点多就过去了,干警让里面的人都转过去蹲下,我们直接过去两人一左一右把死刑犯给提出去。绑他的时候他一直都很淡定,给他买的早餐问他吃吗,他说不吃。他说只想抽根烟,干警把烟给他点上然后和他聊家常。他说我卡里还有八百块钱麻烦我走了之后帮我给我老婆一下,干警说你放心吧。当时我在旁边看着心里有一种说不出来的感觉,感觉一个人在强大在罪恶心中也有柔软的地方。感觉到了法律的敬畏。最后看着他被法警开车过来带走了,带去安乐死。这样的事经历过好几次,真的觉得生命很脆弱一闪而逝前一秒还能看到他,下一秒他已经去了别的世界。

复制代码 代码如下:

上次刚接触SqlLite,不知道怎么创建数据库,现在做下总结:界面和MYSQL一样,都是CMD界

sqlite > .indices [table ]

导出数据库到 SQL 文件:

复制代码 代码如下:

上次刚接触SqlLite,不知道怎么创建数据库,现在做下总结:界面和MYSQL一样,都是CMD界

sqlite > .output [filename ]

sqlite > .dump

sqlite > .output stdout

从 SQL 文件导入数据库:

复制代码 代码如下:

上次刚接触SqlLite,不知道怎么创建数据库,现在做下总结:界面和MYSQL一样,都是CMD界

sqlite > .read [filename ]

格式化输出数据到 CSV 格式:

复制代码 代码如下:

上次刚接触SqlLite,不知道怎么创建数据库,现在做下总结:界面和MYSQL一样,都是CMD界

sqlite >.output [filename.csv ]

sqlite >.separator ,

sqlite > select * from test;

sqlite >.output stdout

从 CSV 文件导入数据到表中:

复制代码 代码如下:

上次刚接触SqlLite,不知道怎么创建数据库,现在做下总结:界面和MYSQL一样,都是CMD界

sqlite >create table newtable ( id integer primary key, value text );

sqlite >.import [filename.csv ] newtable

备份数据库:

复制代码 代码如下:

上次刚接触SqlLite,不知道怎么创建数据库,现在做下总结:界面和MYSQL一样,都是CMD界

/* usage: sqlite3 [database] .dump > [filename] */

sqlite3 mytable.db .dump > backup.sql

恢复数据库:

复制代码 代码如下:

上次刚接触SqlLite,不知道怎么创建数据库,现在做下总结:界面和MYSQL一样,都是CMD界

/* usage: sqlite3 [database ] < [filename ] */

sqlite3 mytable.db < backup.sql

扩展阅读,根据您访问的内容系统为您准备了以下内容,希望对您有帮助。

SQLite数据库常用命令有哪些

private void MyPrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)

public static boolean isNumeric(String str){

if(str.matches("//d*"){

return true;

}else{

return false;

}

}

sqlite的几个常用方法

SQLite库包含一个名字叫做sqlite3的命令行,它可以让用户手工输入并执行面向SQLite数据库的SQL命令。本文档提供一个样使用sqlite3的简要说明。

开始

启动sqlite3程序,仅仅需要敲入带有SQLite数据库名字的"sqlite3"命令即可。如果文件不存在,则创建一个新的(数据库)文件。然后 sqlite3程序将提示你输入SQL。敲入SQL语句(以分号“;”结束),敲回车键之后,SQL语句就会执行。

例如,创建一个包含一个表"tb11"名字为"ex1"的SQLite数据库,你可以这样做:

$sqlite3 ex1

SQLite version 3.3.17

Enter ".help" for instructions

sqlite> create table tbl1(one varchar(10), two smallint);

sqlite> insert into tbl1 values('hello!', 10);

sqlite> insert into tbl1 values('goodbye', 20);

sqlite> select * from tbl1;

hello!|10

goodbye|20

sqlite>

你可以通过敲你所用系统的文件结束符(通常是Ctrl + D)或者中断字符(通常是Ctrl + C)。来终止sqlite3程序。确定你在每个SQL语句结束敲入分号!sqlite3程序通过查找分号来决定一个SQL语句的结束。如果你省略分号,sqlite3将给你一个连续的命令提示符并等你给当前的SQL命令添加更多的文字。这个特点让你输入多行的多个SQL语句,例如:

sqlite> create table tbl2(

...> f1 varchar(30) primary key,

...> f2 text,

...> f3 real

...> );

sqlite>

题外话:查询SQLITE_MASTER表

SQLite数据库的框架被保存在一个名叫"sqlite_master"的特殊的表中。你可以像查询其它表一样通过执行“SELECT”查询这个特殊的表。例如:

$ sqlite3 ex1

SQlite vresion 3.3.10

Enter ".help" for instructions

sqlite> select * from sqlite_master;

type = table

name = tbl1

tbl_name = tbl1

rootpage = 3

sql = create table tbl1(one varchar(10), two smallint)

sqlite>

但你不能在sqlite_master表中执行诸如DROP TABLE, UPDATE, INSERT 或者DELETE命令。sqlite_master表在你创建、删除和索引数据库时自动更新这个表。你不能手工更改sqlite_master表。

TEMPORARY表的结构没有存储在"sqlite_master"表中,由于TEMPORARY表对应用是不可见的,而不是应用程序创建这个表。 TEMPORARY表结构被存储在另外一个名叫"sqlite_temp_master"的特定的表中。"sqlite_temp_master"表是临时表自身。

sqlite3的特殊命令

大多数候,sqlite3读入输入行,并把它们传递到SQLite库中去运行。但是如果输入行以一个点(“.”)开始,那么这行将被sqlite3程序自己截取并解释。这些“点命令”通常被用来改变查询输出的格式,或者执行鞭个预封包(预定义prepackaged)的查询语句。

你可以在任何时候输入“.help”,列出可用的点命令。例如

sqlite> .help

.bail ON|OFF Stop after hitting an error. Default OFF

.databases List names and files of attached databases

.dump ?TABLE? ... Dump the database in an SQL text format

.echo ON|OFF Turn command echo on or off

.exit Exit this program

.explain ON|OFF Turn output mode suitable for EXPLAIN on or off.

.header(s) ON|OFF Turn display of headers on or off

.help Show this message

.import FILE TABLE Import data from FILE into TABLE

.indices TABLE Show names of all indices on TABLE

.load FILE ?ENTRY? Load an extension library

.mode MODE ?TABLE? Set output mode where MODE is one of:

csv Comma-separated values

column Left-aligned columns. (See .width)

html HTML <table> code

insert SQL insert statements for TABLE

line One value per line

list Values delimited by .separator string

tabs Tab-separated values

tcl TCL list elements

.nullvalue STRING Print STRING in place of NULL values

.output FILENAME Send output to FILENAME

.output stdout Send output to the screen

.prompt MAIN CONTINUE Replace the standard prompts

.quit Exit this program

.read FILENAME Execute SQL in FILENAME

.schema ?TABLE? Show the CREATE statements

.separator STRING Change separator used by output mode and .import

.show Show the current values for various settings

.tables ?PATTERN? List names of tables matching a LIKE pattern

.timeout MS Try opening locked tables for MS milliseconds

.width NUM NUM ... Set column widths for "column" mode

sqlite>

改变输出格式

sqlite3程序可以以八种不同的格式显示一个查询的结果:"csv", "列", "html", "插入", "行", "制表"和"tcl"。你可以用".mode"点命令在这些输出格式之间切换。

默认的输出格式是“列表”。在列表模式下,每条查询结果记录被写在一行中并且每列之间以一个字符串分割符隔开。默认的分隔符是一个管道符号(“|”)。列表符号在当你输出查询结果到另外一个符加处理的程序(如AWK)中去是尤为有用。

sqlite> .mode list

sqlite> select * from tbl1;

hello|10

goodbye|20

sqlite>

你可以用“.separator”点命令来改变分界符。例如,为了把分割符改为一个逗号和一个空格,你可以这样做:

sqlite> .separator ", "

sqlite> select * from tbl1;

hello, 10

goodbye, 20

sqlite>

在“line"模式下,每一个位于条记录中的列在它自己那行显示。每行由列名、一个等号和列数据组成。下一条记录以一个空行隔开。这是一个行模式输出的例子:

sqlite> .mode line

sqlite> select * from tbl1;

one = hello

two = 10

one = goodbye

two = 20

sqlite>

在列模式下,每条记录在一个单独的行中以数据列对齐的方式显示。列如:

sqlite> .mode column

sqlite> select * from tbl1;

one two

---------- ----------

hello 10

goodbye 20

sqlite>

在默认的情况下,每列至少10个字符宽。太宽的数据将被截取。你可以用“.width”命令来调整列宽。如下所示:

sqlite> .width 12 6

sqlite> select * from tbl1;

one two

------------ ------

hello 10

goodbye 20

sqlite>

上面例子中".width"命令设置第一列宽为12第二列宽为6。其它的列宽不变。你可以指定与你查询结果需要的列数一样多的“.width”参数。

如果你指定一列宽为0,那么这个列宽将自动以下面三个数字中的最大值做为列宽:10、表头宽度和最宽的数据列的宽度。这可以让列自动调整宽度。每列的默认设置为自动调整的0值。

出现在输出开头两行的列标示可以用".header"点命令关闭。在上面的例子中,列标示是打开的。可以用下面的方法关闭列标示:

sqlite> .header off

sqlite> select * from tbl1;

hello 10

goodbye 20

sqlite>

另外一个有用的输出模式是"insert"。在插入模式下,被子格式化为看起来像SQL INSERT语句的样式。你可以用插入模式来产生文件(便于)以后用于不同数据库的输入。

当指定插入模式时,你必须给定一个特定参数就是要插入的表名。例如:

sqlite> .mode insert new_table

sqlite> select * from tbl1;

INSERT INTO 'new_table' VALUES('hello',10);

INSERT INTO 'new_table' VALUES('goodbye',20);

sqlite>

最新的输出格式是“html”。在这种模式下,sqlite3把查询的结果写做XHTML表。开始的<TABLE>和结束的</TABLE>(标记)没有写出,但有<TR>、<TH>和<TD>等分界符。html输出对 CGI来说是相当有用地。

把结果写到文件中

默认情况下,sqlte3把结送到标准输出。你可以用“.output”命令改变它。只须把输出文件名做为.output命令的输出参数然后所有后续查询结果将被写到那个文件中。用“.output stdout”再一次改为标准输出。例如:

sqlite> .mode list

sqlite> .separator |

sqlite> .output test_file_1.txt

sqlite> select * from tbl1;

sqlite> .exit

$ cat test_file_1.txt

hello|10

goodbye|20

$

查询数据库结构

sqlite3程序提供几个有用的用于查询数据库结构的快捷命令。这些不是不可以用别的方式来实现。这些命令仅仅是一个快捷方式而已。

例如,为了查看数据库的表列表,你可以敲入“.tables”。

sqlite> .tables

tbl1

tbl2

sqlite>

“.tables”命令相似于设置列表模式然后执行接下来的查询:

SELECT name FROM sqlite_master

WHERE type IN ('table','view') AND name NOT LIKE 'sqlite_%'

UNION ALL

SELECT name FROM sqlite_temp_master

WHERE type IN ('table','view')

ORDER BY 1事实上,你可以查看sqlite3的源代码(可以在源文件树的src/shell.c中),你可找到上面的具体的查询。“.indices”命令作用类似的方式是列出特定表的所有的索引。“.indics”命令须一个参数即所要索引表的表名。最后,但不是至少,是“.schema”命令。不带任何参数,“.schema”命令显示原始的用于创建当前数据库的CREATE TABLE和CREATE INDEX语句。如果你给".schema"命令一个表名,它显示原始的创建该表和它所有索引的CREATE语句。我们可以:sqlite> .schemacreate table tbl1(one varchar(10), two smallint)CREATE TABLE tbl2 ( f1 varchar(30) primary key, f2 text, f3 real)sqlite> .schema tbl2CREATE TABLE tbl2 ( f1 varchar(30) primary key, f2 text, f3 real)sqlite> ".schema"命令可以用设置列表然后执行以下查询来实现:

SELECT sql FROM

(SELECT * FROM sqlite_master UNION ALL

SELECT * FROM sqlite_temp_master)

WHERE type!='meta'

ORDER BY tbl_name, type DESC, name

.databases 列出数据库文件名

.tables ?PATTERN? 列出?PATTERN?匹配的表名

.import FILE TABLE 将文件中的数据导入的文件中

.dump ?TABLE? 生成形成数据库表的SQL脚本

.output FILENAME 将输出导入到指定的文件中

.output stdout 将输出打印到屏幕

.mode MODE ?TABLE? 设置数据输出模式(csv,html,tcl…

.nullvalue STRING 用指定的串代替输出的NULL串

.read FILENAME 执行指定文件中的SQL语句

.schema ?TABLE? 打印创建数据库表的SQL语句

.separator STRING 用指定的字符串代替字段分隔符

.show 打印所有SQLite环境变量的设置

.quit 退出命令行接口

怎样可以使用sqlite3命令

进入到sqlite互动模式。输入sqlite3,或者sqilite3+*.db,其中*是数据库的名字,如果没有这个名字的数据库就创建一个新的数据库。

.exit ,退出sqlite互动模式的命令

.help,列出命令的提示信息。

create table <table_name> (f1 type1, f2 type2,…);创建新表

.tables显示数据库中所有表名

drop table <table_name>删除表

.schema <table_name> 查看表的结构

.database 显示当前打开的数据库文件

insert into <table_name> values (value1, value2,…);向表中添加新记录

select * from <table_name>;查询表中所有记录

11

update <table_name> set <f1=value1>, <f2=value2>… where <expression>; 更新表中记录

如何使用命令行查看内嵌数据库SQLite3

【1】在Android程序中,一般创建的数据库存放在 /data/data/[应用程序包名]/databases 的目录下。

【2】cd 命令:文件夹跳转命令。ls 命令:查看某个文件夹下面有哪些文件。

【3】使用 "sqlite3 [数据库名称] " 命令来对某数据库进行一系列的操作。

【4】在经过第【3】步骤后,可以使用 .tables 命令查看某数据库中包含哪些表。若要查询某表中包含的数据,在 sqlite> 命令后输入查询的SQL语句即可查询,但要注意的是要以分号[;]来结束该语句的输入。

【5】若在命令行中输入 adb shell 后,提示:adb不是内部或外部命令,也不是可运行的程序,或批处理文件,遇到这种情况是由于环境变量没有设置好的问题导致的。解决方法:在安装的android sdk 包目录下的找到adb工具所在目录,一般是在...\android-sdk-windows\tools目录或者在...\android-sdk-windows\platform-tools目录下。把该目录添加到path环境变量中就OK了。

如何用sqlite3

sqlite的安装

1. 首先是下载sqlite,可以该页面下载:http://www.sqlite.org/download.html

当前的最新版本为:sqlite-shell-win32-x86-3070701.zip这个是windows下sqlite的命令行管理工具,用它可以管理sqlite数据库文件

同时最好把文档也下载下来,里面包含了详细的sqlite的使用说明:sqlite-doc-3070701.zip

2.

sqlite无需任何配置和安装,只要将下载下来的shell文件解压到任何你觉得合适的地方,然后将其加入到path环境变量就可以了(加入path环

境变量是为了直接在命令行使用sqlite3,不加的话需要详细的指定sqlite3的路径,如d:/sqlite/sqlite3)。

3. 验证一下是否安装成功。

要想掌握一个软件的使用,最好的方式是使用软件自带的帮助和文档,而不是一直利用google。文档和帮助一般包含了该软件所有的用法,毕竟那是有软件的开发者所写的,他对软件是最了解的。

首先来看一下sqlite的帮助:

win + r输入cmd,进入命令行,并输入sqlite3,进入sqlite的命令行管理工具。

然后输入.help,则可以看到sqlite3的管理工具的所有用法了:

为了照顾e文不好的朋友,这里将所有的命令解释一遍,并给出相应的示例:

首先创建一个数据库test.db,并在该数据库中创建一张表user

1.因为之前进入了sqlite3了,先用.quit退出sqlite

2.再用sqlite3 test.db加载或创建指定数据库

3.然后用sql语句创建一个一张表user(关于sql语句,可以去看些sql入门的书籍,在sqlite文档中也有对应的sql的介绍,不过

感觉那个不适合入门,因为毕竟很多数据库的基本知识里面都没有讲到)(同时还需要注意的是sqlite是可以不指定列的类型的,这也是sqlite的一个

特色,它的列类型是动态的)

4.然后又用到了一个显示当前数据库中存在的数据表的命令.tables(.help中倒数第三个)

5.最后向数据表中插入了一条数据(sql语句,不是.help中的命令)

接下来从上到下介绍所有命令的使用:

.backup ?DB? FILE

将数据库文件备份到指定的文件中,默认(在不指定数据库名时)会备份main数据库)

备份生成的文件打开后

.bail ON|OFF

设置在遇到错误时就停止sqlite工具的执行,默认时是OFF的。

.databases

列出(当前数据库文件中)附加的所有数据库的名字和文件

.dump ?TABLE1? ?TABLE2? ...

将数据库打印为sql文本格式。如果?TABLE1?指定了,就只打印出名字中包含了TABLE1的数据表。

.echo ON|OFF

在显示的结果前是否显示输入的命令

注意:这个是以column模式显示了,后面会讲到如何将显示方式设置为column

.exit

不解释,退出程序

.explain ?ON|OFF?

开启或关闭适合于的输出模式。不指定ON或OFF时,默认为ON。

.genfkey ?OPTIONS?

OPTIONS有如下几个值:

--no-drop:不删除旧的外键触发器

--ignore-error:忽略表的外键错误

--exec:立即执行生成的sql语句

这个应该是设置在违反外键约束时,sqlite如何做。具体的没尝试。

.headers ON|OFF

是否显示表头

.mode MODE ?TABLE?

设置输出模式,当?TABLE?指定时,就是该输出模式只应该在该表的输出上

.header on时的各输出模式

.header off时的各输出模式

.help

显示帮助

.import FILE TABLE

读取文件中的数据插入到指定表中

注意这里的分隔符.separator是\t,所以data.txt中是以tab分隔的,默认的是,(此时就是2,yuan2,2)

indices ?TABLE?

显示指定表的所有索引。表没指定时,显示所有索引。

.load FILE ?ENTRY?

加载一个外部库文件

.log FILE|off

开启或关闭日志功能。

关闭:.log off

开启,并将日志输出到标准输出流:.log stdout

开启,并将日志输出到标准错误六:.log stderr

开启,并将日志输出到指定文件:.log d:/sqlite3/log.txt

nullvalue STRING

值为NULL时,显示的字符串。默认为""

.output FILENAME

将所有的输出都输出到指定文件

.output stdout

将所有的输出都输出到标准输出流(默认就是),就是输出到控制台上

.prompt MAIN CONTINUE

替换标准的提示。未尝试

.quit

不解释,同.exit,退出程序。

.read FILENAME

执行指定文件中的sql语句

.restore ?DB? FILE

从备份文件中还原数据库。默认是还原main数据库。

1. 首先我们先备份的main数据库

2. 然后将数据删除

3. 然后在还原main数据库,看数据是否还原成功

.schema ?TABLE?

显示指定表的创建语句。表未指定时,显示所有表的创建语句。

因为之前创建了索引,所以包含索引创建语句。

.separator STRING

设置输出模式.mode和导入数据.import的分隔符。

.show

显示当前的设置。

.tables ?TABLE?

列出所有表名。

.timeout MS

只在指定的毫秒内尝试打开锁定的表,而不是一直尝试打开。

.width NUM1 NUM2 ...

设置.mode column中每个列的宽度。每个列默认的宽度是10个字符,过长时会被截断。

第一列设为1个字符,第二列设为0表示保持不变,第三类不设置也是保持不变

.timer ON|OFF

是否开启cpu耗时度量。

  • 本文相关:
  • sqlite数据库管理相关命令的使用介绍
  • linux sqlite3 基本命令
  • sqlite 入门教程一 基本控制台(终端)命令
  • sqlite3 命令行操作指南
  • ubuntu下使用sqlite3的基本命令
  • sqlite教程(八):命令行工具介绍
  • sqlite教程(十一):临时文件
  • sqlite3中自增主键相关知识总结
  • sqlite中的wal机制详细介绍
  • sqlite教程(六):表达式详解
  • sqlite 入门教程三 好多约束 constraints
  • sqlite常用语句以及sqlite developer的使用与注册
  • 基于sqlite特殊字符转义的实现方法
  • sqlite数据库里插入数据的条数上限是500
  • 一些很有用的sqlite命令总结
  • sqlite教程(十四):c语言编程实例代码(2)
  • SQLite数据库常用命令有哪些
  • sqlite的几个常用方法
  • 怎样可以使用sqlite3命令
  • 如何使用命令行查看内嵌数据库SQLite3
  • 如何用sqlite3
  • 怎样使用SQLite
  • 有没有什么使用SQLite 3的管理工具
  • 如何创建sqlite数据库
  • sqlite3 有几种命令行模式
  • 苹果电脑怎么用命令行查看sqlite
  • 免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved