C语言连接操作MySQL数据库的方法

2014-07-13 16:20来源:中国存储网

导读:C语言连接mysql数据库,需要相应的头文件和lib文件,如果你安装Mysql数据库,会在安装目录下找到这些库文件,如果没有安装,也可以在网上找到我这里也有一份网上找到的:/201205/other/C_link_mySql51.rarC连接MySql5.1所

C语言连接mysql数据库,需要相应的头文件和lib文件,如果你安装Mysql数据库,会在安装目录下找到这些库文件,如果没有安装,也可以在网上找到

我这里也有一份网上找到的:/201205/other/C_link_mySql51.rar

C连接MySql5.1所需文件.rar

附带一个不错的例子: #include

#include

#include

#include

#include /*注意要包含这个头文件*/

#pragma comment(lib,"libmysql")

/*定义了一些数据库连接需要的宏*/

#define HOST "localhost"

#define USERNAME "root"

#define PASSWORD "123456"

#define DATABASE "test"

/*这个函数用来执行传入的sqlZ句*/

void exe_sql(char* sql) {

MYSQL my_connection; /*这是一个数据库连接*/

int res; /*执行sqlZ句后的返回标志*/

/*初始化mysql连接my_connection*/

mysql_init(&my_connection);

/*这里就是用了mysql.h里的一个函数,用我们之前定义的那些宏建立mysql连接,并

返回一个值,返回不为空证明连接是成功的*/

if (mysql_real_connect(&my_connection, HOST, USERNAME,

PASSWORD,

DATABASE, 0, NULL, CLIENT_FOUND_ROWS)) {/*连接成功*/

printf("数据库执行exe_sql连接成功!n");

/*这句话是设置查询编码为utf8,这样支持中文*/

mysql_query(&my_connection, "set names utf8");

/*下面这句话就是用mysql_query函数来执行我们刚刚传入的sqlZ句,

这会返回一个int值,如果为0,证明Z句执行成功*/

res = mysql_query(&my_connection, sql);

if (res) {/*现在就代表执行失败了*/

printf("Error: mysql_query !\n");

/*不要忘了关闭连接*/

mysql_close(&my_connection);

} else {/*现在就代表执行成功了*/

/*mysql_affected_rows会返回执行sql后影响的行数*/

printf("%d 行受到影响!\n",

mysql_affected_rows(&my_connection));

/*不要忘了关闭连接*/

mysql_close(&my_connection);

}

} else {

/*数据库连接失败*/

printf("数据库执行exe_sql连接失败!\n");

}

}

/*这个函数用来执行传入的sqlZ句,并打印出查询Y果*/

void query_sql(char* sql) {

MYSQL my_connection; /*这是一个数据库连接*/

int res; /*执行sqlZ句后的返回标志*/

MYSQL_RES *res_ptr; /*指向查询结果的指针*/

MYSQL_FIELD *field; /*字段结构指针*/

MYSQL_ROW result_row; /*按行返回的查询信息*/

int row, column; /*查询返回的行数和列数*/

int i, j; /*只是控制循环的两个变量*/

/*初始化mysql连接my_connection*/

mysql_init(&my_connection);

/*这里就是用了mysql.h里的一个函数,用我们之前定义的那些宏建立mysql连接,并

返回一个值,返回不为空证明连接是成功的*/

if (mysql_real_connect(&my_connection, HOST, USERNAME,

PASSWORD,

DATABASE, 0, NULL, CLIENT_FOUND_ROWS)) {/*连接成功*/

printf("数据库查询query_sql连接成功!\n");

/*这句话是设置查询编码为utf8,这样支持中文*/

mysql_query(&my_connection, "set names utf8");

*下面这句话就是用mysql_query函数来执行我们刚刚传入的sqlZ句,

这会返回一个int值,如果为0,证明Z句执行成功*/

res = mysql_query(&my_connection, sql);

if (res) { /*现在就代表执行失败了*/

printf("Error: mysql_query !\n");

/*不要忘了关闭连接*/

mysql_close(&my_connection);

} else { /*现在就代表执行成功了*/

/*将查询的Y果给res_ptr*/

res_ptr = mysql_store_result(&my_connection);

/*如果结果不为空,就把结果print*/

if (res_ptr) {

/*取得Y果的行数和*/

column = mysql_num_fields(res_ptr);

row = mysql_num_rows(res_ptr) + 1;

printf("查询到 %lu 行 \n", row);

/*输出Y果的字段名*/

for (i = 0; field = mysql_fetch_field(res_ptr); i++)

printf("%st", field->name);

printf("\n");

/*按行输出Y果*/

for (i = 1; i < row; i++) {

result_row = mysql_fetch_row(res_ptr);

for (j = 0; j < column; j++)

printf("%st", result_row[j]);

printf("\n");

}

}

/*不要忘了关闭连接*/

mysql_close(&my_connection);

}

}

}

