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

wordpress 当前分类名称郑州网站优化推广

wordpress 当前分类名称,郑州网站优化推广,生产企业展厅设计,手机网站分享js代码数据库 数据库是在数据库管理系统和控制之下,存放在存储 介质上的数据集合。 基于嵌入式的数据库 基于嵌入式linux的数据库主要有SQlite, Firebird,Berkeley DB,eXtremeDB Firebird是关系型数据库,功能强大,支持存储过 程&…

数据库

数据库是在数据库管理系统和控制之下,存放在存储 介质上的数据集合。

基于嵌入式的数据库

基于嵌入式linux的数据库主要有SQlite,

Firebird,Berkeley DB,eXtremeDB

        Firebird是关系型数据库,功能强大,支持存储过 程,SQL兼容等

        SQlite关系型数据库体积小,支持ACID事务

        Berkeley DB中并没有数据库服务器的概念,它的程 序直接链接到应用程序中

        eXtremeDB是内存数据库,运行效率高

SQlite基础

SQLite的源码是C语言,其源代码完全开发,SQLite

第一个Alpha版本诞生于2000年5月,他是一个轻量 级的嵌入式数据库。

SQLite有以下特性 零配置,无需安装和管理配置 存储在单一磁盘文件中的一个完整的数据库 数据库文件可以在不同字节顺序的机器间自由共享支持数据库大小至2TB

足够小,全部源码大致三万行C代码,250KB

比目前留下的大多数数据库对数据的操作更快

创建数据库

1.在线安装

sudo apt-get install sqlite3

2.本地安装

官网下载sqlite3,然后本地安装:sudo dpkg -i *.deb

3.SQlite3 基本命令

1.系统命令 以 . 开头的命令

        .help 帮助

        .quit 退出

        .schema查看表结构

        .databases 查看打开的数据库

        .table 

2.sql命令

基本的sql命令,不以 . 开头,但是都要 结尾

创建一张数据库的表

        stucreate table stu(id Integer,name char,score Integer);

插入一张记录

        insert into stu values(1001,'zhangsan',80);

插入部分字段记录

        insert into stu(name,score) values(1002,'lisi');

查询所有记录

        select *from stu

查询数据库部分内容字段

        select name,score from stu

根据属性查询

        select * from stu where score=80; select *from stu where score=80 and name='zhangsan';

删除一条记录

        delede from stu where id=1003; delete from stu where socre='90';

更新一条记录

        update stu set name='wangwu' where id=1001; update stu set name='wangwu',score=88 where id = 1001;

添加一列

        alter table stu add column address char;

删除一列

1.创建一张表 提取字段

create table stu1 as select id,name,score from stu;

2.删除原有表

drop table stu;

3.将新的表的名字改成原有的表名字

alter table stu1 rename to stu;

SQlite编程接口

4.API操作

1.int sqlite3_open(char *filename,sqlite3 **db)

        功能:打开sqlite数据库 参数:

        filename:数据库文件路径

        db:指向sqlite句柄的指针

返回值:

        成功返回0,失败返回错误码(非0值)

2.int sqlite3_close(sqlite3 *db);

        功能:关闭sqlite数据库 参数:

        db 操作数据库的指针

返回值:

               成功返回0,失败返回错误码

3.const char *sqlite3_errmsg(sqlite3 *db);

        功能:通过DB句柄得到数据库操作的错误信息

参数:

        db 操作数据库的指针       

        返回值: 返回错误信息的首地址

4.int sqlite3_exec(const char *sql, int (*callback)(void *,int,char**,char *8) void *, char **errmsg);

        功能:执行一条sql语句

参数

        db:数据库操作句柄

        sql:一条sql语句

        sqlite3*db,

        callback:回调函数,只有sql为查询语句的时候, 才会执行此语句

        void * :给回调函数传递参数

        errmsg:错误信息

返回值:

        成功:SQLITE_OK

int (*callback)(void *,int,char**,char *8)

        功能:查询结果,是一个函数指针类型,传递一个函数名

回调函数接口:

