c语言连接mysql数据库的实现方法
C语言连接mysql数据库,需要相应的头文件和lib文件,如果你安装Mysql数据库,会在安装目录下找到这些库文件,如果没有安装,也可以在网上找到
我这里也有一份网上找到的:/201205/other/C_link_mySql51.rar
C连接MySql5.1所需文件.rar
附带一个不错的例子:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
|
#include <string.h> #include <stdlib.h> #include <stdio.h> #include <winsock2.h> #include <mysql/mysql.h>/*注意要包含这个头文件*/ #pragma comment(lib,"libmysql") /*定义了一些数据库连接需要的宏*/#define HOST "localhost" #define USERNAME "root" #define PASSWORD "123456" #define DATABASE "test" /*这个函数用来执行传入的sql語句*/void exe_sql(char* sql) { MYSQL my_connection; /*这是一个数据库连接*/int res; /*执行sql語句后的返回标志*//*初始化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函数来执行我们刚刚传入的sql語句, 这会返回一个int值,如果为0,证明語句执行成功*/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"); } } /*这个函数用来执行传入的sql語句,并打印出查询結果*/void query_sql(char* sql) { MYSQL my_connection; /*这是一个数据库连接*/int res; /*执行sql語句后的返回标志*/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函数来执行我们刚刚传入的sql語句, 这会返回一个int值,如果为0,证明語句执行成功*/ res = mysql_query(&my_connection, sql); if (res) { /*现在就代表执行失败了*/printf("Error: mysql_query !\n"); /*不要忘了关闭连接*/mysql_close(&my_connection); } else { /*现在就代表执行成功了*//*将查询的結果给res_ptr*/res_ptr = mysql_store_result(&my_connection); /*如果结果不为空,就把结果print*/if (res_ptr) { /*取得結果的行数和*/column = mysql_num_fields(res_ptr); row = mysql_num_rows(res_ptr) + 1; printf("查询到 %lu 行 \n", row); /*输出結果的字段名*/for (i = 0; field = mysql_fetch_field(res_ptr); i++) printf("%st", field->name); printf("\n"); /*按行输出結果*/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; } |
c语言连接mysql数据库的实现方法的更多相关文章
- R语言-连接MySQL数据库方法
版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[+] R语言连接数据库常用的方法有2种: 1.使用R数据库接口 连接MySQL,使用RMySQL包,使用前RMySQL包要先安 ...
- C语言连接MySql数据库
C语言连接MySql数据库(CodeBlocks) 操作系统:Windows7(32位)编译软件:Code::Blocks 10.05数 据 库:mysql-5.1.62-win32 数据库内的数据: ...
- Linux centos 7/ubantu下: 用 C 语言连接 MySQL数据库
前言:最近用IPC.socket做ATM.聊天项目,考虑到需要用到数据库,所以总结一下centos.ubantu环境下怎么用C语言操作数据库,例如常见的增删改查等! 一.Centos环境安装mysql ...
- ASP 连接 MySQL 数据库两种方法
一般都是用myodbc来连接.首先,在系统中安装 Mysql 的ODBC数据库驱动.如安装稳定版本是3.51.下载地址是:http://dev.mysql.com/downloads/connecto ...
- Jsp连接Mysql数据库取数方法
我将Jsp连接Mysql数据库方法整理如下,供大家学习交流! 1.首先在myslq数据库中新建mldn数据库,并新建emp表.(方法不展开介绍) 插入数据如下: create table `emp` ...
- C语言连接MySQL数据库(课程设计总结)
刚结束课程设计,也预示着假期立即就要到来了.本次课程设计并不算难,无非就是让做一个XXX系统,实现用户的注冊.登录.菜单管理.超级用户等等一些功能,到如今为止已经做过好几个了,所以基本流程都熟悉了! ...
- Java连接MySQL数据库三种方法
好久没有更新博客了!今天利用周目时学习了一下数据库mysql.介绍一下数据库的三种连接方式! 开发工具:Myeclipse MySQL5.6 MySQL连接驱动:mysql-connector-jav ...
- C语言连接MySQL数据库(转)
c++连接MySQL有两种方式,1是原始的方法,2是用 Connector c++ .Connector c++ 只是一种封装,使之更加方便. 1.原始方法 这里归纳了C API可使用的函数,并在下 ...
- Android开发JDBC连接mysql数据库导入驱动方法
在使用JDBC编程时需要连接数据库,导入JAR包是必须的,导入其它的jar包方法同样如此,导入的方法是 打开eclipse 1.右击要导入jar包的项目,点properties 2.左边选择java ...
随机推荐
- SQL2005中的事务与锁定(九)-(1)- 转载
------------------------------------------------------------------------ -- Author : HappyFlyStone - ...
- mysql的“The user specified as a definer (”@’%') does not exist”问题 解决
2017-12-27,MYSQL的存储调用时出现了“The user specified as a definer (”test@’%') does not exist”的问题. 网上查过后,都是提示 ...
- windows系统利用任务管理器-资源监视器了解程序的磁盘读写量
场景摘要: 1.刚部署上线一个新功能,增加了日志输出模块 2.本身服务器资源已经紧张了,在增加日志输出,就想了解磁盘读写量 3.从中突然发现oracle的磁盘读写量比较大 4.在展开明细发现是or ...
- MySQL面试之说明myisam和innodb两种存储引擎的不同之处
1.事务的支持不同(innodb支持事务,myisam不支持事务) 2.锁粒度(innodb行锁应用,myisam表锁) 3.存储空间(innodb既缓存索引文件又缓存数据文件,myisam只能缓存索 ...
- 内网DHCP攻击
局域网内DHCP攻击 实验环境:两个win2008 r2虚拟机(一台用作正常的DHCP服务器,另一台用作伪造DHCP服务器),两个win7虚拟机(用作客户机),一个kali虚拟机(用作攻击,耗尽DHC ...
- IIS 部署SSL证书
1.导入证书 打开IIS服务管理器,点击计算机名称,双击‘服务器证书 双击打开服务器证书后,点击右则的导入 选择证书文件,点击确定 2.站点开启SSL 选择证书文件,点击确定 点击网站下的站点名称,点 ...
- [luogu T71973]卡常者π酱
[luogu T71973]卡常者π酱 题意 给定一个长度为 \(n\) 的字符串, 要求将字符串分割为若干段, 每一段要么是一个字符要么是前面几段的并的子串. 如果某一段是一个单独字符, 则产生 \ ...
- Spring Boot 验证表单
在实际工作中,得到数据后的第一步就是验证数据的正确性,如果存在录入上的问题,一般会通过注解校验,发现错误后返回给用户,但是对于逻辑上的错误,很难使用注解方式进行验证了,这个使用可以使用Spring所提 ...
- DevExpress04、LayoutControl、GalleryControl
首先需求是通过LayoutControl控件设计下图所示的窗体: 从该界面的设计过程 1.向窗体中添加LayoutControl控件 在将该控件拖入窗体后,最好立即设置该控件的尺寸和位置.拖入后,在如 ...
- JDK 环境变量 Windows配置
安装完成JDK后需要配置环境变量,下面是环境变量的配置方法 1.配置环境变量: 对于Java程序开发而言,主要会使用JDK的两个命令:javac.exe.java.exe.路径:C:\Java\jdk ...