c 中mysql运用 小案例_C语言操作MYSQL小例子

初学使用用C语言操作MYSQL,写了个小例子,帖上来献丢人一下,呵呵。

程序很简单,先连接数据库,然后向class1表中插入一条数据,最后获取并输出整个class1表的内容。

上代码:

//test.c

//gcc test.c -o test -lmysqlclient

#include

#include

#include

//发生错误时,输出错误信息,关闭连接,退出程序

void error_quit(const char *str, MYSQL *connection)

{

fprintf(stderr, "%s : %d: %s\n",

str, mysql_errno(connection),

mysql_error(connection));

if( connection != NULL )

mysql_close(connection);

exit(1);

}

int main(int argc, char *argv[])

{

MYSQL *my_con = malloc( sizeof(MYSQL) );

MYSQL_RES *my_res;

MYSQL_FIELD *my_field;

MYSQL_ROW my_row;

int rows, i;

int res;

//连接数据库

mysql_init(my_con);

my_con = mysql_real_connect(my_con, "localhost", "test", "aaaaaaa",

"test1", 0, NULL, CLIENT_FOUND_ROWS);

if( NULL == my_con )

error_quit("Connection fail", my_con);

printf("Connection success\n");

//向数据库中插入一条记录

res = mysql_query(my_con,

"insert into class1(name, age, birthday) value('abc', 52, NOW());");

if( res != 0 )

error_quit("Insert fail", my_con);

//返回的是表中被影响的行数

res = mysql_affected_rows(my_con);

printf("Inserted %d rows\n", res);

//获取整个表的内容

res = mysql_query(my_con, "select * from class1;");

if( res != 0 )

error_quit("Select fail", my_con);

my_res = mysql_store_result(my_con);

if( NULL == my_res )

error_quit("Get result fail", my_con);

//获取表的列数

rows = mysql_num_fields(my_res);

//获取并输出表头

my_field = mysql_fetch_fields(my_res);

for(i=0; i

printf("%s\t", my_field[i].name);

printf("\n-------------------------------------\n");

//输出整个表的内容

while( 1 )

{

my_row = mysql_fetch_row(my_res);

if( NULL == my_row )

break;

for(i=0; i

{

if( my_row[i] == NULL )

printf("NULL\t");

else

printf("%s\t", (char*)my_row[i]);

}

printf("\n");

}

//释放空间,关闭连接

mysql_free_result(my_res);

mysql_close(my_con);

free(my_con);

return 0;

}

运行结果:

Connection success

Inserted 1 rows

idnameagebirthday

-------------------------------------

49ddd432012-11-09 09:49:41

50fff310000-00-00 00:00:00

58eee32NULL

59qqq43NULL

78abc522012-11-13 14:47:55

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值