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

学校网站建设考评办法WordPress二级栏目代码

学校网站建设考评办法,WordPress二级栏目代码,网上商城网站设计,马鞍山网站设计目录 引言 一. MySQL C API简介 二. MySQL C API核心函数 2.1 初始化和连接 2.2 配置和执行 2.3 处理结果 2.4 清理和关闭 2.5 错误处理 三. MySQL使用过程 四. 实现CRUD操作 4.1 创建数据库并建立表 ​编辑 4.2 添加数据#xff08;Create#xff09; ​编辑 …目录 引言 一. MySQL C API简介 二. MySQL C API核心函数 2.1 初始化和连接 2.2 配置和执行 2.3 处理结果 2.4 清理和关闭 2.5 错误处理 三. MySQL使用过程 四. 实现CRUD操作 4.1 创建数据库并建立表 ​编辑 4.2 添加数据Create ​编辑 ​编辑 ​编辑4.3 修改数据Update ​编辑 4.4 删除数据Delete 4.5 查询数据Retrieve 结语 引言 在软件开发中数据库是存储、检索和操作数据的关键组件。MySQL作为一种广泛使用的数据库系统提供了丰富的API接口允许开发者通过不同的编程语言与其交互。本文将详细介绍如何使用MySQL的C语言API来实现数据库的基本增删改查CRUD操作。 一. MySQL C API简介 MySQL C API是一组函数它们提供了对MySQL服务器的底层访问。通过这个API开发者可以在C语言程序中执行SQL语句并处理结果。 二. MySQL C API核心函数 // Mysql操作句柄初始化 MYSQL *mysql_init(MYSQL *mysql); // 参数为空则动态申请句柄空间进⾏初始化 // 失败返回NULL// 连接mysql服务器 MYSQL *mysql_real_connect(MYSQL *mysql, const char *host, const char *user,const char *passwd, const char *db, unsigned int port,const char *unix_socket, unsigned long client_flag); // mysql--初始化完成的句柄 // host---连接的mysql服务器的地址 // user---连接的服务器的⽤⼾名 // passwd-连接的服务器的密码 // db ----默认选择的数据库名称 // port---连接的服务器的端⼝ 默认0是3306端⼝ // unix_socket---通信管道⽂件或者socket⽂件通常置NULL // client_flag---客⼾端标志位通常置0 // 返回值成功返回句柄失败返回NULL// 设置当前客⼾端的字符集 int mysql_set_character_set(MYSQL *mysql, const char *csname)// mysql--初始化完成的句柄// csname--字符集名称通常utf8// 返回值成功返回0 失败返回⾮0// 选择操作的数据库 int mysql_select_db(MYSQL *mysql, const char *db)// mysql--初始化完成的句柄// db-----要切换选择的数据库名称// 返回值成功返回0 失败返回⾮0// 执⾏sql语句 int mysql_query(MYSQL *mysql, const char *stmt_str)// mysql--初始化完成的句柄// stmt_str--要执⾏的sql语句// 返回值成功返回0 失败返回⾮0// 保存查询结果到本地 MYSQL_RES *mysql_store_result(MYSQL *mysql)// mysql--初始化完成的句柄// 返回值成功返回结果集的指针 失败返回NULL// 获取结果集中的⾏数与列数 uint64_t mysql_num_rows(MYSQL_RES *result)//result--保存到本地的结果集地址// 返回值结果集中数据的条数// 获取结果中列的个数 unsigned int mysql_num_fields(MYSQL_RES *result)// result--保存到本地的结果集地址// 返回值结果集中每⼀条数据的列数// 遍历结果集 MYSQL_ROW mysql_fetch_row(MYSQL_RES *result)// result--保存到本地的结果集地址// 返回值实际上是⼀个char **的指针将每⼀条数据做成了字符串指针数组 row[0]-第0列row[1] -第1列// 并且这个接⼝会保存当前读取结果位置每次获取的都是下⼀条数据// 释放结果集 void mysql_free_result(MYSQL_RES *result)// result--保存到本地的结果集地址// 返回值void// 关闭数据库客⼾端连接销毁句柄 void mysql_close(MYSQL *mysql)// 获取mysql接⼝执⾏错误原因 const char *mysql_error(MYSQL *mysql) 2.1 初始化和连接 mysql_init初始化MySQL操作句柄。mysql_real_connect使用给定的参数连接到MySQL服务器。 2.2 配置和执行 mysql_set_character_set设置客户端字符集。mysql_select_db选择要操作的数据库。mysql_query执行SQL语句。 2.3 处理结果 mysql_store_result保存查询结果到本地。mysql_num_rows和mysql_num_fields获取结果集中的行数和列数。mysql_fetch_row遍历结果集获取单行数据。 2.4 清理和关闭 mysql_free_result释放结果集资源。mysql_close关闭数据库连接销毁句柄。 2.5 错误处理 mysql_error获取MySQL接口执行错误原因。 三. MySQL使用过程 初始化MySQL句柄 使用mysql_init函数初始化一个MySQL连接句柄为后续操作做准备。 连接到MySQL服务器 使用mysql_real_connect函数连接到MySQL服务器需要提供主机地址、用户名、密码、数据库名等信息。 设置字符集 使用mysql_set_character_set设置客户端字符集以确保字符编码的一致性。 执行SQL语句 使用mysql_query执行SQL语句可以是查询、插入、更新或删除等操作。 处理查询结果对于查询操作 如果执行的是查询操作可以使用mysql_store_result保存结果集然后通过mysql_fetch_row逐行读取数据。 错误处理 在每个步骤中如果操作失败可以使用mysql_error获取错误信息。 清理资源 使用完MySQL句柄后使用mysql_free_result释放结果集资源如果有查询操作然后使用mysql_close关闭连接释放句柄资源。 关闭连接 最后关闭与MySQL服务器的连接清理分配的资源。 四. 实现CRUD操作 4.1 创建数据库并建立表 create database if not exists test_db; use test_db; create table if not exists test_tb(id int primary key auto_increment,age int,name varchar(32),score decimal(4, 2) ); 4.2 添加数据Create 使用insert语句向数据库表中添加新记录。 #include stdio.h #include stdlib.h #include unistd.h #include string.h #include mysql/mysql.h #define HOST 127.0.0.1 #define USER root #define PASSWD mima #define DBNAME test_db void add(MYSQL *mysql) {char *sql insert into test_tb values(null, 18, 张三, 88.88), (null, 17, 李四, 77);;int ret mysql_query(mysql, sql);if (ret ! 0){printf(mysql query error:%s\n, mysql_error(mysql));return;}return; }int main() {MYSQL *mysql mysql_init(NULL);if (mysql NULL){printf(init mysql handle failed!\n);return -1;}if (mysql_real_connect(mysql, HOST, USER, PASSWD, DBNAME, 0, NULL, 0) NULL){printf(mysql connect error:%s\n, mysql_error(mysql));return -1;}mysql_set_character_set(mysql, utf8);add(mysql);mysql_close(mysql);return 0; } 编译并运行 运行结果 4.3 修改数据Update 使用update语句更新表中的现有记录。 void mod(MYSQL *mysql) {char *sql update test_tb set age34 where name张三;;int ret mysql_query(mysql, sql);if (ret ! 0){printf(mysql query error:%s\n, mysql_error(mysql));return;}return; } 运行结果 4.4 删除数据Delete 使用delete语句从表中删除记录。 void del(MYSQL *mysql) {char *sql delete from test_tb where name张三;;int ret mysql_query(mysql, sql);if (ret ! 0){printf(mysql query error:%s\n, mysql_error(mysql));return;}return; } 运行结果 4.5 查询数据Retrieve 使用select语句检索表中的数据。 void get(MYSQL *mysql) {char *sql select * from test_tb;;int ret mysql_query(mysql, sql);if (ret ! 0){printf(mysql query error:%s\n, mysql_error(mysql));return;}MYSQL_RES *res mysql_store_result(mysql);if (res NULL){printf(mysql store result error:%s\n, mysql_error(mysql));return;}int row mysql_num_rows(res);int col mysql_num_fields(res);printf(%10s%10s%10s%10s\n, ID, 年龄, 姓名, 成绩);for (int i 0; i row; i){MYSQL_ROW row_data mysql_fetch_row(res);for (int i 0; i col; i){printf(%10s, row_data[i]);}printf(\n);}mysql_free_result(res);return; } 运行结果 结语 通过本文的介绍你应该对MySQL的C语言API有了深入的了解。使用这些API你可以在C语言项目中实现对MySQL数据库的高效操作。虽然现代开发中更倾向于使用高级语言和ORM框架但直接使用MySQL C API为理解数据库操作的细节提供了宝贵的视角。
http://www.hkea.cn/news/14309373/

