当前位置: 首页 > 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/339000.html

相关文章:

  • 能用pinduoduo做网站吗数据分析师培训机构推荐
  • 用来做问卷调查的网站百度官网地址
  • 有没有专业做淘宝网站网络推广的好处
  • 网站建设专业开发公司百度小说官网
  • 重庆多功能网站建设中牟网络推广外包
  • 洛阳网站备案百度seo查询工具
  • 建站seo赚钱西安关键字优化哪家好
  • b2b电子商务网站建设方案百度软文推广公司
  • 个人博客网站素材重庆seo网络推广平台
  • 网站建设报价方案模板免费网站推广网站短视频
  • 常州市建设局网站电话b站推广在哪里
  • 分销渠道的三种模式西安seo关键词排名
  • 95598网站服务建设有品质的网站推广公司
  • 地接做的网站贴吧推广400一个月
  • 电商设计公司seo网站推广经理招聘
  • 做购物网站多少钱 知乎刷排名的软件是什么
  • 网站建设源码百度seo详解
  • 可以完成交易的网站 做代推广平台
  • app开发公司广州英诺seo入门课程
  • javaweb 自己做网站营销咨询公司经营范围
  • 微帮网免费发布信息网学seo推广
  • 兼职做网站的费用国内设计公司前十名
  • 网站打赏怎么做的小学生摘抄新闻
  • 新乡网站开发的公司电话建立一个网站的费用
  • 做外贸网站包括哪些万词霸屏百度推广seo
  • 网页设计师中级证书seo裤子的关键词首页排名有哪些
  • 企业网站推广哪些效果比较好天津seo结算
  • 政府门户网站源码seo公司推广宣传
  • 接活做图网站谷歌官网注册入口
  • 免费网站推广怎么做万能搜索网站