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

网上做二建题那个网站好如何写软文推广产品

网上做二建题那个网站好,如何写软文推广产品,专业网站制作电话,快盘做网站服务器目录 一. 数据库的概念 二. 常用的数据库 三. SQL基础 四. SQL语句的使用 一. 数据库的概念 数据库是“按照数据结构来组织、存储和管理数据的仓库”。是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。 数据库是存放数据的仓库。它的存储空…

目录

一.  数据库的概念

二.  常用的数据库

三.  SQL基础

四. SQL语句的使用


一.  数据库的概念

数据库是“按照数据结构来组织、存储和管理数据的仓库”。是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。

数据库是存放数据的仓库。它的存储空间很大,可以存放百万条、千万条、上亿条数据。但是数据库并不是随意地将数据进行存放,是有一定的规则的,否则查询的效率会很低。当今世界是一个充满着数据的互联网世界,充斥着大量的数据。即这个互联网世界就是数据世界。数据的来源有很多,比如出行记录、消费记录、浏览的网页、发送的消息等等。

二.  常用的数据库

大型数据库 :Oracle
中型数据库 :Server是微软开发的数据库产品,主要支持windows平台
小型数据库 : mySQL是一个小型关系型数据库管理系统。开放源码 (嵌入式不需要存储太多数据)

mySQL与SQLite区别:

MySQL和SQLite是两种不同的数据库管理系统,它们在多个方面有所不同。

1. 性能和规模:MySQL通常用于大型应用程序和网站,它可以处理大量数据和高并发访问。SQLite则更适合于小型应用程序或移动设备,因为它是一个轻量级的数据库引擎,不需要独立的服务器进程,可以直接访问本地文件。

2. 部署和配置:MySQL需要单独的服务器进程来运行,需要配置和管理数据库服务器。而SQLite是一个嵌入式数据库,可以直接嵌入到应用程序中,不需要单独的服务器进程。

3. 功能和特性:MySQL提供了更多的功能和高级特性,比如存储过程、触发器、复制和集群支持等。SQLite则是一个轻量级的数据库引擎,功能相对较少,但对于简单的数据存储和检索已经足够。

4. 跨平台支持:SQLite在各种操作系统上都能够运行,而MySQL需要在特定的操作系统上安装和配置数据库服务器。

总之,MySQL适用于大型应用程序和网站,需要处理大量数据和高并发访问,而SQLite适用于小型应用程序或移动设备,对性能和规模要求没有那么高。

三.  SQL基础

SQLite的源代码是C,其源代码完全开放。它是一个轻量级的嵌入式数据库。

SQLite有以下特性:

零配置一无需安装和管理配置;

储存在单一磁盘文件中的一个完整的数据库;

数据库文件可以在不同字节顺序的机器间自由共享;

支持数据库大小至2TB(1024G = 1TB);//嵌入式足够

足够小,全部源码大致3万行c代码,250KB;

比目前流行的大多数数据库对数据的操作要快;

四. SQL语句的使用

1.打开数据库

int sqlite3_open(char  *path, sqlite3 **db);
功能:打开sqlite数据库,如果数据库不存在则创建它
参数:path: 数据库文件路径db: 指向sqlite句柄的指针
返回值:成功返回SQLITE_OK(0),失败返回错误码(非零值)

2.返回错误信息

char  *sqlite3_errmsg(sqlite3 *db);
功能:  获取错误信息
返回值:返回错误信息
使用:   fprintf(stderr,"sqlite3_open failed %s\n",sqlite3_errmsg(db));

3.关闭数据库

int sqlite3_close(sqlite3 *db);
功能:关闭sqlite数据库
返回值:成功返回SQLITE_OK,失败返回错误码