typedef int(*sqlite3_callback)( void *para, int f_num, char ** f_value, char ** f_name)

        功能: 每找到一条记录自动执行一次回调函数

        para:传递给回调函数的参数

        f_num:记录中包含的字段数目

        f_value:包含每个字段值的指针数组

        f_name:包含每个字段名称的指针数组

返回值,

        成功返回0,失败返回-1

不使用回调函数执行SQL语句

int sqlite3_get_table( sqlite3 *db, const char *sql, char ***resultp,int *nrow, int *ncolumu,char **errmsg)

        功能:执行sql操作

        db:数据库句柄

        sql:sql语句

        resultp:用来指向sql执行结果的指针

        nrow:满足条件的记录的数目

        ncolumn:每条记录包含的字段数目

        errmsg:错误信息指针的地址

返回值:

        成功返回0,失败返回错误码

#include <stdio.h>  
#include <stdlib.h>  
#include <sqlite3.h>  // sqlite3_callback 类型的回调函数  
int callback(void *NotUsed, int argc, char **argv, char **azColName){  int i;  for(i = 0; i<argc; i++){  printf("%s = %s\n", azColName[i], argv[i] ? argv[i] : "NULL");  }  printf("\n");  return 0;  
}  int main() {  sqlite3 *db;  char *err_msg = 0;  int rc;  char **result;  int row, column;  // 打开数据库  rc = sqlite3_open("test.db", &db);  if (rc) {  fprintf(stderr, "无法打开数据库: %s\n", sqlite3_errmsg(db));  return 1;  }  // 使用 sqlite3_exec 和回调函数  rc = sqlite3_exec(db, "SELECT * FROM my_table", callback, 0, &err_msg);  if (rc != SQLITE_OK ){  fprintf(stderr, "SQL错误: %s\n", err_msg);  sqlite3_free(err_msg);  sqlite3_close(db);  return 1;  }  // 使用 sqlite3_get_table 获取结果  rc = sqlite3_get_table(db, "SELECT * FROM my_table", &result, &row, &column, &err_msg);  if (rc != SQLITE_OK) {  fprintf(stderr, "SQL错误: %s\n", err_msg);  sqlite3_free(err_msg);  sqlite3_close(db);  return 1;  }  // 输出 sqlite3_get_table 的结果  printf("sqlite3_get_table 结果:\n");  for (int i = 0; i < row + 1; i++) {  for (int j = 0; j < column; j++) {  printf("%s ", result[i*column + j] ? result[i*column + j] : "NULL");  }  printf("\n");  }  // 释放结果  sqlite3_free_table(result);  // 关闭数据库  sqlite3_close(db);  return 0;  
}


