linux 下连接mysql c语言

本文提供了一个使用C语言和MySQL库进行数据库连接、插入数据和查询数据的基本示例。

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

由于项目需要使用数据库,因此在此做一下记录
#include <stdio.h>
#include <mysql.h>
 int main(int argc,char *argv[])
 {
	MYSQL conn;
	int res;   
	MYSQL_RES *res_ptr;
	int column,row,i ,j;
	MYSQL_ROW result_row;
	MYSQL_FIELD *field;
	mysql_init(&conn);//初始化 连接
	if(mysql_real_connect(&conn,"localhost","root","123456","test",0,NULL,CLIENT_FOUND_ROWS))
	{
		printf("数据库连接成功/n");
		res = mysql_query(&conn,"insert into test values('user','123456')");//插入语句,成功返回0,失败返回1
	if(res)
	{
		printf("语句执行失败/n");
		mysql_close(&conn);//记得关闭连接
	}
	else
	{
		printf("语句执行成功/n");
		
	}
	}        

	printf("query the test table");	
	
	/*连接成功*/
        printf("数据库查询query_sql连接成功!n");
        /*这句话是设置查询编码为utf8,这样支持中文*/
        mysql_query(&conn, "set names utf8");
		
        /*下面这句话就是用mysql_query函数来执行我们刚刚传入的sql語句,
 *         这会返回一个int值,如果为0,证明語句执行成功*/
        res = mysql_query(&conn, "select name from test");

        if (res) 
		{ /*现在就代表执行失败了*/
            printf("Error: mysql_query !n");
            /*不要忘了关闭连接*/
            mysql_close(&conn);
        }
		else 
		{ 
			/*现在就代表执行成功了*/
            /*将查询的結果给res_ptr*/
            res_ptr = mysql_store_result(&conn);

            /*如果结果不为空,就把结果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(&conn);
        }
		
	 return 0;
 
}


编译环境 
gcc -o test_mysql con.c `mysql_config --cflags --libs`
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值