四会市城乡规划建设局网站,wordpress本地怎么迁移到服务器,链接点开网页表白的网站怎么做的,找地推平台目录 数据库简介 1.常用数据库 2. SQLite基础 3.创建SQLite数据库 虚拟中sqlite3安装 基础SQL语句使用 sqlite3编程 数据库简介 1.常用数据库 大型数据库 #xff1a;Oracle 中型数据库 #xff1a;Server是微软开发的数据库产品#xff0c;主要支持windows平台 小型数据库… 目录 数据库简介 1.常用数据库 2. SQLite基础 3.创建SQLite数据库 虚拟中sqlite3安装 基础SQL语句使用 sqlite3编程 数据库简介 1.常用数据库 大型数据库 Oracle 中型数据库 Server是微软开发的数据库产品主要支持windows平台 小型数据库 : mySQL是一个小型关系型数据库管理系统。开放源码 2. SQLite基础 SQLite的源代码是C其源代码完全开放。它是一个轻量级的嵌入式数据库。 SQLite有以下特性 1.零配置一无需安装和管理配置 2.储存在单一磁盘文件中的一个完整的数据库 3.数据库文件可以在不同字节顺序的机器间自由共享 4.支持数据库大小至2TB1024G 1TB足够小全部源码大致3万行c代码250KB 5.比目前流行的大多数数据库对数据的操作要快 3.创建SQLite数据库 手工创建 使用sqlite3工具通过手工输入SQL命令行完成数据库创建. 用户在Linux的命令行界面中输入sqlite3可启动sqlite3工具 代码创建 在代码中常动态创建数据库 在程序运行过程中当需要进行数据库操作时应用程序会首先尝试打开数据库此时如果数据库并不存在程序则会自动建立数据库然后再打开数据库 虚拟中sqlite3安装 sqlite3 安装
1. sudo dpkg -i *.deb 离线安装
2. 在线安装1、设置能够上网2、更新更新源#apt-get update3、安装软件及开发环境# apt-get install sqlite3 ---sqlite3数据库软件# apt-get install libsqlite3-dev ---sqlite3数据库开发支持库# apt-get install sqlite3-doc ---sqlite3数据库说明文档-------------------------------- #apt-get install sqlitebrowser ---sqlite3数据库操作软件源码安装 tar xf sqlite-autoconf-3140100.tar.gz
./configure
make
sudo make install安装完成后可以使用sqlite3 -version命令来测试是否安装成功 $ sqlite3 -version
3.14.1 2016-08-11基础SQL语句使用 命令的方式操作 格式sqlite3 数据库文件名(stu.db) 创建一个新的数据库 两种命令 1. sqlite3系统命令类似Windows系统命令开机关机等都是以.开头的 都是以 . 开头的 a. .help 查看所有支持的命令 b. .quit 退出 c. .tables 查看有哪些表 d. .schema stu2 查看表结构 2. SQL命令 具体对数据库怎样操作对数据库增删改查用SQL命令 SQL命令是以 “;” 结尾 在库当中创建一个表 在数据库里面不严格检查数据类型char可以表示字符也可以表示字符串 1》创建一个表 create table stu(id int,name char,score float); create table stu1(id int primary key, name char, score float); 注把id字段设置为主键(在表中唯一) 字符串char string text 小数float real 不支持严格的类型检查的 2》 删除一个表 drop table ...; 3》 向表里面插入数据 insert into values(value1, value2,…); insert into stu values(1,xiaomingx,99.9); //只插入部分字段 id name score insert into stu(id,name) values(4,“xiaoming”) 4》 查找数据 查询表中所有记录 select * from ; *表示查询所有的值 按指定条件查询表中记录 select * from where select * from stu where id2; select * from stu where id2 and namelisi; select * from stu where id1 or namezhangsan; select score from stu where nameLiSi or id3; //满足条件的某列 select name,score from stu where nameLiSi or id3; select * from stu limit 5; //只查询前n条记录 select * from stu order by id desc; //按id从大到小进行排序 5》 修改(更新)数据 update set , … where ; update stu set id10 where id1; 6》 增加字段 alter table add column default …; alter table stu add column class int default 1; 表示添加了一列class默认值为1 7》 删除字段在数据库当中其实不支持直接删除一个字段及一列 如果就想删除一列那么需要三步骤 1create table student as select id,name,score from stu; 创建一个student表从stu表当中复制id,name,score 2) drop table stu; 删除原有的stu表 3) alter table student rename to stu; 重命名 最后一列为1的被删除掉了。 8》删除一行 操作完以后可以图形华界面修改东西然后在命令行去查看的时候就被修改了。 为什么不用图形化界面而是使用命令方式操作 因为嵌入式里面用C写代码C代码里面想实现对数据库进行操作 用的就上上面的命令而C里面你不能在里面嵌套图像化界面。 sqlite3编程 API接口文档 头文件#include sqlite3.h
编译gcc sqlite1.c -lsqlite31.int sqlite3_open(char *path, sqlite3 **db);功能打开sqlite数据库如果数据库不存在则创建它
path 数据库文件路径
db 指向sqlite句柄的指针
返回值成功返回SQLITE_OK失败返回错误码(非零值)2.int sqlite3_close(sqlite3 *db);功能关闭sqlite数据库
返回值成功返回SQLITE_OK失败返回错误码返回值返回错误信息3.执行sql语句接口
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操作
db数据库句柄
sql要执行SQL语句
callback回调函数(满足一次条件调用一次函数用于查询)再调用查询sql语句的时候使用回调函数打印查询到的数据
arg:传递给回调函数的参数
errmsg错误信息指针的地址
返回值成功返回SQLITE_OK失败返回错误码回调函数
typedef int (*sqlite3_callback)(void *para, int f_num, char **f_value, char **f_name);功能select:每找到一条记录自动执行一次回调函数
para传递给回调函数的参数由 sqlite3_exec() 的第四个参数传递而来
f_num记录中包含的字段数目
f_value包含每个字段值的指针数组列值
f_name包含每个字段名称的指针数组列名
返回值成功返回SQLITE_OK失败返回-1每次回调必须返回0后才能继续下次回调4.不使用回调函数执行SQL语句(只用于查询)
int sqlite3_get_table(sqlite3 *db, const char *sql, char ***resultp, int *nrow, int *ncolumn, char **errmsg);功能执行SQL操作
db数据库句柄
sqlSQL语句
resultp用来指向sql执行结果的指针
nrow满足条件的记录的数目(但是不包含字段名(表头 id name score))
ncolumn每条记录包含的字段数目
errmsg错误信息指针的地址返回值成功返回SQLITE_OK失败返回错误码5.返回sqlite3定义的错误信息
char *sqlite3_errmsg(sqlite3 *db);