int main(int argc, char *argv[]) {

/*测试下向里面插入数据*/

char *query;

char *exe = "insert into student values('lala','hahhahah!');";

exe_sql(exe);

*测试下查询*/

query="select * from student;";

query_sql(query);

return 0;

}

中国存储网声明:此文观点不代表本站立场,如有版权疑问请联系我们。

相关阅读

MySQL事务中一致性指的是?

MySQL事务中一致性是指事务的隔离执行(没有并发其他事务)保持数据库的一致性。

mysql数据库 root密码忘记后的修改方法分享-centos环境下

mysql root密码忘记后自然是要重置一个,方法很简单,修改my.cnf文件添加skip-grant-tables,就可以重置mysql root密码了。

腾讯计费平台 分布式MySQL数据库TDSQL架构分析

随着业务的发展,基于内存的NoSQL解决方案HOLD平台在高峰期一天支撑3000亿读写,证明了分布式Cache的巨大价值;但随着各种业务的接入,NoSQL方案的不足也逐步显现出来了,如下所示。

CentOS 5.1安装和配置berkeleydb.4.5+sendmail-8.14.2

CentOS 5.1安装和配置berkeleydb.4.5+sendmail-8.14.2,出现过以下问题:makemap hash /etc/mail/access < /etc/mail/access出错:makemap: Need to recompile with -DNEWDB。

centos系统设置zabbix中的sendmail发信

最近在搞zabbix发邮件的问题,从网上找了很多均没有得到答案!在我把自己的配置共享给大家,希望大家不断完善和分享。

数据中台进入银行后,会给给IT技术人员带来哪些挑战?

作为银行的技术人员,如何适应数据中台的变化。面临着业务挑战、技术挑战、组织架构挑战。

银行IT架构设计:选择集中式架构(非云化)还是分布式架构(云化)

近年来,随着金融产品和服务模式的持续变革,以及银行业转型发展的深入推进,促使人们不断思考银行IT 架构面临的挑战和影响。

TACC利用超级计算机模拟处理海水淡化

事实证明,海水淡化的秘诀在于:精确的网状均匀性,精确到纳米级。

对自己负责,对大家负责,请不要瞒报行程!告诉瞒报行程怎么处罚?

不听劝阻、不遵守相关隔离规定,导致他人感染,可以考虑过失以危险方法危害公共安全罪来定罪处罚。

