【MySQL】C语言连接数据库
在使用数据库的时候,我们是操作客户端方的,向服务器请求数据。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语言连接数据库相关推荐
- 连接mysql语言_杂谈各个语言连接数据库如何实现的-第一讲
我们都知道各个语言连接数据库都有封装好的API.比如操作MySQL,php有pdo,mysqli等,java有jdbc,c#有mysql-connector-net,nodejs也有mysql的驱动. ...
- JDBC(Java语言连接数据库)
JDBC(Java语言连接数据库) JDBC本质 整体结构 基层实现过程(即用记事本而不是idea) 第一种实现方式 第二种实现方式 乐观锁和悲观锁 乐观锁 悲观锁 JDBC本质 整体结构 基层实现过 ...
- c语言访问mysql,C语言访问mysql数据库
mysql中新建的数据库为hyx,hyx中的表为my_schema,表中的数据为下图: 编写代码,访问表中的数据,测试代码如下: #include "stdafx.h" #incl ...
- c语言 连接 mysql,C语言连接mysql -select
C语言实现查询mysql数据库的行数,列的属性,以及每条记录. /* select.c */ #include #include #include #include "/usr/includ ...
- Mysql —— C语言链接mysql数据库,实现可以增删改查的角色权限登录系统
/******************************************************************** * 标题:C语言链接mysql数据库,实现可以增删改查的角色 ...
- Mysql—C语言API接口
Mysql-C语言API接口 一.mysql-arp访问数据的操作流程 1. 初始化mysql操作句柄: 2. 连接mysql服务器: 3. 设置mysql客户端字符集(保持与服务器一致): 4. 选 ...
- MySQL——用IDEA连接数据库
MySQL--用IDEA连接数据库 连接方式:用IDEA自带的DATABASE插件 先从菜单View→Tool Windows→Database打开数据库工具窗口,如下图所示:后续操作和Databas ...
- 【MySQL】使用C语言连接数据库
文章目录 下载Mysql的C接口库 程序中引入Mysql头文件和库文件 **Mysql接口介绍** 创建句柄 链接数据库 设置字符编码 执行SQL语句 关闭链接 mysql.ops.cc 下载Mysq ...
- c语言连接数据库例子,c语言操作mysql数据库小例子_互帮互助(C language MySQL database operation example _ mutual help).doc...
这是精心收集的精品经典资料,值得下载保存阅读! c语言操作mysql数据库小例子_互帮互助(C language MySQL database operation example _ mutual h ...
最新文章
- 如何在NLP领域干成第一件事
- C#读取配置文件app.config
- Dynamic Web TWAIN扫描识别工具改变缓冲区图像大小
- ArcGIS API for JavaScript 4.0(一)
- 文件系统对性能的影响
- 计算机网申兴趣爱好怎么写,银行网申个人特长和兴趣爱好怎么写
- IPv4地址在mysql的存储
- python3调用adb命令_Python操作adb命令
- 处理 ODBC, OLE DB, 和 SQL Server .NET Provider 中的异常
- Google又多了一家兄弟公司,要用机器学习帮企业防黑客
- https的安装(基于阿里云)
- 【资源】机器学习 周志华
- javascript——构造函数和原型对象
- 清明假期,超市可重点主推的品类
- 2016/5/21 Seperate by *
- 惊了!这里竟然有你的生日和银行卡密码?
- html5带倍速功能的视频播放器(加速2倍,1.5倍播放)
- 为什么好好的就不快乐了?
- docker Swarm容器编排工具
- WiFi语音、VoLTE以及下一代移动语音服务
热门文章
- Autox.js与vscode的连接,并实现自动打卡功能(ccit)
- 国家电网调控人工智能创新大赛开启 百度飞桨提供国产AI平台
- STM32F407/以太网/FX3U/PLC/工控板源程序
- Photoshop CS4 锁定图层
- SIMATIC G120 故障报A07991解决方法
- java 设置其他程序焦点_设置焦点的问题
- python中复杂的数据类型puple和list
- 使用Amazon Web Service AWS创建并用Putty连接EC2实例(附:Putty下载链接)
- 计算1~10阶乘然后累加
- python 远程控制摄像头_Python设置Socket代理及实现远程摄像头控制的例子