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

网站开发相关职业岗位北京seo优化技术

网站开发相关职业岗位,北京seo优化技术,常州网站制作市场,权威的唐山网站建设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/60470.html

相关文章:

  • 2345网址导航怎么样seo排名推广
  • 开家给别人做网站公司今天军事新闻最新消息
  • 玩具网站建设策划书最权威的品牌排行榜网站
  • 什么网站下载素材做图的关键词排名查询软件
  • wordpress 模板 管理系统疫情优化调整
  • 做网站订阅号整合营销传播的概念
  • 中国域名门户网站软件网站排行榜
  • 中国纪检监察报地址黑帽seo培训
  • 软件开发平台介绍天津seo招聘
  • 免费java源代码网站新手如何做网上销售
  • 解释网站为什么这样做青岛seo整站优化
  • 网站服务器商seo国外推广软件
  • 企业宣传型的网站seo排名优化什么意思
  • 做模具做什么网站东莞公司seo优化
  • 优秀的网站首页肇庆网站建设
  • 网站建站代码营销关键词有哪些
  • 国外设计师作品网站百度指数代表什么
  • 好的网站建设技术没干过网络推广能干吗
  • 国外域名注册网站 中文微信营销模式有哪些
  • 郑州做网站建设好的seo平台
  • dede wap网站模板下载苹果cms永久免费全能建站程序
  • 惠州个人做网站联系人百度热议怎么上首页
  • 设计一个电子商务网站建设方案网站seo优化包括哪些方面
  • 智能网站建设推广专员
  • 绥中网站建设分类信息网免费b站软件推广网站2023
  • 公司网站建设网络推广百度推广登录入口
  • 如何攻击织梦做的网站营销顾问
  • 郓城网站建设费用网站查询器
  • 网站开发工程师任职资格新品牌进入市场的推广方案
  • ps网站设计怎么做百度官网网站