c 连接mysql批量存储数据库_C语言连接操作MySQL数据库的方法相关推荐

  1. mysql odbc c语言_C语言ODBC操作MySQL数据库(示例代码)

    数据库及其编程API来源于不同的背景,开发人员可以从众多的数据库中选择一种,每种数据库都有自己的一套编程API,这就为数据库编程造成了很大的局限性.SQL是标准化数据库编程接口的一种尝试,然而各种数据 ...

  2. c excel连接mysql数据库_C语言连接Excel数据库

    一.问题的提出 在ASP编程中会遇到很多大大小小的难题,我有一次为一家书店设计网站的时候就遇到了一个这样的难题.起初使用Access做数据库,该数据库主要是为了保存书店内图书的信息,但是当记录的条目过 ...

  3. c# mysql 插入 和 查询_C#访问和操作MYSQL数据库

    这里介绍下比较简单的方式,引用MySql.Data.dll然后添加一个MySqlHelper类来对MySql数据库进行访问和操作. 1.将MySql.Data.dll引用到你的项目中 添加引用后在你的 ...

  4. python mysql批量insert数据、返回id_Python3 操作 MySQL 插入一条数据并返回主键 id的实例...

    Python 中貌似并没有直接返回插入数据 id 的操作(反正我是没找到),但是我们可以变通一下,找到最新插入的数据 #!/usr/bin/env python3 # -*- coding: UTF- ...

  5. cs通信查询mysql数据库_C#访问和操作MYSQL数据库

    usingSystem;usingSystem.Collections;usingSystem.Configuration;usingMySql.Data;usingMySql.Data.MySqlC ...

  6. V语言(Vlang) 操作mysql数据库返回map数组

    List item #V语言(Vlang) 操作mysql数据库返回map数组 图片: Vlang代码块 import mysql fn main() {a := sqlquery('1','10') ...

  7. MySQL Workbench 使用教程 - 如何使用 Workbench 操作 MySQL / MariaDB 数据库中文指南

    MySQL Workbench 是一款专门为 MySQL 设计的可视化数据库管理软件,我们可以在自己的计算机上,使用图形化界面远程管理 MySQL 数据库. 有关 MySQL 远程管理软件,你可以选择 ...

  8. MySQL学习笔记03【数据库表的CRUD操作、数据库表中记录的基本操作、客户端图形化界面工具SQLyog】

    MySQL 文档-黑马程序员(腾讯微云):https://share.weiyun.com/RaCdIwas 1-MySQL基础.pdf.2-MySQL约束与设计.pdf.3-MySQL多表查询与事务 ...

  9. mysql数据库大小 shell_shell脚本操作mysql数据库

    标签: 使用 mysql -e 参数可以执行各种 sql 的各种操作语句.不用在mysql的提示符下运行mysql,即可以在shell中操作mysql的方法. 格式:mysql  -hhostname ...

最新文章

  1. 网易java实习面试_2019届网易JAVA实习2面经历
  2. Win10怎么禁用系统更新服务 Win10禁用系统更新服务教程
  3. 采用oracle过程发邮件
  4. httpcliet发送body体_解决HTTP GET方法调用带有body问题
  5. 蓝桥杯 ADV-203 算法提高 8皇后·改(八皇后问题)
  6. 长沙android工程师,长沙安卓工程师辅导
  7. 音视频编解码:NVIDIA Jetson Linux Multimedia API(总结)
  8. 李清照 —— 别是一家
  9. 易错点 默认参数陷阱
  10. python语言中print函数的作用_python3入门之print,import,input介绍
  11. android pc投屏,安卓投屏助手pc版
  12. 记以ELK结合的Web日志数据采集心得整理
  13. 数字互动沙盘解决方案
  14. JSOI2008 小店购物
  15. Vue后台--Ele组件表格根据数字展示数值
  16. 【MFC/C++操作word】Word篇(OLED/COM)
  17. 窗口最小化后在任务栏上看不到
  18. 视觉工程师笔试知识汇总
  19. These Days
  20. linux恢复安卓数据,安卓数据恢复2 - ranfs的个人空间 - OSCHINA - 中文开源技术交流社区...

热门文章

  1. Webtop Html5 桌面App开发 -- 整合人人网登陆
  2. 为什么上班族都喜欢用QQ?这4点原因很真实,你的理由是什么
  3. 学习c++的50条建议
  4. 猜数字大小(动态规划)
  5. linux下使用vim编辑文件,出现^M是什么意思?
  6. 西安邮电大学计算机专业怎样,计算机怎么样?西安理工大学和西安邮电大学哪个比较好?...
  7. Bison介绍[转]
  8. win10怎么用记事本编译C语言,大师教你win10系统使用记事本打开文件的设置教程...
  9. html语言教程.chn,Go WebAssembly 入门(一)
  10. 给定一个m*n的格子或棋盘,问从左上角走到右下角的走法总数(每次只能向右或向下移动一个方格边长的距离。