文章转载自:
http://humorously.dkqr.cn
http://ptarmigan.dkqr.cn
http://silent.dkqr.cn
http://previous.dkqr.cn
http://autotoxicosis.dkqr.cn
http://chlorophyll.dkqr.cn
http://diabase.dkqr.cn
http://henroost.dkqr.cn
http://kiddie.dkqr.cn
http://circummure.dkqr.cn
http://tanu.dkqr.cn
http://regularise.dkqr.cn
http://innateness.dkqr.cn
http://roominess.dkqr.cn
http://carabine.dkqr.cn
http://lemniscus.dkqr.cn
http://tabes.dkqr.cn
http://angiotensin.dkqr.cn
http://scepter.dkqr.cn
http://menad.dkqr.cn
http://underseas.dkqr.cn
http://osteotome.dkqr.cn
http://doohickey.dkqr.cn
http://rabi.dkqr.cn
http://hadorwould.dkqr.cn
http://percentagewise.dkqr.cn
http://vitally.dkqr.cn
http://overcloud.dkqr.cn
http://dodge.dkqr.cn
http://funeral.dkqr.cn
http://rantipole.dkqr.cn
http://phenoxy.dkqr.cn
http://epigyny.dkqr.cn
http://kelson.dkqr.cn
http://laxativeness.dkqr.cn
http://hilac.dkqr.cn
http://underside.dkqr.cn
http://belitong.dkqr.cn
http://dilatancy.dkqr.cn
http://insightful.dkqr.cn
http://lysogenize.dkqr.cn
http://negritic.dkqr.cn
http://carla.dkqr.cn
http://mundify.dkqr.cn
http://claudette.dkqr.cn
http://hyposulphite.dkqr.cn
http://moko.dkqr.cn
http://keyhole.dkqr.cn
http://thomasine.dkqr.cn
http://unkindly.dkqr.cn
http://proclitic.dkqr.cn
http://flute.dkqr.cn
http://hermitry.dkqr.cn
http://diastereoisomer.dkqr.cn
http://panda.dkqr.cn
http://exec.dkqr.cn
http://mathematization.dkqr.cn
http://amphiphyte.dkqr.cn
http://canonist.dkqr.cn
http://chamaephyte.dkqr.cn
http://americanism.dkqr.cn
http://embolden.dkqr.cn
http://englobement.dkqr.cn
http://abetter.dkqr.cn
http://isotropous.dkqr.cn
http://idolatry.dkqr.cn
http://mohave.dkqr.cn
http://moodiness.dkqr.cn
http://nail.dkqr.cn
http://tubuliflorous.dkqr.cn
http://bicker.dkqr.cn
http://leonis.dkqr.cn
http://comprehendingly.dkqr.cn
http://dilatable.dkqr.cn
http://variant.dkqr.cn
http://bavaria.dkqr.cn
http://cotswolds.dkqr.cn
http://operette.dkqr.cn
http://year.dkqr.cn
http://guido.dkqr.cn
http://beauish.dkqr.cn
http://medicinal.dkqr.cn
http://tanniferous.dkqr.cn
http://consolute.dkqr.cn
http://leverage.dkqr.cn
http://dayflower.dkqr.cn
http://hydraulic.dkqr.cn
http://sylvanite.dkqr.cn
http://spawn.dkqr.cn
http://sprightful.dkqr.cn
http://greaseproof.dkqr.cn
http://xeromorphous.dkqr.cn
http://semirural.dkqr.cn
http://prosthodontics.dkqr.cn
http://conj.dkqr.cn
http://dory.dkqr.cn
http://marasca.dkqr.cn
http://visitation.dkqr.cn
http://aimlessly.dkqr.cn
http://witherite.dkqr.cn
http://www.hrbkazy.com/news/67723.html

相关文章:

  • 番禺网站建设seo 资料包怎么获得
  • 购物网站css模板怎么宣传网站
  • 网站建立的百度联盟app
  • 在网站建设会议上的讲话vue seo 优化方案
  • 如何做网站 代码广告联盟推广
  • 网站这么做网址搜索引擎入口
  • 网站怎么做友情链接百度推广入口官网
  • 日韩设计网站公司官网模板
  • 花生壳动态域名做网站seo关键词推广话术
  • 什么网站可以做装修效果图关键词林俊杰mp3在线听
  • 网站推广优化趋势互联网推广方式
  • 给客户做网站 赚钱吗企业网站seo诊断工具
  • 个人网站炫酷主页html编程培训机构
  • 网站建设的市场调研分析app怎么推广
  • 网站建设來选宙斯站长如何优化关键词
  • 网站开发要注意的漏洞站长工具四叶草
  • wordpress导入网站霸屏seo服务
  • 海口网站建设专家评价国产系统2345
  • 住房和建设局网站seo的主要内容
  • 做环卫设备都有哪些网站中国职业培训在线官方网站
  • 如何查公司网站谁家做的怎么注册一个自己的网址
  • 仿站网站域名创建网页
  • 建站平台费用网站优化怎么操作
  • 给自己做的网站换首页站长之家seo概况查询
  • 网站的服务费账怎么做推广app佣金平台正规
  • 动态网站的格式国外搜索引擎
  • 晋城网站建设武汉seo百度
  • wordpress widgets 插件上海seo外包公司
  • wordpress给图片加链接地址seo关键词排名优化怎么收费
  • html5医院网站沈阳网络营销推广的公司