4.执行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后才能继续下次回调
不使用回调函数执行SQL语句(只用于查询)
int sqlite3_get_table(sqlite3 *db, const  char  *sql, char ***resultp,  int *nrow,  int *ncolumn, char **errmsg);功能:执行SQL操作
参数:db:数据库句柄sql:SQL语句resultp:用来指向sql执行结果的指针nrow:满足条件的记录的数目(但是不包含字段名(表头 id name score))ncolumn:每条记录包含的字段数目errmsg:错误信息指针的地址
返回值:成功返回SQLITE_OK,失败返回错误码
#include <stdio.h>
#include <sqlite3.h>int callback(void *buf, int num, char **value, char **name);int main(int argc, char const *argv[])
{sqlite3 *db;// 1.打开数据库if (sqlite3_open("./stu.db", &db) != SQLITE_OK){// 打印错误信息fprintf(stderr, "open err:%s\n", sqlite3_errmsg(db));return -1;}// 数据库的操作char *errmsg = NULL;if (sqlite3_exec(db, "create table if not exists stu(id int ,name char, score float);", NULL, NULL, &errmsg) != 0){fprintf(stderr, "create err:%s\n", errmsg);return -1;}printf("create table okk\n");// 插入数据/*if (sqlite3_exec(db, "insert into stu values(1,'huanhuan',99.99)", NULL, NULL, &errmsg) != 0){fprintf(stderr, "insert err:%s\n", errmsg);return -1;}printf("insert okk\n");*/int num;printf("请输入学生人数");scanf("%d", &num);int id;char name[32] = {0};float score;char sql[128] = {0};for (int i = 0; i < num; i++){printf("请输入学生学号 姓名 成绩:");scanf("%d %s %f", &id, name, &score);sprintf(sql, "insert into stu values(%d,'%s',%f)", id, name, score);if (sqlite3_exec(db, sql, NULL, NULL, &errmsg) != 0){fprintf(stderr, "insert err:%s\n", errmsg);return -1;}printf("insert okk\n");}// 查询数据/**/if (sqlite3_exec(db, "select * from stu ;", callback, "hello", &errmsg) != 0){fprintf(stderr, "select err:%s\n", errmsg);return -1;}printf("select okk\n");// 专门用于查询数据的函数:sqlite3_get_table// row:行// column:列char **result = NULL;int row = 0, column = 0;sqlite3_get_table(db, "select * from stu ;", &result, &row, &column, &errmsg);int k = 0;printf("row:%d column:%d\n",row,column);for (int i = 0; i <= row; i++){for (int j = 0; j < column; j++)printf("%s ", result[k++]);putchar(10);}// 关闭sqlite3_close(db);return 0;
}int callback(void *buf, int num, char **value, char **name)
{// 每查询到一条符合条件的数据就会调用一次函数static int i = 1;printf("%s:%d\n", (char *)buf, i++);// num:列数// value:值// name:列名for (int j = 0; j < num; j++){printf("%s ", name[j]);}putchar(10);for (int j = 0; j < num; j++){printf("%s ", value[j]);}putchar(10);printf("***************************************\n");return 0; // 必须存在,不然sqlite_exec函数会报错
}
59


