SQLite语法 PRAGMA
SQLite支持的编译指令(pragma)
PRAGMA命令
是用于修改SQlite库或查询SQLite库内部数据(non-table)的特殊命令。PRAGMA 命令使用与其它SQLite命令(e.g. SELECT, INSERT)相同的接口,但在如下重要方面与其它命令不同:
在未来的SQLite版本中部分pragma可能被删除或添加,小心使用。
当使用未知的pragma语句时不产生报错。未知的pragma仅仅会被忽略,即是说若是打错了pragma语句SQLite不会提示用户。
一些pragma在SQL编译阶段生效而非执行阶段。即是说若使用C语言的sqlite3_compile(),
sqlite3_step(), sqlite3_finalize() API
(或类似的封装接口中),pragma可能在调用sqlite3_compile()期间起作用。
pragma命令不与其它SQL引擎兼容。
可用的pragma命令有如下四个基本类型:
用于察看当前数据库的模式
。
用于修改SQLite库的操作
或查询当前的操作模式。
用于查询或修改两个数据库的版本号
,schema-version和user-version.
用于调试库
和校验数据库文件。
PRAGMA命令语法
sql-statement
::=
PRAGMA
name
[=
value
]
|
PRAGMA
function
(
arg
)
使用整数值value
的pragma也可以使用符号表示,字符串"on
", "true
",和 "yes
" 等同于1
,"off
", "false
",和 "no
"等同于0
. 这些字符串大小写不敏感且无须进行引用。无法识别的字符串被当作1
且不会报错。value
返回时是整数。
用于修改SQLite库的操作的Pragma
PRAGMA auto_vacuum;
PRAGMA auto_vacuum =
0 | 1
;
查询或设置数据库的auto-vacuum标记。
正常情况下,当提交一个从数据库中删除数据的事务时,数据库文件不改变大小。未使用的文件页被标记并在以后的添加操作中 再次使用。这种情况下使用VACUUM
命令释放删除得到的空间。
当开启auto-vacuum,当提交一个从数据库中删除数据的事务时,数据库文件自动收缩, (VACUUM命令在auto-vacuum开启的数据库中不起作用)。数据库会在内部存储一些信息以便支持这一功能,这使得 数据库文件比不开启该选项时稍微大一些。
只有在数据库中未建任何表时才能改变auto-vacuum标记。试图在已有表的情况下修改不会导致报错。
PRAGMA cache_size;
PRAGMA cache_size =
Number-of-pages
;
查询或修改SQLite一次存储在内存中的数据库文件页数。每页使用约1.5K内存,缺省的缓存大小是2000. 若需要使用改变大量多行的U
相关文档:
SQLite驱动支持的SQL 列类型
类型描述
TINYBLOB, BLOB, MEDIUMBLOB, LONGBLOB, BYTEA
不限制长度的字符串类型. 二进制数据必须安全地编码存储, 见text类型.
CHAR(), VARCHAR(), TINYTEXT, TEXT, MEDIUMTEXT, LONGTEXT
不限制长度的字符串类型. 不会被截断或者填充
ENUM
不限制长度的字符串类型. 不像 MySQL, 使用 ......
1、如何得到最后插入项的自动增长ID值? 对应的C#代码段如下:
using (SQLiteConnection cn = new SQLiteConnection (“data source = Test.db”))
{
cn.Open ();
SQLiteCommand cmd = new SQLiteCommand ......
要用ASP来操作SQLite数据库,前提条件是在服务器上得安装SQLite的ODBC驱动程序,可到这个站点上下载安装:http://www.ch-werner.de/sqliteodbc/,安装好后就可以像使用Access一样来使用SQLite了!下边是一个SQLite数据库结构:
引用内容
Create TABLE admin(username text,age integer);
我们再来用ASP演示下如何对SQLi ......
2010年SQLite学习笔记之二
一.建立数据库
sqlite3.exe test.db
二.双击sqlite-3_6_16目录下的程序sqlite3.exe,即可运行
三.退出
.exit
或者
.quit
四.SQLite支持如下5种数据类型
1.NULL:空值。
2.INTEGER:带符号的整型,具体取决有存入数字的范围大小。
3.REAL:浮点数字,存储为8-byte IEEE浮点数 ......