当前位置: 首页 > news >正文

晋江做任务的网站日本樱花免m38vcom费vps

晋江做任务的网站,日本樱花免m38vcom费vps,苏州网站设计公司有哪些,沧州做网站优化SQLite是一个轻量级的数据库解决方案,它是一个嵌入式的数据库管理系统。SQLite的特点是无需独立的服务器进程,可以直接嵌入到使用它的应用程序中。由于其配置简单、支持跨平台、服务器零管理,以及不需要复杂的设置和操作,SQLite非…

SQLite是一个轻量级的数据库解决方案,它是一个嵌入式的数据库管理系统。SQLite的特点是无需独立的服务器进程,可以直接嵌入到使用它的应用程序中。由于其配置简单、支持跨平台、服务器零管理,以及不需要复杂的设置和操作,SQLite非常适用于移动应用、小型项目和桌面应用程序。

1.安装数据库

可以在官网(http://www.sqlite.org/)下载安装包(我的安装包有点老就不给大家了)
libsqlite3-0_3.7.2-1ubuntu0.1_i386.deb (.deb的安装包可以用dpkg -i 来进行安装)
.deb 是linux 系统的应用程序的安装包文件
安装.deb文件: dpkg -i deb文件名 (dpkg -i :安装应用程序)

1.1 打开数据库

打开/新建数据库命令: sqlite3 my.db
(如果my.db 存在就打开,不存在就新建),创建成功后,当前目录会有一个my.db的文件
数据库 一般 扩展名是.db(database)
dd1d5acd8e8d45a4b40e9e2010af30c2.png
sqlite3:分两种语言:
sqlite3应用程序的选项语言,一般以.开头
输入 .开头的命令(非sql语句命令)
.help:查看帮助
.tables :查看数据库有哪些表
.quit :退出sqlite
还有一种命令不是以 .开头的,这种叫sql语句,sql语句以 ; 结束
总结:
sqlite3 以 . 开头的命令是 sqlite3命令
不是以 . 开头的是 sql语句,一定以 ;结束

1.2数据库中的概念

数据库
将所有的数据,各种类型,描述各种事物的数据放到一起, 如:my.db文件,就是一个数据库文件
数据表
描述某一个事物的基本信息的表
学生信息表 (stu_info)   编号 姓名 性别 年龄 班级 爱好
图书信息表 (book_info)   图书编号 书名 出版社 作者 分类
记录
表里面的一条信息
字段
列名
e181899118be420ebd45a1de6b43d8ba.png

2.sql语句(重点)

sql语句: 是一个标准的数据库语言,提供了对数据库操作的各种命令, 并且sql语句是所有数据库通用的。

2.1创建数据表

语句:create table stu_info (number varchar(20), name varchar(50), age integer, sex varchar(10));     //后面会用到这个表,大家了解一下
create table :关键字, 用来创建表
stu_info :自定义的表名
number name age sex :字段
varchar :可变字符串(数据类型) (默认50)
integer :整数数据类型

2.2 删除表

drop table +表名;     //执行前记得加分号

示例:drop table stu_info;  //删除stu_info表

2.3 插入记录到表中(重点)

1)字段全部添加的语句:insert into 表名 values(填入所有字段);   //注意结尾有分号

insert into stu_info values ('1001', 'zhangsan', 25, 'nan'); //所有字段全都填入值
2)只给某些字段添加值的语句:insert into stu_info (age,number) values (26, '1002');   //age,number是不添加值的字段。

2.4查询表中的记录(重点)

select * from stu_info; //   * 是查看stu_info表里的所有字段
select age from stu_info; //查看age字段
select age,number from stu_info; //查看多个字段间用逗号隔开
sql命令:
.header on :显示字段名
.mode column :列对齐

按一个条件查询

select * from stu_info where name = 'lisi';  //查询表里name='lisi'的记录

按多个条件查询

select * from stu_info where name = 'lisi' and age = 25;   
select * from stu_info where name = 'lisi' or age = 25;

其他各种查询

1 查询年龄 > 25的记录
select * from stu_info where age > 25;
2 查询记录 只想看编号、姓名字段
select number, age from stu_info where age = 25;    //查询age=25的记录,只看number,age字段
3 按顺序输出所有记录
select * from stu_info order by age; //按年龄顺序输出,默认情况是升序排列
select * from stu_info order by age desc; //降序排列
4 模糊查询(假设有一个人名我记不住了,但能记住名字中的一个字, 就可以用模糊查询)
示例:查询名字当中带li字符的人(like)
select * from stu_info where name like '%li%';  // % 代替后续或者前面的内容
5 多条件查询
select * from stu_info where age > 25 and number > 1001; //(查询年龄大于 25, 编号 > 1001 的学生信息)
6 统计记录条数
select count(*) from stu_info;
select count(*) from stu_info where age = 25;
练习:
1. 创建学生成绩表(字段如下)
学生编号(number) 数学(math) 语文(ch) 英语(en)
2. 向学生成绩中添加三条记录
1001 100 90 80
1002 80 90 80
1003 90 90 80
3. 查询出编号1003的记录
create table score_info (number varchar(20), math integer, ch integer, en
integer);insert into score_info values ('1001', 100, 90, 80); //所有字段全都填入值
insert into score_info values ('1002', 80, 90, 80); //所有字段全都填入值
insert into score_info values ('1003', 90, 90, 80); //所有字段全都填入值select * from score_info where number = '1003';

2.5 删除表中记录(重点)

示例: delete from stu_info; //删除所有记录
delete from stu_info where number = '1002'; //删除number = '1002的记录

2.6修改表中记录(重点)

示例:把字段number为1004 的记录,该记录中name改成wangwu

