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

网站定制 天津道路建设去什么网站能看到

网站定制 天津,道路建设去什么网站能看到,免费编程软件小学生,做二维码报名网站C连接MySQL ubuntu下载MySQL1.构建mysql对象,获得mysql访问句柄2.mysql的连接3.向mysqld下达命令(增删改)3.C_C查询细节处理3.1 下达查询命令3.2 转储查询结果3.3显示查询结果 4.编译链接 ubuntu下载MySQL sudo apt install libmysqlclient-dev下载完毕&#xff0c…

C++连接MySQL

  • ubuntu下载MySQL
  • 1.构建mysql对象,获得mysql访问句柄
  • 2.mysql的连接
  • 3.向mysqld下达命令(增删改)
  • 3.C_C++查询细节处理
    • 3.1 下达查询命令
    • 3.2 转储查询结果
    • 3.3显示查询结果
  • 4.编译链接

ubuntu下载MySQL

sudo apt install libmysqlclient-dev

在这里插入图片描述
下载完毕,后就可以从/usr/include/mysql看到mysql的头文件。
并可以从/usr/lib/x86_64-linux-gnu看到mysql的动静态库
在这里插入图片描述

mysql的库是属于第三方库,gcc/g++默让是连接c/c++的库的,在编译链接时需要手动指定链接的库的位置和名称

1.构建mysql对象,获得mysql访问句柄

mysql对象的创建初始化,在这里进行初始化这个对象的时候这个东西其实就相当于我们学文件当中所对应的那个大写的FILE”,就相当于我们学系统当中对应的文件描述符fd,统一用来标识一部分我们mysql客户端相关的资源.
其中呢,我们把这种东西呢一般可以称之为句柄

 //创建mysql句柄,类似文件描述符MYSQL *my =mysql_init(nullptr);if(my==nullptr){std::cerr<<"init error"<<std::endl;return 1;}

2.mysql的连接

mysqld是一个网络服务(底层是tcp),在接受到sql指令执行之前,需要先建立连接。在这里插入图片描述

   const std::string host="127.0.0.1";const std::string username="root";const std::string passwd="123456";const std::string db="db";const int port=3306;//连接数据库mysqld,底层是tcp所以使用之前需要连接if(mysql_real_connect(my,host.c_str(),username.c_str(),passwd.c_str(),db.c_str(),port,nullptr,0)==nullptr){std::cerr<<"connect error"<<std::endl;}std::cout<<"connect success"<<std::endl;

3.向mysqld下达命令(增删改)

可以通过mysql_query()来对数据库进行操作在这里插入图片描述

   //给mysql下达命令 std::string sql="insert into students values(1,22,'男');";int n=mysql_query(my,sql.c_str());if(n==0){std::cout<<"操作成功"<<std::endl;}else{std::cout<<"操作失败"<<std::endl;}

【客户端编码问题】

所有的乱码问题,那么一定是因为客户端和服务器双方对于编码问题没有形成一致
1.建立好链接之后,获取英文没有问题,如果获取中文是乱码,就说明两端的编码不一致
2.设置链接的字符集是utf8,原始默认是latin1
(在mysql5.7的时候,mysqlclient默认编码是latin1,如果插入中文就会乱码,所以链接成功数据库后,需要设置编码,mysql_set_character_set(my, “utf8”);
但是8.0之后,默认是utf8mb4,无需设置)

 mysql_set_character_set(my,"utf8");

3.C_C++查询细节处理

在C_C++语言下要想进行数据库的查询select工作,不仅仅是向mysqld下达select命令,还要将查询的结果保存起来,这样才能将结果显示出来。 在这里插入图片描述

3.1 下达查询命令

//给mysql下达select命令 std::string sql="select *from students;";int n=mysql_query(my,sql.c_str());if(n==0){std::cout<<"操作成功"<<std::endl;}else{std::cout<<"操作失败"<<std::endl;}

3.2 转储查询结果

//将结果保存起来MYSQL_RES * res =mysql_store_result(my);if(nullptr == res){std::cerr<<"mysql_store_result error"<<std::endl;return 2;}

3.3显示查询结果

在这里插入图片描述

 //获取二维表的行数和列数int rows=mysql_num_rows(res);int fields=mysql_num_fields(res);std::cout<<"行数:"<<rows<<std::endl;std::cout<<"列数:"<<fields<<std::endl;

在这里插入图片描述

 //获取二维表的列名MYSQL_FIELD *fields_array=mysql_fetch_fields(res);for(int i=0;i<fields;i++){std::cout<<fields_array[i].name<<"\t";}std::cout<<"\n"<<std::endl;

在这里插入图片描述

   //获取二维表的内容for(int i=0;i<rows;i++){MYSQL_ROW rowarry=mysql_fetch_row(res);for(int j=0;j<fields;j++){std::cout<<rowarry[j]<<"\t";}std::cout<<"\n";}

4.编译链接

g++ -o mytest test.cpp -L/usr/lib/x86_64-linux-gnu -lmysqlclient

在这里插入图片描述

http://www.dtcms.com/wzjs/792280.html

相关文章:

  • 木渎建设局网站网页编辑软件绿色
  • wordpress php转html代码宁波seo推广哪家好
  • 网站建设开发费入什么科目什么是在线设计平台
  • 海淀区网站制作公司建立的读音
  • wap自助建站排板wordpress左侧产品分类目录
  • 销售网站的销量统计怎么做天津微信网站
  • 提供零基础网站建设教学深圳全网推广平台
  • 东莞专业网站设计建站酷家乐软件下载电脑版
  • 太原网站建设技术外包廊坊市广阳区建设局网站
  • 郑州网站排名优化外包网站建设售价多少钱
  • 安徽网站建站系统哪家好能用的免费proxy网页
  • 网站建设需要什么岗位我做淘宝网站卖东西怎么激活
  • 网站设计方案报价wordpress popup
  • 佛山网站建设与设计郑州网红打卡地
  • 广州高端网站制作公司哪家好如何做积分商城网站
  • 免费的域名和网站wordpress网站做h5分类
  • 企业综合型网站建设方案网站开发技术代码
  • 德州极速网站建设网络营销渠道可分为哪些
  • 龙岗中心城网站建设网站针对爬虫爬取做的优化
  • 检测网站开发语言工具春节网页设计素材
  • 网站建设推广公司需要哪些岗位网站建设完成的时间
  • 南京网站建设招聘用户权限网站
  • 做海报 画册的素材网站福田瑞沃汽车官网
  • 用dede做网站后台建设网站需要从哪方面考虑
  • 网站建设做得好的公司wordpress 营销插件
  • 网页设计与网站建设在线第二章wordpress 还是自己写
  • 网站制作联盟阜阳市住房和城乡建设局网站
  • 网站首页生成静态页面深圳市专业网站建设
  • 直播网站建设1个节点多少钱网站建设可以入开发成本吗
  • asp.net做网站吗wordpress 最新 热门 随机 切换