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

申请做网站中国企业500强排行榜2021

申请做网站,中国企业500强排行榜2021,我想学做网站,企业网站建设协议范本文章目录 一、msyql数据库API接口1.初始化mysql_init()——mysql_init2.链接数据库mysql_real_connect——mysql_real_connect3.设置当前客户端的字符集——mysql_set_character_set4.选择操作的数据库——mysql_select_db5.执行sql语句——mysql_query6.保存查询结果到本地——…

文章目录

  • 一、msyql数据库API接口
    • 1.初始化mysql_init()——mysql_init
    • 2.链接数据库mysql_real_connect——mysql_real_connect
    • 3.设置当前客户端的字符集——mysql_set_character_set
    • 4.选择操作的数据库——mysql_select_db
    • 5.执行sql语句——mysql_query
    • 6.保存查询结果到本地——mysql_store_result
    • 7.获取结果集中的行数与列数—— mysql_num_rows/mysql_num_fields
    • 8.遍历结果集——mysql_fetch_row
    • 9.释放结果集——mysql_free_result
    • 10.关闭数据库客户端连接,销毁句柄——mysql_close
    • 11.获取mysql接口执行错误原因——mysql_error
    • 创建测试用库和表
    • 使用API实现数据的增删改查操作


一、msyql数据库API接口

1.初始化mysql_init()——mysql_init

mysql_init API文档链接别点了,也没样例代码,反正我是看不懂。

要使用库,必须先进行初始化!
函数:

MYSQL *mysql_init(MYSQL *mysql);
  • 参数为空则动态申请句柄空间进行初始化
  • 失败返回NULL

样例:


2.链接数据库mysql_real_connect——mysql_real_connect

初始化完毕之后,必须先链接数据库,进行后续操作。(mysql网络部分是基于TCP/IP的)
函数:

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

3.设置当前客户端的字符集——mysql_set_character_set

函数:

int mysql_set_character_set(MYSQL *mysql, const char *csname)
  • mysql–初始化完成的句柄
  • csname–字符集名称,通常:“utf8”
  • 返回值:成功返回0, 失败返回非0;

4.选择操作的数据库——mysql_select_db

函数:

int mysql_select_db(MYSQL *mysql, const char *db)
  • mysql–初始化完成的句柄
  • db-----要切换选择的数据库名称
  • 返回值:成功返回0, 失败返回非0;

5.执行sql语句——mysql_query

函数:

int mysql_query(MYSQL *mysql, const char *stmt_str) 
  • mysql–初始化完成的句柄
  • stmt_str–要执行的sql语句
  • 返回值:成功返回0, 失败返回非0;

6.保存查询结果到本地——mysql_store_result

函数:

MYSQL_RES *mysql_store_result(MYSQL *mysql) 
  • mysql–初始化完成的句柄
  • 返回值:成功返回结果集的指针, 失败返回NULL;

7.获取结果集中的行数与列数—— mysql_num_rows/mysql_num_fields

函数:

uint64_t mysql_num_rows(MYSQL_RES *result)
  • result–保存到本地的结果集地址
  • 返回值:结果集中数据的条数
    函数:
unsigned int mysql_num_fields(MYSQL_RES *result)
  • result–保存到本地的结果集地址
  • 返回值:结果集中每一条数据的列数;

8.遍历结果集——mysql_fetch_row

函数:

MYSQL_ROW mysql_fetch_row(MYSQL_RES *result) 
  • result–保存到本地的结果集地址
  • 返回值:实际上是一个char **的指针,将每一条数据做成了字符串指针数组 row[0]-第0列 row[1]-第1列
  • 并且这个接口会保存当前读取结果位置,每次获取的都是下一条数据

9.释放结果集——mysql_free_result

函数:

void mysql_free_result(MYSQL_RES *result) 
  • result–保存到本地的结果集地址
  • /返回值:void

10.关闭数据库客户端连接,销毁句柄——mysql_close

函数:

void mysql_close(MYSQL *mysql) 

11.获取mysql接口执行错误原因——mysql_error

函数:

const char *mysql_error(MYSQL *mysql) 

创建测试用库和表

库名:test_db
表名:test_tb{
id(int)
age(int)
name(varcher32)
score(decimal(4,2))
}

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) 
); 

