C语言操作mysql数据库

文章提供了一个使用GCC编译器连接到MySQL数据库的C语言代码示例,包括必要的编译命令和库引用。代码中展示了如何初始化数据库连接,执行SQL查询以及处理查询结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

直接使用gcc编译,编译命令:gcc -g -o bbb -I"C:\Program Files\MySQL\MySQL Server 8.0\include" mysql.c -L"C:\Program Files\MySQL\MySQL Server 8.0\lib" -llibmysql

注意,需要将libmysql.dll这个库文件放在生成的可运行程序同目录下,否则会报找不到这个库文件的错误。

#include <WinSock2.h>
#include <windows.h>
// #include "C:\Program Files\MySQL\MySQL Server 8.0\include\mysql.h"
#include "mysql.h"
#include <stdio.h>
#include <stdlib.h>
 
 //gcc -g -o bbb -I"C:\Program Files\MySQL\MySQL Server 8.0\include" mysql.c -L"C:\Program Files\MySQL\MySQL Server 8.0\lib" -llibmysql
int main(){
    system("chcp 65001");//数据库编码为utf,此处改为gbk
        MYSQL *conn;
    MYSQL_RES *res;
    MYSQL_ROW row;
    char* server="localhost";//本地连接
    char* user="root";//
    char* password="Wan@214796";//mysql密码
    char* database="localtest";//数据库名
    char* query="select * from users";//需要查询的语句
    int t,r;
    conn=mysql_init(NULL);
    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");
    }
    printf("New client character set: %s\n",
        mysql_character_set_name(conn));
    // if (!mysql_set_character_set(conn, "gbk"))
    // {
    //     printf("New client character set: %s\n",
        // mysql_character_set_name(conn));
    // }

    t=mysql_query(conn,query);
    if(t)
    {
        printf("Error making query:%s\n",mysql_error(conn));
    }else{
        printf("Query made...\n");
        res=mysql_use_result(conn);
        if(res)
        {http://www.mytju.com/classcode/tools/encode_gb2312.asp
            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);
    return 0;

}

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值