sqlite3常用命令及语法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

/linchunhua/article/details/7184439

sqlite数据库只用一个文件就ok,小巧方便,所以是一个非常不错的嵌入式数据库,SQLite 大量的被用于手机,PDA,MP3播放器以及机顶盒设备。

Mozilla Firefox使用SQLite作为数据库。

Mac计算机中的包含了多份SQLite的拷贝,用于不同的应用。

PHP将SQLite作为内置的数据库。

Skype客户端软件在内部使用SQLite。

SymbianOS(智能手机操作平台的领航)内置SQLite。

AOL邮件客户端绑定了SQLite。

Solaris 10在启动过程中需要使用SQLite。

McAfee杀毒软件使用SQLite。

iPhones使用SQLite。

Symbian和Apple以外的很多手机生产厂商使用SQLite。

下面就sqlite中的常用命令和语法介绍

/download.html可下载不同操作系统的相关版本sqlite gedit

也可以使用火狐中的插件sqlite manager

新建数据库

sqlite3 databasefilename

检查databasefilename是否存在,如果不存在就创建并进入数据库(如果直接退出,数据库文件不会创建)如果已经存在直接进入数据库对数据库进行操作

sqlite中命令:

以.开头,大小写敏感(数据库对象名称是大小写不敏感的)

.exit

.help 查看帮助针对命令

.database 显示数据库信息;包含当前数据库的位置

.tables 或者.table 显示表名称没有表则不显示

.schema 命令可以查看创建数据对象时的SQL命令;

.schema databaseobjectname查看创建该数据库对象时的SQL的命令;如果没有这个数据库对象就不显示内容,不会有错误提示

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

.headers on/off 显示表头默认off

.mode list|column|insert|line|tabs|tcl|csv 改变输出格式,具体如下

sqlite> .mode list

sqlite> select * from emp;

7369|SMITH|CLERK|7902|17-12-1980|800||20

7499|ALLEN|SALESMAN|7698|20-02-1981|1600|300|30

如果字段值为NULL 默认不显示也就是显示空字符串

sqlite> .mode column

sqlite> select * from emp;

7369 SMITH CLERK 7902 17-12-1980 800 20

7499 ALLEN SALESMAN 7698 20-02-1981 1600 300 30

7521 WARD SALESMAN 7698 22-02-1981 1250 500 30

sqlite> .mode insert

sqlite> select * from dept;

INSERT INTO table VALUES(10,'ACCOUNTING','NEW YORK');

INSERT INTO table VALUES(20,'RESEARCH','DALLAS');

INSERT INTO table VALUES(30,'SALES','CHICAGO');

INSERT INTO table VALUES(40,'OPERATIONS','BOSTON');

sqlite> .mode line

sqlite> select * from dept;

DEPTNO = 10

DNAME = ACCOUNTING

LOC = NEW YORK

DEPTNO = 20

DNAME = RESEARCH

LOC = DALLAS

DEPTNO = 30

DNAME = SALES

LOC = CHICAGO

DEPTNO = 40

DNAME = OPERATIONS

LOC = BOSTON

sqlite> .mode tabs

sqlite> select * from dept;

10 ACCOUNTING NEW YORK

20 RESEARCH DALLAS

30 SALES CHICAGO

40 OPERATIONS BOSTON

sqlite> .mode tcl

sqlite> select * from dept;

"10" "ACCOUNTING" "NEW YORK"

"20" "RESEARCH" "DALLAS"

"30" "SALES" "CHICAGO"

"40" "OPERATIONS" "BOSTON"

sqlite> .mode csv

sqlite> select * from dept;

10,ACCOUNTING,"NEW YORK"

20,RESEARCH,DALLAS

30,SALES,CHICAGO

40,OPERATIONS,BOSTON

.separator "X" 更改分界符号为X

sqlite> .separator '**'

sqlite> select * from dept;

10**ACCOUNTING**"NEW YORK"

20**RESEARCH**DALLAS

30**SALES**CHICAGO

40**OPERATIONS**BOSTON

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

.dump 生成整个数据库的脚本在终端显示

.output stdout 将输出打印到屏幕默认

.output filename 将输出打印到文件(.dump .output 结合可将数据库以sql语句的形式导出到文件中)

.nullvalue STRING 查询时用指定的串代替输出的NULL串默认为.nullvalue ''

字段类型:

数据库中存储的每个值都有一个类型,都属于下面所列类型中的一种,(被数据库引擎所控制) NULL: 这个值为空值

INTEGER: 值被标识为整数,依据值的大小可以依次被存储为1,2,3,4,5,6,7,8个字节

REAL: 所有值都是浮动的数值,被存储为8字节的IEEE浮动标记序号.

TEXT: 文本. 值为文本字符串,使用数据库编码存储(TUTF-8, UTF-16BE or UTF-16-LE). BLOB: 值是BLOB数据,如何输入就如何存储,不改变格式.

值被定义为什么类型只和值自身有关,和列没有关系,和变量也没有关系.所以sqlite被称作弱类型数据库

数据库引擎将在执行时检查、解析类型,并进行数字存储类型(整数和实数)和文本类型之间的转换.

SQL语句中部分的带双引号或单引号的文字被定义为文本,

如果文字没带引号并没有小数点或指数则被定义为整数,

如果文字没带引号但有小数点或指数则被定义为实数,

如果值是空则被定义为空值.

BLOB数据使用符号X'ABCD'来标识.

相关文档
最新文档