mysql date c语言_C语言读写mysql

创建

create database tiger;

create table `test` (

`id` int(11) not null auto_increment,

primary key (`id`)

);

alter table `test`

add column `name` varchar(20);

c语言读写数据库">c语言读写数据库

/*

============================================================================

name : mysqltest.c

author :

version :

copyright : your copyright notice

description : hello world in c, ansi-style

============================================================================

*/

#include

#include

#include

#include

mysql *g_conn; // mysql 连接

mysql_res *g_res; // mysql 记录集

mysql_row g_row; // 字符串数组,mysql 记录行

#define max_buf_size 1024 // 缓冲区最大字节数

const char *g_host_name = "127.0.0.1";

const char *g_user_name = "root";

const char *g_password = "123456";

const char *g_db_name = "tiger";

const unsigned int g_db_port = 3306;

void print_mysql_error(const char *msg) { // 打印最后一次错误

if (msg)

printf("%s: %s\n", msg, mysql_error(g_conn));

else

puts(mysql_error(g_conn));

}

int executesql(const char * sql) {

/*query the database according the sql*/

if (mysql_real_query(g_conn, sql, strlen(sql))) // 如果失败

return -1; // 表示失败

return 0; // 成功执行

}

int init_mysql() { // 初始化连接

// init the database connection

g_conn = mysql_init(null);

/* connect the database */

if(!mysql_real_connect(g_conn, g_host_name, g_user_name, g_password, g_db_name, g_db_port, null, 0)) // 如果失败

return -1;

// 是否连接已经可用

if (executesql("set names utf8")) // 如果失败

return -1;

return 0; // 返回成功

}

int main(void) {

puts("!!!hello world!!!"); /* prints !!!hello world!!! */

if (init_mysql());

print_mysql_error(null);

char sql[max_buf_size];

sprintf(sql, "insert into `test`(`name`) values('testname')");

if (executesql(sql))

print_mysql_error(null);

if (executesql("select * from `test`")) // 句末没有分号

print_mysql_error(null);

g_res = mysql_store_result(g_conn); // 从服务器传送结果集至本地,mysql_use_result直接使用服务器上的记录集

int inum_rows = mysql_num_rows(g_res); // 得到记录的行数

int inum_fields = mysql_num_fields(g_res); // 得到记录的列数

printf("共%d个记录,每个记录%d字段\n", inum_rows, inum_fields);

puts("id\tname\n");

while ((g_row=mysql_fetch_row(g_res))) // 打印结果集

printf("%s\t%s\n", g_row[0], g_row[1]); // 第一,第二字段

mysql_free_result(g_res); // 释放结果集

mysql_close(g_conn); // 关闭链接

return exit_success;

}

编译

需要安装mysql,并在编译的时候指定mysqlclient头文件,库的目录

gcc -l mysqlclient -i /usr/local/mysql/include/ -l /usr/local/mysql/lib/ mysqltest.c

运行

需要在/usr/lib/目录下创建 /usr/lib/libmysqlclient.so.18 -> /usr/local/mysql/lib/libmysqlclient.so.18 的软链接

ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib/libmysqlclient.so.18

6ca629c9143379b8661985313490ef4d.png

希望与广大网友互动??

点此进行留言吧!

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值