SQLite学习笔记

SQLite学习笔记,第1张

概述安装 在Windows上安装SQLite。 访问官网下载下Precompliled Binaries for Windows的两个压缩包。 创建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 & 描述
1sqlite3_open(const char *filename,sqlite3 **ppDb) 该例程打开一个指向 sqlite 数据库文件的连接,返回一个用于其他 sqlite 程序的数据库连接对象。如果 filename 参数是 NulL 或 ':memory:',那么 sqlite3_open() 将会在 RAM 中创建一个内存数据库,这只会在 session 的有效时间内持续。如果文件名 filename 不为 NulL,那么 sqlite3_open() 将使用这个参数值尝试打开数据库文件。如果该名称的文件不存在,sqlite3_open() 将创建一个新的命名为该名称的数据库文件并打开。
2sqlite3_exec(sqlite3*,const char *sql,sqlite_callback,voID *data,char **errmsg) 该例程提供了一个执行 sql 命令的快捷方式,sql 命令由 sql 参数提供,可以由多个 sql 命令组成。在这里,第一个参数 sqlite3 是打开的数据库对象,sqlite_callback 是一个回调,data 作为其第一个参数,errmsg 将被返回用来获取程序生成的任何错误。sqlite3_exec() 程序解析并执行由 sql 参数所给的每个命令,直到字符串结束或者遇到错误为止。
3sqlite3_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\n",sqlite3_errmsg(db));      exit(0);   }else{      fprintf(stderr,"Opened database successfully\n");   }   sqlite3_close(db);}
总结

以上是内存溢出为你收集整理的SQLite学习笔记全部内容,希望文章能够帮你解决SQLite学习笔记所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1153065.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存