摘要:安装在Windows上安装SQLite。SQLite命令在命令行窗口输入sqlite3可进入sqlite命题提示符,此时可使用各种sqlite命令。.quit退出SQLite提示符。使用.show命令查看SQLite命令提示符的默认设置。SQLite语法sqlite不区分大小写。SQLite数据类型SQLite存储类存储类描述NULL值是一个NULL值。使用.databases命令来检查是否在数据库列表中使用.quit退出sqlite提示符SQLite附加数据库SQLite的ATTACHDATABASE语句是用来选择一个特定的数据库,使用该命令后,所有的SQLite语句将在附加的数据库下执行。
安装
在Windows上安装SQLite。
访问官网下载下Precompliled Binaries for Windows的两个压缩包。
创建sqlite文件夹,路径不要包含中文,把压缩包的内容解压到文件夹中。再将这个文件添加进PATH环境变量中。
此时打开命令行窗口输入sqlite3,将会出现对应提示,表示安装完成。
SQLite命令
在命令行窗口输入sqlite3可进入sqlite命题提示符,此时可使用各种sqlite命令。
输入.help
会显示各种重要的点命令列表。
命令 | 描述 |
---|
.backup ?DB? FILE | 备份 DB 数据库(默认是 "main")到 FILE 文件。 |
.bail ON|OFF | 发生错误后停止。默认为 OFF。 |
.databases | 列出数据库的名称及其所依附的文件。 |
.dump ?TABLE? | 以 SQL 文本格式转储数据库。如果指定了 TABLE 表,则只转储匹配 LIKE 模式的 TABLE 表。 |
.echo ON|OFF | 开启或关闭 echo 命令。 |
.exit | 退出 SQLite 提示符。 |
.explain ON|OFF | 开启或关闭适合于 EXPLAIN 的输出模式。如果没有带参数,则为 EXPLAIN on,即开启 EXPLAIN。 |
.header(s) ON|OFF | 开启或关闭头部显示。 |
.help | 显示消息。 |
.import FILE TABLE | 导入来自 FILE 文件的数据到 TABLE 表中。 |
.indices ?TABLE? | 显示所有索引的名称。如果指定了 TABLE 表,则只显示匹配 LIKE 模式的 TABLE 表的索引。 |
.load FILE ?ENTRY? | 加载一个扩展库。 |
.log FILE|off | 开启或关闭日志。FILE 文件可以是 stderr(标准错误)/stdout(标准输出)。 |
.mode MODE | 设置输出模式,MODE 可以是下列之一:csv 逗号分隔的值column 左对齐的列html HTML 的 代码insert TABLE 表的 SQL 插入(insert)语句line 每行一个值list 由 .separator 字符串分隔的值tabs 由 Tab 分隔的值tcl TCL 列表元素.nullvalue STRING | 在 NULL 值的地方输出 STRING 字符串。 | .output FILENAME | 发送输出到 FILENAME 文件。 | .output stdout | 发送输出到屏幕。 | .print STRING... | 逐字地输出 STRING 字符串。 | .prompt MAIN CONTINUE | 替换标准提示符。 | .quit | 退出 SQLite 提示符。 | .read FILENAME | 执行 FILENAME 文件中的 SQL。 | .schema ?TABLE? | 显示 CREATE 语句。如果指定了 TABLE 表,则只显示匹配 LIKE 模式的 TABLE 表。 | .separator STRING | 改变输出模式和 .import 所使用的分隔符。 | .show | 显示各种设置的当前值。 | .stats ON|OFF | 开启或关闭统计。 | .tables ?PATTERN? | 列出匹配 LIKE 模式的表的名称。 | .timeout MS | 尝试打开锁定的表 MS 毫秒。 | .width NUM NUM | 为 "column" 模式设置列宽度。 | .timer ON|OFF | 开启或关闭 CPU 定时器。 |
使用.show 命令查看SQLite命令提示符的默认设置。 SQLite语法 sqlite不区分大小写。 注释方式:使用两个连续的"-"字符开始,到下一个换行符或直到输入结束。也可以使用C风格的/*注释内容*/ SQLite以分号结束。 SQLite数据类型 SQLite存储类存储类 | 描述 |
---|
NULL | 值是一个 NULL 值。 | INTEGER | 值是一个带符号的整数,根据值的大小存储在 1、2、3、4、6 或 8 字节中。 | REAL | 值是一个浮点值,存储为 8 字节的 IEEE 浮点数字。 | TEXT | 值是一个文本字符串,使用数据库编码(UTF-8、UTF-16BE 或 UTF-16LE)存储。 | BLOB | 值是一个 blob 数据,完全根据它的输入存储。 | SQLite创建数据库 使用sqlite3命令来创建新的SQLite数据库。通常情况下数据库名称在RDBMS内时唯一的。 使用.databases 命令来检查是否在数据库列表中 使用.quit 退出sqlite提示符 SQLite附加数据库 SQLite 的 ATTACH DATABASE 语句是用来选择一个特定的数据库,使用该命令后,所有的 SQLite 语句将在附加的数据库下执行。 ATTACH DATABASE file_name AS database_name;
--实例
sqlite> ATTACH DATABASE 'testDB.db' as 'TEST';
SQLite C/C++接口 DEVC++ 进行使用首先先要生成sql.a。在官网下载x64的源码,devC++新建static lib项目,将所有源码复制进项目文件夹并添加。编译即可得到。 自己使用的程序中将生成的sql.a文件和sqlite3.h文件复制到项目文件夹中。在项目属性- 序号 | API & 描述 |
---|
1 | sqlite3_open(const char *filename, sqlite3 **ppDb) 该例程打开一个指向 SQLite 数据库文件的连接,返回一个用于其他 SQLite 程序的数据库连接对象。如果 filename 参数是 NULL 或 ':memory:',那么 sqlite3_open() 将会在 RAM 中创建一个内存数据库,这只会在 session 的有效时间内持续。如果文件名 filename 不为 NULL,那么 sqlite3_open() 将使用这个参数值尝试打开数据库文件。如果该名称的文件不存在,sqlite3_open() 将创建一个新的命名为该名称的数据库文件并打开。 | 2 | sqlite3_exec(sqlite3*, const char *sql, sqlite_callback, void *data, char **errmsg) 该例程提供了一个执行 SQL 命令的快捷方式,SQL 命令由 sql 参数提供,可以由多个 SQL 命令组成。在这里,第一个参数 sqlite3 是打开的数据库对象,sqlite_callback 是一个回调,data 作为其第一个参数,errmsg 将被返回用来获取程序生成的任何错误。sqlite3_exec() 程序解析并执行由 sql 参数所给的每个命令,直到字符串结束或者遇到错误为止。 | 3 | sqlite3_close(sqlite3*) 该例程关闭之前调用 sqlite3_open() 打开的数据库连接。所有与连接相关的语句都应在连接关闭之前完成。如果还有查询没有完成,sqlite3_close() 将返回 SQLITE_BUSY 禁止关闭的错误消息。 |
连接数据库#include <stdio.h>
#include <sqlite3.h>
int main(int argc, char* argv[])
{
sqlite3 *db;
char *zErrMsg = 0;
int rc;
rc = sqlite3_open("test.db", &db);
if( rc ){
fprintf(stderr, "Can't open database: %s
", sqlite3_errmsg(db));
exit(0);
}else{
fprintf(stderr, "Opened database successfully
");
}
sqlite3_close(db);
}
|