参考文章
Dev-C++连接mysql数据库
C语言连接mysql数据库详细步骤
说明
-
用了该篇《Dev-C++连接mysql数据库》的1~6步
注意:其中第5步中的工具=》编译器选项=》C++包含文件,添加mysql安装目录的include
改为 工具=》编译器选项=》C包含文件,添加mysql安装目录的include
-
用了《C语言连接mysql数据库详细步骤》的步骤
三、从数据库获取数据
四、总体代码
亲测有效
#include<stdio.h>
#include<stdlib.h>
#include <winsock.h>
#include <mysql.h>
#pragma comment (lib, "libmysql.lib")
int main()
{
MYSQL *conn; //数据库连接句柄
MYSQL_RES *res; //执行数据库语言结果
MYSQL_ROW row; //存放一个数据记录
char* server = "localhost";//本地连接
char* user = "root";//
char* password = "root";//mysql密码
char* database = "cjdbctest";//数据库名
char* query = "select * from user";//需要查询的语句
conn = mysql_init(NULL); //句柄初始化
int t;
if (!mysql_real_connect(conn, server, user, password, database, 3306, NULL, 0)) //判断是否连接成功
{
printf("Error connecting to database:%s\n", mysql_error(conn));
}
else {
printf("Connected...\n");
}
//字符编码,解决乱码
if (!mysql_set_character_set(conn, "gbk"))
{
printf("New client character set: %s\n",
mysql_character_set_name(conn));
}
if (mysql_query(conn, query))
{
printf("Error making query:%s\n", mysql_error(conn));
}
else
{
printf("Query made...\n");
res = mysql_use_result(conn); //获取结果
if (res)
{
while ((row = mysql_fetch_row(res)) != NULL)
{
//printf("num=%d\n",mysql_num_fields(res));//列数
for (t = 0; t < mysql_num_fields(res); t++)
printf("%8s ", row[t]);
printf("\n");
}
}
mysql_free_result(res);
}
mysql_close(conn); //断开数据库
system("pause");
return 0;
}
运行结果
进行CRUD操作
ubuntu下c语言对mysql进行CRUD(增删改查)