SQLITE笔记
简介
- SQLite不支持并发
- 支持的数据库大小能够达到TB,支持GB的字符串或BLOBs(二进制信息)。
- 整个数据库存储在一个跨平台的数据文件上;
安装(sqlite.org)
- 源代码: amalgamation版本,把很多细小的东西合并成一个大家伙。
- sqlite3.exe:命令行工具
- 库文件或源码:可集成在自己程序中
命令行工具(sqlite3.exe)
cmd
sqlite3 filename.db(有则打开,无则新建)
- 特殊表:
- SQLITE_MASTER(系统表),自动创建,自动读写,不要人为修改(不能对SQLITE_MASTER表进行DROP TABLE,UPDATE,INSERT,DELETE操作),用于存放database schema
- sqlite_temp_master(临时表)
- 命令:(以“.”开始的命令为sqlite3本身的命令无分号,如.help 否则视为SQL命令)
- .mode命令:显示格式设置(8种),默认是list模式
- .header on/off:表头显示开关
- .output :输出重定向,跟文件名或stdout
-
- .dump:导出的SQL语句,用于迁移到其它数据库
- .timeout:默认超时时间是0,查询一张表或索引,发现表或索引被锁定,就立刻返回,不等待;
- .tables:可以看数据库中的所有表;
- .indices:可以列出一个指定表的所有索引;
- .schema:创建表和索引时候的create语句,也可以在后面指明表名;
- .databases:查看当前打开的所有数据库,通常是一个main一个temp;
- .dump:导出的SQL语句,用于迁移到其它数据库
8种显示格式:
默认是list模式,默认的分隔线是“|”;
list模式特别适合用于AWK;
line模式,每列都单独一行,列名等于列值,记录之间有空行;
column模式,与SQL PLUS中的缺省模式相同;.header on 打开头,.header off 关闭头;此模式可读性比较好;
.width 3 30,第一列最长3,第二列最长30;
insert模式,产生INSERT的SQL语句,挺有意思;.mode insert 目标表名;
html模式,XHTML table,适合做CGI处理;list模式一行一条记录,每列竖线分隔;