相关文章:

  • 网站建设 吉林东台网站建设公司
  • 在网站上做招聘版面义乌网站优化建设
  • 可以做护考题目的网站族谱网站开发
  • 深圳网站建设 卓越迈2核512内存装wordpress
  • 怎么做cpa网站网站服务器放置地 网站接入服务提供单位怎么填
  • 邢台wap网站建设费用seo静态页源码
  • 网站建设兼职合同模板桔子建站官网
  • 网站栏目功能分析北京平面设计网站
  • 常州网站制作公司多吗捕鱼游戏网站建设步骤
  • 湖南电子科技网站建设图片类网站 怎么做优化
  • 郑州网站优化网络建设有限公司建设网站图片大全
  • 企业 做网站泉州seo计费管理
  • 厦门网站定制贵州省城乡建设部网站首页
  • 徐州做企业网站搜索引擎优化的方式有哪些
  • 移动终端网站开发网站功能项目报价
  • 公司网站备案资料网站的开发环境
  • 绍兴网站定制公司wordpress情侣网站源码
  • 宁德市路桥建设有限公司网站wordpress 滑 验证
  • 爱站长工具律师事务所网站制作
  • 网站设计的论文怎么建网站数据库
  • 精准扶贫建设网站的目的邯郸网站建设的企业
  • iis网站301重定向网站设计公司 上海
  • 网站前台用什么做长沙免费旅游景点大全
  • 深圳网站制作网站建设wordpress建群站
  • 如何提高网站的访问速度百度安装app下载免费
  • 网站建设也笔试简单网站php源码下载
  • 流程网站设计重庆网络安全公司排名
  • 嘉兴做网站建设的公司网页设计图纸
  • 附近网站建设服务公司搬家公司价目表
  • 刚刚建设的网站如何放图片成都工业设计公司排名