在使用数据库的时候,我们是操作客户端方的,向服务器请求数据。MySQL的端口号-3306

连接mysql需要头文件:#include<mysql/mysql.h>

基础连接步骤:

1.创建连接句柄

MYSQL mysql_con;//连接句柄

2.初始化连接句柄mysql_init()

把连接句柄的地址传进去。

MYSQL*mysql = mysql_init(&mysql_con);

3.连接服务器mysql_real_connect()

mysql=mysql_real_connect(&mysql_con,"127.0.0.1","用户","密码","数据库名",3306,NULL,0);

连接后就可以使用,建立sql语句 ,传入数据库,获得结果集等

4.关闭连接mysql_close

 mysql_close(mysql);

因为用了mysql库,所以编译的时候需要加上-lmysqlclient


执行sql语句

sql语句用char类型指针指向,

mysql_query(连接句柄,sql语句);

    //sql语句char*sql = "select*from student";//执行sql语句-成功返回0if(mysql_query(mysql,sql)!=0){printf("query err\n");exit(1);}

select接收返回的结果

1.提取结果:

一次性提取所有数据:

MYSQL_RES *mysql_store_result(MYSQL *mysql);

提取的数据在结果集合中。

2.获取结果集中有多少行:

uint64_t mysql_num_rows(MYSQL_RES*res);

如果没有返回行,则为0.。

3.取出结果集中的一行记录

MYSQL_ROW mysql_fetch_row(MYSQL_RES *result);

出错,没有数据了--返回NULL,通常循环调用该方法

4.查看记录行的列数

unsigned int mysql_field_count(MYSQL *mysql);

释放结果集:


示例:

#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
#include<string.h>
#include<mysql/mysql.h>
int main()
{MYSQL mysql_con;//连接句柄
//初始化-mysql指向句柄的地址MYSQL*mysql = mysql_init(&mysql_con);if(mysql==NULL){printf("mysql init err\n");exit(1);}
//连接数据库mysql = mysql_real_connect(&mysql_con,"127.0.0.1","root","Lxy_123456","lxytest",3306,NULL,0);if(mysql==NULL){printf("connect err\n");exit(1);}
//sql语句char*sql = "select*from student";
//执行sql语句-成功返回0if(mysql_query(mysql,sql)!=0){printf("query err\n");exit(1);}
//提取查询结果MYSQL_RES* r = mysql_store_result(mysql);if(r==NULL){printf("res failed\n");mysql_close(mysql);exit(1);}
//获取结果集中的行数int num = mysql_num_rows(r);printf("结果集一共有%d条记录\n",num);
//获取结果集中的列数int count = mysql_field_count(mysql);printf("一行记录中有%d列\n",count);for(int i=0;i<num;i++){
//获取结果集中的一条记录MYSQL_ROW row = mysql_fetch_row(r);for(int j = 0;j<count;j++){printf("%s  ",row[j]);//打印一列}printf("\n");}
//释放结果集mysql_free_result(r);mysql_close(mysql);
}

【MySQL】C语言连接数据库相关推荐

  1. 连接mysql语言_杂谈各个语言连接数据库如何实现的-第一讲

    我们都知道各个语言连接数据库都有封装好的API.比如操作MySQL,php有pdo,mysqli等,java有jdbc,c#有mysql-connector-net,nodejs也有mysql的驱动. ...

  2. JDBC(Java语言连接数据库)

    JDBC(Java语言连接数据库) JDBC本质 整体结构 基层实现过程(即用记事本而不是idea) 第一种实现方式 第二种实现方式 乐观锁和悲观锁 乐观锁 悲观锁 JDBC本质 整体结构 基层实现过 ...

  3. c语言访问mysql,C语言访问mysql数据库

    mysql中新建的数据库为hyx,hyx中的表为my_schema,表中的数据为下图: 编写代码,访问表中的数据,测试代码如下: #include "stdafx.h" #incl ...

  4. c语言 连接 mysql,C语言连接mysql -select

    C语言实现查询mysql数据库的行数,列的属性,以及每条记录. /* select.c */ #include #include #include #include "/usr/includ ...

  5. Mysql —— C语言链接mysql数据库,实现可以增删改查的角色权限登录系统

    /******************************************************************** * 标题:C语言链接mysql数据库,实现可以增删改查的角色 ...

  6. Mysql—C语言API接口

    Mysql-C语言API接口 一.mysql-arp访问数据的操作流程 1. 初始化mysql操作句柄: 2. 连接mysql服务器: 3. 设置mysql客户端字符集(保持与服务器一致): 4. 选 ...

  7. MySQL——用IDEA连接数据库

    MySQL--用IDEA连接数据库 连接方式:用IDEA自带的DATABASE插件 先从菜单View→Tool Windows→Database打开数据库工具窗口,如下图所示:后续操作和Databas ...

  8. 【MySQL】使用C语言连接数据库

    文章目录 下载Mysql的C接口库 程序中引入Mysql头文件和库文件 **Mysql接口介绍** 创建句柄 链接数据库 设置字符编码 执行SQL语句 关闭链接 mysql.ops.cc 下载Mysq ...

  9. c语言连接数据库例子,c语言操作mysql数据库小例子_互帮互助(C language MySQL database operation example _ mutual help).doc...

    这是精心收集的精品经典资料,值得下载保存阅读! c语言操作mysql数据库小例子_互帮互助(C language MySQL database operation example _ mutual h ...

最新文章

  1. 如何在NLP领域干成第一件事
  2. C#读取配置文件app.config
  3. Dynamic Web TWAIN扫描识别工具改变缓冲区图像大小
  4. ArcGIS API for JavaScript 4.0(一)
  5. 文件系统对性能的影响
  6. 计算机网申兴趣爱好怎么写,银行网申个人特长和兴趣爱好怎么写
  7. IPv4地址在mysql的存储
  8. python3调用adb命令_Python操作adb命令
  9. 处理 ODBC, OLE DB, 和 SQL Server .NET Provider 中的异常
  10. Google又多了一家兄弟公司,要用机器学习帮企业防黑客
  11. https的安装(基于阿里云)
  12. 【资源】机器学习 周志华
  13. javascript——构造函数和原型对象
  14. 清明假期,超市可重点主推的品类
  15. 2016/5/21 Seperate by *
  16. 惊了!这里竟然有你的生日和银行卡密码?
  17. html5带倍速功能的视频播放器(加速2倍,1.5倍播放)
  18. 为什么好好的就不快乐了?
  19. docker Swarm容器编排工具
  20. WiFi语音、VoLTE以及下一代移动语音服务

热门文章

  1. Autox.js与vscode的连接,并实现自动打卡功能(ccit)
  2. 国家电网调控人工智能创新大赛开启 百度飞桨提供国产AI平台
  3. STM32F407/以太网/FX3U/PLC/工控板源程序
  4. Photoshop CS4 锁定图层
  5. SIMATIC G120 故障报A07991解决方法
  6. java 设置其他程序焦点_设置焦点的问题
  7. python中复杂的数据类型puple和list
  8. 使用Amazon Web Service AWS创建并用Putty连接EC2实例(附:Putty下载链接)
  9. 计算1~10阶乘然后累加
  10. python 远程控制摄像头_Python设置Socket代理及实现远程摄像头控制的例子