c 连接mysql批量存储数据库_C语言连接操作MySQL数据库的方法
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数据库的方法相关推荐
- mysql odbc c语言_C语言ODBC操作MySQL数据库(示例代码)
数据库及其编程API来源于不同的背景,开发人员可以从众多的数据库中选择一种,每种数据库都有自己的一套编程API,这就为数据库编程造成了很大的局限性.SQL是标准化数据库编程接口的一种尝试,然而各种数据 ...
- c excel连接mysql数据库_C语言连接Excel数据库
一.问题的提出 在ASP编程中会遇到很多大大小小的难题,我有一次为一家书店设计网站的时候就遇到了一个这样的难题.起初使用Access做数据库,该数据库主要是为了保存书店内图书的信息,但是当记录的条目过 ...
- c# mysql 插入 和 查询_C#访问和操作MYSQL数据库
这里介绍下比较简单的方式,引用MySql.Data.dll然后添加一个MySqlHelper类来对MySql数据库进行访问和操作. 1.将MySql.Data.dll引用到你的项目中 添加引用后在你的 ...
- python mysql批量insert数据、返回id_Python3 操作 MySQL 插入一条数据并返回主键 id的实例...
Python 中貌似并没有直接返回插入数据 id 的操作(反正我是没找到),但是我们可以变通一下,找到最新插入的数据 #!/usr/bin/env python3 # -*- coding: UTF- ...
- cs通信查询mysql数据库_C#访问和操作MYSQL数据库
usingSystem;usingSystem.Collections;usingSystem.Configuration;usingMySql.Data;usingMySql.Data.MySqlC ...
- V语言(Vlang) 操作mysql数据库返回map数组
List item #V语言(Vlang) 操作mysql数据库返回map数组 图片: Vlang代码块 import mysql fn main() {a := sqlquery('1','10') ...
- MySQL Workbench 使用教程 - 如何使用 Workbench 操作 MySQL / MariaDB 数据库中文指南
MySQL Workbench 是一款专门为 MySQL 设计的可视化数据库管理软件,我们可以在自己的计算机上,使用图形化界面远程管理 MySQL 数据库. 有关 MySQL 远程管理软件,你可以选择 ...
- MySQL学习笔记03【数据库表的CRUD操作、数据库表中记录的基本操作、客户端图形化界面工具SQLyog】
MySQL 文档-黑马程序员(腾讯微云):https://share.weiyun.com/RaCdIwas 1-MySQL基础.pdf.2-MySQL约束与设计.pdf.3-MySQL多表查询与事务 ...
- mysql数据库大小 shell_shell脚本操作mysql数据库
标签: 使用 mysql -e 参数可以执行各种 sql 的各种操作语句.不用在mysql的提示符下运行mysql,即可以在shell中操作mysql的方法. 格式:mysql -hhostname ...
最新文章
- 网易java实习面试_2019届网易JAVA实习2面经历
- Win10怎么禁用系统更新服务 Win10禁用系统更新服务教程
- 采用oracle过程发邮件
- httpcliet发送body体_解决HTTP GET方法调用带有body问题
- 蓝桥杯 ADV-203 算法提高 8皇后·改(八皇后问题)
- 长沙android工程师,长沙安卓工程师辅导
- 音视频编解码:NVIDIA Jetson Linux Multimedia API(总结)
- 李清照 —— 别是一家
- 易错点 默认参数陷阱
- python语言中print函数的作用_python3入门之print,import,input介绍
- android pc投屏,安卓投屏助手pc版
- 记以ELK结合的Web日志数据采集心得整理
- 数字互动沙盘解决方案
- JSOI2008 小店购物
- Vue后台--Ele组件表格根据数字展示数值
- 【MFC/C++操作word】Word篇(OLED/COM)
- 窗口最小化后在任务栏上看不到
- 视觉工程师笔试知识汇总
- These Days
- linux恢复安卓数据,安卓数据恢复2 - ranfs的个人空间 - OSCHINA - 中文开源技术交流社区...
热门文章
- Webtop Html5 桌面App开发 -- 整合人人网登陆
- 为什么上班族都喜欢用QQ?这4点原因很真实,你的理由是什么
- 学习c++的50条建议
- 猜数字大小(动态规划)
- linux下使用vim编辑文件,出现^M是什么意思?
- 西安邮电大学计算机专业怎样,计算机怎么样?西安理工大学和西安邮电大学哪个比较好?...
- Bison介绍[转]
- win10怎么用记事本编译C语言,大师教你win10系统使用记事本打开文件的设置教程...
- html语言教程.chn,Go WebAssembly 入门(一)
- 给定一个m*n的格子或棋盘,问从左上角走到右下角的走法总数(每次只能向右或向下移动一个方格边长的距离。