在这里插入图片描述

使用API实现数据的增删改查操作

#include<iostream>
#include<mysql/mysql.h>
#include<string>
using namespace std;
int main()
{//1.操作句柄初始化,参数为空就动态申请句柄进行初始化MYSQL* mysql = mysql_init(NULL);if(mysql==NULL){cerr<<"init mysql handle failed"<<endl;return -1;}string host = "127.0.0.1";string user = "root";string passwd ="123456789.whC";string dp = "test_db";//2.链接数据库if( mysql_real_connect(mysql,host.c_str(),user.c_str(),passwd.c_str(),dp.c_str(),0,NULL,0)==NULL){cerr<<"mysql connect error "<<mysql_error(mysql)<<endl;return -1;}//3.设置字符集mysql_set_character_set(mysql,"utf8");//4.选择数据库int ret = mysql_select_db(mysql,"test_db");if(ret!=0){cerr<<"select db error"<<endl;}//增 // string sql = "insert into test_tb (age,name,score)values(18,'whc',12.33);"; // ret =  mysql_query(mysql,sql.c_str());// if(ret!=0)// {//   cerr<<"mysql query select  error"<<endl;// }//改string sql1 ="update test_tb  set age=100 where id=2;";ret = mysql_query(mysql,sql1.c_str());if(ret!=0){cerr<<"mysql query update  error"<<endl;}string sql2 ="delete from test_tb where id =6;";//删// mysql_query(mysql,sql2.c_str());//查string sql3 ="select * from test_tb;";//执行语句ret = mysql_query(mysql,sql3.c_str());if(ret!=0){cerr<<"mysql query select error"<<endl;return -1;}//保存查询结果到本地MYSQL_RES* result = mysql_store_result(mysql);//获取结果集中的行数uint64_t  row_nums = mysql_num_rows(result);//获取结果集中的列数unsigned int  field_nums = mysql_num_fields(result);cout<<row_nums<<" "<<field_nums<<endl;//遍历结果集MYSQL_ROW  row;for(int i = 0;i<row_nums;i++){row = mysql_fetch_row(result);for(int j = 0;j<field_nums;j++){cout<<row[j]<<" ";}cout<<endl;}//释放结果集mysql_free_result(result);//关闭数据库客户端连接,销毁句柄mysql_close(mysql);return 0;
}
http://www.yayakq.cn/news/944918/

相关文章:

  • 在线学习平台网站建设有什么功能网站推广话术与技巧
  • 防城港市建设工程质量监督站网站怎么推广公司网站
  • 做书app下载网站有哪些做细胞激活的母液网站
  • 网站建设预算明细表ui做的好看的论坛网站
  • 平阳企业网站建设定制棺材网站
  • discuz 科技网站模板下载浙江舟山城乡建设网站
  • 茂名网站建设优化seo没有服务器怎么先做网站
  • 酒店房产网站建设网站建设怎么添加视频
  • 温州市企业网站制作网站备案的规划方案
  • 做文案的网站有些什么动漫制作专业简介
  • 怀柔网站建设优化seo做公众号的网站有哪些
  • 如何建立一家网站北京网站报价
  • 手机网站建设实验报告做女团学什么舞蹈视频网站
  • 美食网站建设服务策划书腾讯qq网页版
  • 四川省建设厅燃气网站网站还在建设中英文
  • 简易企业网站网站费用
  • 沧州企业网站专业定制深圳维特网站建设
  • 建设个人网站的参考网站及文献经典vi设计案例分析
  • etsy网站网站建设的各个环节
  • net网站同时支持 生成静态文件和伪静态阿里云网站建设方案书
  • 网站 ip地址是什么设计北京
  • 所有做运动的网站谷歌seo关键词排名优化
  • 商城类网站建设费用wordpress如何添加友情链接
  • wordpress网站载入慢cms框架 wordpress
  • 网站维护经费wordpress 知更鸟 下载
  • 装修设计网站免费东莞做小程序的公司
  • cpa项目怎么做必须有网站么怎么在vmware上做网站
  • 信用渭南网站建设手机百度网页版 入口
  • 完成网站建设成本nginx反代wordpress伪静态
  • 达内网站开发培训网站标题符号有哪些