linux下SQLite3数据库

一、SQLite3的安装

二、数据库的创建和打开

三、数据库的常见命令

三、SQL语句

1.创建数据库表

2.插入记录

3.查询记录

4.更新记录

5.删除记录

6.删除数据库表

四、 SQLITE3 API编程

1.打开数据库文件的函数

2.执行sql语句的函数

3.非回调的selectc查询

一、SQLite3的安装

sudo apt-get install sqlite3 //数据库操作软件
sudo apt-get install libsqlite3-dev //数据库开发库

二、数据库的创建和打开

终端输入 sqlite3

linux下SQLite3数据库

三、数据库的常见命令

.help 显示帮助信息

linux下SQLite3数据库
linux下SQLite3数据库
.database 显示当前打开的数据库文件
linux下SQLite3数据库
.tables 显示数据库的数据库的所有表名
linux下SQLite3数据库
.schema 查看表的结构
linux下SQLite3数据库

三、SQL语句

格式:create table table_name(column1 datatype,column2 datatype,…,columnN datatype);
table_name:数据库表名。
columnN:表示第N个字段名。
datatype:字段名的类型(
NULL:NULL值 。
INTEGER:值是一个带符号的整数,根据值的大小储存在1、2、3、4、6或8字节中。
REAL:值是一个浮点值,储存为8个字节的IEEE浮点数字。
TEXT:值是一个字符串,使用数据库编码(UTF-8,UTF-16BE或UTF-16LE)储存。
BLOB:值是一个blob数据的(二进制数据),完全根据他的输入储存。)。
PRIMARY YEK:用于表名主键字段的关键字(当一个字段设为主键后对应的值不能重复)。
IF NOT EXISTS:表示如果表存在,则不创建。

linux下SQLite3数据库

insert into table_name values(value1,value2,…,valueN);

linux下SQLite3数据库

选取指定的列:select coloum1,coloum2,coloumN from table_name;
查询所有列:select * from table_name;
显示列的名字:.headers on
按照列显示:.mode coloum

linux下SQLite3数据库
where语句:用于指定从一个表或多个表中获取数据的条件
linux下SQLite3数据库

格式:update table_name set column1=value1,columnN=valueN where [condition];
set:指定需要修改的值段及字段的值。

linux下SQLite3数据库

格式:delete from table_name where [condition];

linux下SQLite3数据库

格式:drop table table_name;

linux下SQLite3数据库

四、 SQLITE3 API编程

概念:SQLITE3数据库针对不同语言提供了相应的编程接口,下面介绍的是关于c语言接口。

int sqlite3_open(const char filename,sqlite3 ppDb)
参数:@filename 数据库文件
@ppDb 获得操作数据库的句柄
返回值:成功返回0(SQLITE_OK),失败返回错误码
const char
sqlite3_errmsg(sqlite3 *);
功能:获得打开数据库失败的错误信息

#include
#include
int main(int argc, const char *argv[])
{
    if(argc!=2)
    {
        fprintf(stderr,"请输入:%s 数据库\n",argv[0]);
        return -1;
    }
    int ret;
    sqlite3 *db;
    ret=sqlite3_open(argv[1],&db);
    if(ret!=SQLITE_OK)
    {
        fprintf(stderr,"sqlite3_open fail:%s\n",sqlite3_errmsg(db));
        return -1;
    }
    sqlite3_close(db);
    return 0;
}

int sqlite3_exec(sqlite3 db,const char sql,int(callback)(void,int,char,char),void arg,char errmsg)
参数:@db 打开的数据库
@sql sql语句
@callback 回调函数
@arg 给回调函数传递的第一个参数
@errmsg 获取错误信息的存放地址
返回值:成功返回0,失败返回错误码
回调函数:int callback_function(void
arg,int ncolumn,char value,char *name)
参数:@arg 传递的第一个参数
@ncolumn 列数[字段的个数]
@value 存放字段值的指针数组首地址
@name 存放字段名的指针数组首地址
注意:1.只有在执行查询语句的时候,才会使用回调函数
2.每查询到一条记录就会调用一次回调函数

#include
#include
int main(int argc, const char *argv[])
{
    if(argc!=2)
    {
        fprintf(stderr,"请输入:%s 数据库\n",argv[0]);
        return -1;
    }
    int ret;
    sqlite3 *db;
    char *sql="create table if not exsiti student(ID integer,NAME text,SCORE integer);";//创建名为student的表的sql语句
    char *errmsg
    ret=sqlite3_open(argv[1],&db);
    if(ret!=SQLITE_OK)
    {
        fprintf(stderr,"sqlite3_open fail:%s\n",sqlite3_errmsg(db));
        return -1;
    }
    ret=sqlite3_exec(db,sql,NULL,NULL,&errmsg)
    {
        fprintf(stderr,"sqlite_exec:%s",errmsg);
        sqlite3_free(srrmsg);
        return -1;
    }
    sqlite3_close(db);
    return 0;
}

int sqlite3_get_table(sqlite3 db,const char zSql,char pazResult,int pnRow,int *pnColumn,char pzErrmsg)
参数:@db 打开的数据库
@zSql sql查询语句
@pazResult 获得查询结果存放的指针数组的首地址
@pnRow 获得查询记录的条数
@pnColumn 查询到列的个数
@pzErrmsg 获得错误信息
返回值:成功返回0,错误返回错误码
viod sqlite3_free_table(char **result)
功能:释放结果表

#include
#include
int main(int argc, const char *argv[])
{
    if(argc!=2)
    {
        fprintf(stderr,"请输入:%s 数据库\n",argv[0]);
        return -1;
    }
    int ret,i,j,index=0;
    sqlite3 *db;
    char *sql="select * from student;"
    char *errmsg
    char **result;
    int row,column;
    ret=sqlite3_open(argv[1],&db);
    if(ret!=SQLITE_OK)
    {
        fprintf(stderr,"sqlite3_open fail:%s\n",sqlite3_errmsg(db));
        return -1;
    }
    ret=sqlite3_get_table(db,sql,&result,&row,&column,&errmsg);
    if(ret!=SQLITE_OK)
    {
        fprintf(stderr,"sqlite3_get_table:%s\n",errmsg);
        sqlite3_free(errmsg);
        return -1;
    }
    //打印查询到的数据
    for(i=0;i

Original: https://blog.csdn.net/qq_53512411/article/details/126431278
Author: 远辰与鱼
Title: linux下SQLite3数据库

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/815600/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球