c 直接访问mysql_c连接mysql -demo

//

// Created by gxf on 2020/2/4.

//

#include

#include

#include

void query(MYSQL *conptr);

void updateSql(MYSQL *mysql, char *updateSQL);

int main() {

MYSQL *conptr = NULL;

conptr = mysql_init(NULL);

if (!conptr) {

printf("init mysql fail\n");

exit(1);

}

conptr = mysql_real_connect(conptr, "localhost", "root", "", "test",

3306, NULL, 0);

if (!conptr) {

printf("connect mysql fail\n");

exit(1);

}

printf("connect mysql success\n");

// query

query(conptr);

// insert

updateSql(conptr, "insert into person(name, address) values('guanxianseng', 'chengdu')");

// delete

updateSql(conptr, "delete from person where name='guanxianseng'");

// update

updateSql(conptr, "update person set address='chengdu1111' where name='guanxiangfei'");

// query

query(conptr);

mysql_close(conptr);

return 0;

}

// query

void query(MYSQL *conptr) {

MYSQL_RES *resptr;

MYSQL_ROW row;

MYSQL_FIELD filed;

int res, i, j;

res = mysql_query(conptr, "select name, address from person");

// query fail

if (res) {

printf("query db fail: %s\n", mysql_error(conptr));

return;

}

resptr = mysql_store_result(conptr);

if (!resptr) {

printf("store fail:%s\n", mysql_error(conptr));

return;

}

printf("row nums: %d\n", mysql_num_rows(resptr));

j = mysql_num_fields(resptr);

while ((row = mysql_fetch_row(resptr))) {

for (i = 0; i < j; i++) {

printf("%s \t", row[i]);

}

printf("\n");

if (mysql_errno(conptr)) {

printf("retrive faile: %s\n", mysql_error(conptr));

return;

}

} //while

// mysql_free_result(conptr);

}

// insert update delete

void updateSql(MYSQL *mysql, char *updateSQL) {

int res;

res = mysql_query(mysql, updateSQL);

if (res) {

// update fail

printf("insert errorno: %d error: %s\n", mysql_errno(mysql), mysql_error(mysql));

} else {

// update success

printf("update rows nums:%d\n", mysql_affected_rows(mysql));

}

}

cmaklist.txt

# mysql demo

include_directories(/usr/local/include/mysql)

link_directories(/usr/local/mysql/lib)

link_libraries(mysqlclient)

add_executable(mysql-demo2 mysql-demo1.c)

create table sql

create table person(name varchar(50), address varchar(100));

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值