20160612 更新
1,什么是sqlite?
sqlite是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 sql 数据库引擎。它是一个零配置的数据库。
2.sqlite的优势
-
不需要一个单独的服务器进程或操作的系统(无服务器的)。
-
sqlite 不需要配置,这意味着不需要安装或管理。
-
sqlite 是自给自足的,这意味着不需要任何外部的依赖。
-
sqlite 事务是完全兼容 ACID 的,允许从多个进程或线程安全访问。
-
sqlite 使用 ANSI-C 编写的,并提供了简单和易于使用的 API。
-
sqlite 可在 UNIX(Linux,Mac OS-X,Android,iOS)和 Windows(Win32,WinCE,WinRT)中运行
(1)DDL(数据定义语言): create drop alter
(2)DML(数据操纵语言): delete update insert
(3)DQL(数据查询语言): select
4.sqlite的安装
在windows里不需要安装,在http://www.sqlite.org/download.html 这里下载sqlite-tools-win32-x86-3130000.zip 这个东西。
我以我的为例:
在F盘创建一个文件夹sqlite3,将下载的文件解压,会有三个文件(sqlite3.exe sqldiff.exe sqlite3_analyzer.exe),直接放在sqlite3目录下就可以了。
运行: 运行cmd.exe 然后切换到F盘的sqlite3文件夹。就可以直接运行了。
20160614 更新
1.sqlite命令:我们在命令提示符下键入一个简单的sqlite3命令,在 sqlite 命令提示符下,您可以使用各种 sqlite 命令。
就像这样:
2.需获取可用的点命令的清单,可以在任何时候输入 ".help",再回车就可以。
还可以进行设置:就像下面这样(具体可以参考: http://blog.csdn.net/wirelessqa/article/details/21030147 )
4.先说一个命令:
.read ***(一个数据文件)
比如说我在sqlite3目录下新建一个文档: create_company.txt
里面的内容是:
drop table company; -- 删除表
create table company( --创建表 这个表示单行注释
ID int primary key not NULL,/*这个是多行注释*/
NAME TEXT NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR(50),
SALARY REAL
);
然后:.read create_company.txt /* 就相当于直接运行了create_company.txt里面的语句*/
5. sqlite语法:sqlite 是遵循一套独特的称为语法的规则和准则
(具体后面用到时再分析)
6. sqlite数据类型:数据类型是一个用来指定任何对象的数据类型的属性
可以在创建表的同时使用这些数据类型。sqlite 使用一个更普遍的动态类型系统。在 sqlite 中,值的数据类型与值本身是相关的,而不是与它的容器相关。
(1)sqlite存储类:主要有以下几种,冒号后面是解释
NULL: 一个NULL值
INTEGER: 一个带符号的整数,根据值的大小存储在 1、2、3、4、6 或 8 字节中
REAL:浮点数,存储为8字节的IEEE浮点数字
TEXT:文本字符串,使用数据库编码(UTF-8、UTF-16BE等)存储
GLOB:blob数据,完全根据它的输入存储(这个我也不是很理解)
(2)布尔数据类型: 没有专门的布尔数据,只有0和1
7. 创建数据库:
(1)基本语法如下: sqlite>sqlite3 testDB.db
如:sqlite> testDB,db.dump >testDB,sql /* 将转换整个testDB.db数据库的内容到 sqlite 的语句中,并将其转储到 ASCII 文本文件testDB.sql中 */
原文链接:https://www.f2er.com/sqlite/198705.html