MYSQL C API风格demo

      应该将MySQL的头文件以及操作的库文件一并拷贝到工程文件中,这样即使移植到别的安装有MySQL电脑或服务器,就不需要重新定位头文件以及相关的库文件,直接操作访问数据库。

1、移植MYSQL头文件

在linux中构建的Makefile工程要安装libmysqlclient-dev才能使用API接口的头文件。
命令:sudo apt-get install libmysqlclient-dev

安装好后的头文件在:/usr/include/mysql

Windows的MySQL头文件即在安装目录里面。

MySQL头文件:C:\Program Files\MySQL\MySQL Server 5.7\include\

2、mysql的demo代码

#include <my_global.h>
#include <mysql.h>
int main(int argc, char **argv)
{
	MYSQL *conn;
	MYSQL *MySQLConRet = NULL;
	MYSQL_RES *result;
    MYSQL_ROW row;
    int num_fields;
	
	//初始化与连接数据库
	conn = mysql_init(NULL);
	MySQLConRet = mysql_real_connect(conn, "localhost", "user", "password", "testdb", 0, NULL, 0);
	
	if ( MySQLConRet == NULL )
	{
		printf("connect is fail.please check......\n");
	}
   
	printf("MySQL Connection Info: %s \n", mysql_get_host_info(conn));
	printf("MySQL Client Info: %s \n", mysql_get_client_info());
	printf("MySQL Server Info: %s \n", mysql_get_server_info(conn));
	
    //查询数据库
	mysql_query(conn, "SELECT * FROM Student");
	result = mysql_store_result(conn);
	num_fields = mysql_num_fields(result);
    
	//打印查询结果
	while ((row = mysql_fetch_row(result)))
	{
	    for(int i = 0; i < num_fields; i++)
	    {
		    printf("%s ", row[i] ? row[i] : "NULL");
	    }
	    printf("\n");
	}
    mysql_free_result(result);

    mysql_close(conn);
}

编译命令:

root@destiny:/home/temp# gcc -o mysql mysql.c `mysql_config --cflags` `mysql_config --libs`

运行:

root@destiny:/home/temp# ./mysql

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值