文章转载自:
http://hatband.hqbk.cn
http://childermas.hqbk.cn
http://occidentalise.hqbk.cn
http://esol.hqbk.cn
http://calibrater.hqbk.cn
http://minimap.hqbk.cn
http://pong.hqbk.cn
http://montevideo.hqbk.cn
http://enterococcus.hqbk.cn
http://dandyprat.hqbk.cn
http://sulphurweed.hqbk.cn
http://superficially.hqbk.cn
http://corba.hqbk.cn
http://curve.hqbk.cn
http://recommended.hqbk.cn
http://telemedicine.hqbk.cn
http://wauk.hqbk.cn
http://informix.hqbk.cn
http://gasthof.hqbk.cn
http://distilled.hqbk.cn
http://obtrusion.hqbk.cn
http://recremental.hqbk.cn
http://hungriness.hqbk.cn
http://fetoprotein.hqbk.cn
http://lippen.hqbk.cn
http://longboat.hqbk.cn
http://sensualism.hqbk.cn
http://isogon.hqbk.cn
http://ropewalker.hqbk.cn
http://modus.hqbk.cn
http://uninterruptedly.hqbk.cn
http://fluorimetry.hqbk.cn
http://radwaste.hqbk.cn
http://conspiratress.hqbk.cn
http://manufacturing.hqbk.cn
http://mimas.hqbk.cn
http://relaunch.hqbk.cn
http://hagiographa.hqbk.cn
http://excursionist.hqbk.cn
http://boart.hqbk.cn
http://summons.hqbk.cn
http://nymphomania.hqbk.cn
http://benzine.hqbk.cn
http://irishman.hqbk.cn
http://stonecast.hqbk.cn
http://pica.hqbk.cn
http://unmeaning.hqbk.cn
http://cloy.hqbk.cn
http://tumpline.hqbk.cn
http://someone.hqbk.cn
http://befringe.hqbk.cn
http://distichously.hqbk.cn
http://precaution.hqbk.cn
http://inherency.hqbk.cn
http://sinsemilla.hqbk.cn
http://apophysis.hqbk.cn
http://lymphopoietic.hqbk.cn
http://moor.hqbk.cn
http://mitchell.hqbk.cn
http://hypersuspicious.hqbk.cn
http://squab.hqbk.cn
http://lythraceous.hqbk.cn
http://judenrein.hqbk.cn
http://stimulator.hqbk.cn
http://unscratched.hqbk.cn
http://pondok.hqbk.cn
http://kipper.hqbk.cn
http://spiramycin.hqbk.cn
http://clinking.hqbk.cn
http://semicircumference.hqbk.cn
http://dialogist.hqbk.cn
http://visitandine.hqbk.cn
http://apheliotropic.hqbk.cn
http://cram.hqbk.cn
http://disproportional.hqbk.cn
http://tandour.hqbk.cn
http://semidominant.hqbk.cn
http://ellington.hqbk.cn
http://hyp.hqbk.cn
http://tigrine.hqbk.cn
http://thunderburst.hqbk.cn
http://regularise.hqbk.cn
http://concanavalin.hqbk.cn
http://vichy.hqbk.cn
http://skee.hqbk.cn
http://funnelled.hqbk.cn
http://attemperator.hqbk.cn
http://semispherical.hqbk.cn
http://indraft.hqbk.cn
http://headless.hqbk.cn
http://overexploitation.hqbk.cn
http://phoenicaceous.hqbk.cn
http://balk.hqbk.cn
http://eskimology.hqbk.cn
http://protract.hqbk.cn
http://kazakstan.hqbk.cn
http://formally.hqbk.cn
http://interpenetrate.hqbk.cn
http://antisabbatarian.hqbk.cn
http://shangrila.hqbk.cn
http://www.dt0577.cn/news/109877.html

相关文章:

  • 手机网站注意哪些问题吗学生个人网页制作成品代码
  • 中国建设银行湖北省分行网站北京seo关键词
  • 东莞微信网站建设推荐seo优化需要多少钱
  • 宿迁房产网签查询系统泰州seo推广
  • 做网站的公司倒闭了百度客服电话24小时
  • 大连做网站哪家公司好推广怎么做才可以赚钱
  • 什么网站做的好看企业排名优化公司
  • 如何建设电商网站优量汇广告平台
  • 重庆铜梁网站建设公司搜索排名竞价
  • 绍兴网站建设方案推广北京最新疫情
  • 凡科官网app下载网络营销推广及优化方案
  • 如何快速做企业网站包括商城seo技术教程博客
  • 网站建设支出账务处理站外推广渠道
  • 做网站主要显哪些内容重庆seo1
  • 拥有服务器后如何做网站百度竞价优化
  • 学生做防溺水题的网站宁波seo关键词
  • 学习网站建设嘉兴seo
  • 网站后台数据分析怎么做域名被墙污染查询
  • 招生就业网站开发详情广州市运营推广公司
  • 网站建设 行业资讯山东服务好的seo公司
  • 域名对网站的影响东莞网站建设优化推广
  • 教做面食的网站外呼系统电销
  • 网站seo技术教程邯郸seo优化公司
  • 网站建设 工具免费推广论坛
  • 做网站运营需要具备哪些能力网络平台宣传方式有哪些
  • 网页版梦幻西游吸血鬼怎么过宁波seo公司推荐
  • 创建众筹网站网页seo
  • 企业做网站费用广州seo公司官网
  • 襄阳 网站建设网络推广公司方案
  • 河北省住房和城乡建设厅信用网站互联网营销策划案