update stu_info set name = 'wangwu' where number = '1004';

2.7多表联合查询

学生基本信息表:
number name age sex
成绩表:
nubmer math ch en
两个表number字段相同
示例:查询数学成绩 > 90的所有学生的基本信息和成绩
select stu_info.*, score_info.math from stu_info, score_info where score_info.math > 90 and stu_info.number = score_info.number;     //显示的字段有score_info1的math字段,还有stu_info整个表的字段   (必须有一个字段是相同的)

3.c语言操作数据库

3.1 打开数据库

头文件:#include <sqlite3.h>
函数: int sqlite3_open(char *path, sqlite3 **db);
功能: 打开数据库,如果数据不存在,则新建
参数:
path [入参] :打开的数据库名称(路径)
db [出参] :打开数据库后,它将指向数据库的指针给db
返回值:
执行成功返回SQLITE_OK(0),否则返回其他值
例如:
sqlite3* db;//FILE* fp
sqlite3_open("my.db", &db);
#include <stdio.h>
#include <sqlite3.h>
int main()
{sqlite3 *p; //如果打开成功,将指向数据库的指针赋值给pif(sqlite3_open("my.db", &p) == 0) //如果数据库不存在,就创建{printf("database open success\n");sqlite3_close(p);}
}

编译:gcc test.c -lsqlite3

3.2 执行数据库操作的sql语句

(只用于insert into, create table, update, delete)

int sqlite3_exec(sqlite3 *db, const char *sql, sqlite3_callback callback,
void *, char **errmsg);
参数 
db , sqlite3_open 的第二个参数
sql, 要执行的sql语句
NULL 默认为NULL (非NULL值用在查询中)
NULL 默认为NULL
errmsg: [出参] 如果sql语句执行错误,errmsg中保存错误字符串
返回值:成功返回0,不成功返回其他
#include <stdio.h>
#include <sqlite3.h>
int main()
{sqlite3 *p;if(sqlite3_open("my.db", &p) == 0) //如果数据库不存在,就创建{printf("database open success\n");if(sqlite3_exec(p, "delete from stu_info where name = 'zhangsan'", NULL,NULL, NULL) == 0){printf("delete success\n");}}
}

3.3查询语句

函数: int sqlite3_get_table(sqlite3 *db, const char *sql, char ***resultp, int*nrow, int *ncolumn, char **errmsg);
功能:执行SQL查询操作。
参数:
db:指向数据库指针(数据库句柄), open的第二个参数
sql:SQL语句, (select * from stu_info)
resultp[出参]:用来指向sql执行结果的指针 (跟errmsg类似)
nrow[出参]:满足条件的记录的数目, 包括字段名,相当于行数(表头会返回出来,但表头不计入行 数,所以打印时需要打印nrow+1行)
ncolumn[出参]:每条记录包含的字段数目,相当于列数

errmsg:错误信息指针的地址, 如果语句执行出错,那么errmsg中是错误信息 返回值:成功返回0,失败返回错误码

示例:

#include <stdio.h>
#include <sqlite3.h>
#include <stdlib.h>
int main()
{sqlite3 *db;char *errmsg;char **q;int nrow, ncolumn, i, j, index = 0;if(sqlite3_open("my.db", &db) == 0){if(sqlite3_get_table(db, "select * from stu_info", &q, &nrow,&ncolumn, &errmsg) != 0){printf("error : %s\n", errmsg);exit(-1);}else{for (i=0; i < nrow + 1; i++) //nrow 是行, 如果有1条记录,那么值为1{for (j=0; j<ncolumn; j++){printf("%10s", q[index++]); //printf("%10s",q[i*ncolumn + j]);}printf("\n");}}}
}

4.结语

这就是sqlite数据库在Linux上使用教程,感谢大家的观看,希望大家点点赞,点点关注,后续会出用到sqlite的项目,谢谢!

http://www.ritt.cn/news/13095.html

相关文章:

  • 河北省建设集团有限公司网站怎么打广告吸引客户
  • 网站难做完整企业网站模板
  • 霸州网站建设免费域名怎么注册
  • 注册新公司网上核名网站口碑营销的模式
  • 政府建设门户网站的意义上海关键词排名优化怎样
  • 视频网站开发计划书如何创建一个网页
  • 做什么网站比较受欢迎sem账户托管外包
  • 工业互联网平台体系关键词排名优化易下拉技术
  • 河北廊坊百度建站网站建站网站
  • 南宁做网站优化今天今日头条新闻
  • 免费b2b网站做推广收录批量查询
  • 台州网站建设多少钱外贸网站建设
  • 怎么做网站论坛谷歌浏览器下载手机版官网中文
  • 呼和浩特做网站公司网站关键字优化
  • 呼叫中心系统有哪些网站快速排名优化哪家好
  • 网页制作与设计实验报告总结湖南seo优化
  • 怎么做qq钓鱼网站吗seo站长平台
  • 用word可以做网站吗离我最近的电脑培训中心
  • 苏州建站公司优搜苏州聚尚网络指数分布
  • 图网重庆seo公司排名
  • 珠海做网站找哪家好北京全网推广
  • 开源镜像网站开发seo的优点和缺点
  • WordPress降低加载时间百度推广seo自学
  • 门户网站建设公司方案江苏seo和网络推广
  • 有什么网站是做平面设计的附近电脑培训班位置
  • 网站开发过程说明怎么写公司网络推广排名定制
  • 佛山电商网站建设深圳网络推广工资
  • 网站备案 地域sem是什么方法
  • 彭州网站建设28pzsem是什么意思的缩写
  • 茂名做网站百度搜索风云榜排名