华清作业day56

SQLite特性:

  1. 零配置一无需安装和管理配置;
  2. 储存在单一磁盘文件中的一个完整的数据库;
  3. 数据库文件可以在不同字节顺序的机器间自由共享;
  4. 支持数据库大小至2TB;
  5. 足够小,全部源码大致3万行c代码,250KB;
  6. 比目前流行的大多数数据库对数据的操作要快;

安装:

sudo apt-get update 安装软件及开发环境

sudo apt-get install sqlite3 --->sqlite3数据库软件

sudo apt-get install libsqlite3-dev --->sqlite3数据库开发支持库

sudo apt-get install sqlitebrowser --->sqlite3数据库操作软件

1.sqlite数据库创建:

sqlite3 sq.db 如果sq.db存在则直接打开sq.db数据库,如果不存在则先创建再打开;

  1. 系统命令

.quit 退出数据库

.exit 退出数据库

.help 显示帮助信息,获取所有系统命令; ​

.table 查看当前数据库下的所有表格;

.schema 查看表的结构

1)创建表格

create table 表名 (字段名 数据类型, 字段名 数据类型);

create table if not exists 表名 (字段名 数据类型, 字段名 数据类型);

2)删除表格

drop table 表名;

3)插入记录

  1. 全字段插入 insert into 表名 values (数据1, 数据2, 数据3);

  2. 部分字段插入 insert into 表名 (字段名1, 字段名2) values (数据1, 数据2);

4)查看记录

.header on 打开表头 .mode column 对齐 在终端输入shell指令:sqlitebrowser sq.db 图形化界面

5)修改记录

update 表名 set 字段=数值 where 限制条件;

6)删除记录

delete from 表名 where 限制条件;

7)主键

primary key 主键;

create table 表名(字段名 数据类型 primary key, 字段名 数据类型);

primary key主键:唯一标识表格中的每一条记录;

8)拷贝

从a中拷贝所有数据到b中: create table b as select * from a;

API:

1)sqlite3_open

int sqlite3_open( const char *filename, /* Database filename (UTF-8) */ sqlite3 **ppDb /* OUT: SQLite db handle */ );

功能:打开一个数据库,如果数据库不存在,则创建一个数据库

2)sqlite3_close

int sqlite3_close(sqlite3*); 功能:关闭数据库,断开句柄所拥有的资源

3)sqlite3_errmsg

const char *sqlite3_errmsg(sqlite3*); 功能:通过出错的句柄返回错误信息

4)sqlite3_errcode

int sqlite3_errcode(sqlite3 *db) 功能:通过错误句柄返回错误码

5)sqlite3_exec

int sqlite3_exec( sqlite3* db, /* An open database */ const char *sql, /* SQL to be evaluated */ int (*callback)(void*,int,char**,char**), /* Callback function */ void *arg, /* 1st argument to callback */ char **errmsg /* Error msg written here */ );

功能:调用该函数,执行sql语句

6)回调函数

int callback(void* arg,int cols,char** col_text, char** col_name)

功能:处理sqlite3_exec执行sql语句后的结果集,每有一条记录,就会执行一次callback函数

7)sqlite3_get_table

int sqlite3_get_table( sqlite3 *db, /* An open database */ const char *zSql, /* SQL to be evaluated */ char ***pazResult, /* Results of the query */ int *pnRow, /* Number of result rows written here */ int *pnColumn, /* Number of result columns written here */ char **pzErrmsg /* Error msg written here */ );

功能:通过执行sql语句,得到结果集中的内容

8)sqltie3_free_table

void sqlite3_free_table(char **result); 功能:释放表的空间

相关推荐
dazhong201227 分钟前
PLSQL 客户端连接 Oracle 数据库配置
数据库·oracle
了一li3 小时前
Qt中的QProcess与Boost.Interprocess:实现多进程编程
服务器·数据库·qt
码农君莫笑3 小时前
信管通低代码信息管理系统应用平台
linux·数据库·windows·低代码·c#·.net·visual studio
别致的影分身3 小时前
使用C语言连接MySQL
数据库·mysql
京东零售技术5 小时前
“慢”增长时代的企业数据体系建设:超越数据中台
数据库
sdaxue.com5 小时前
帝国CMS:如何去掉帝国CMS登录界面的认证码登录
数据库·github·网站·帝国cms·认证码
o(╥﹏╥)6 小时前
linux(ubuntu )卡死怎么强制重启
linux·数据库·ubuntu·系统安全
阿里嘎多学长6 小时前
docker怎么部署高斯数据库
运维·数据库·docker·容器
Yuan_o_6 小时前
Linux 基本使用和程序部署
java·linux·运维·服务器·数据库·后端
Sunyanhui16 小时前
牛客网 SQL36查找后排序
数据库·sql·mysql