c 开发mysql_C\C++开发MySQL程序简介(上)

首先介绍MySQL的核心函数,知晓以下函数可以让你可以进行大部分的MySQL开发

/*连接句柄 整个MYSQL开发的核心*/

MYSQL * mysql;

/*初始化*/

MYSQL *mysql_init(MYSQL *mysql);

/*设置连接选项*/

int mysql_options(MYSQL *mysql, enum mysql_option option, const char *arg);

/*打开连接*/

MYSQL *mysql_real_connect(MYSQL *mysql, const char *host, const char *user, const char *passwd, const char *db,

unsigned int port, const char *unix_socket, unsigned long client_flag);

/*执行SQL语句*/

int mysql_real_query(MYSQL *mysql, const char *query, unsigned long length);

/*如果SQL语句是C风格字符串,可以直接用下面的函数*/

int mysql_query(MYSQL *mysql, const char *query);

/*SQL语句一般只能是一条语句,如果你想在一个函数调用中执行多个SQL语句,需要以;隔开,并且设置在打开连接时设置属性*/

CLIENT_MULTI_STATEMENTS

/*或者对已经打开的连接进行以下函数调用设置,其中mysql为MYSQL的指针*/

mysql_set_server_option(mysql,MYSQL_OPTION_MULTI_STATEMENTS_ON);

/*如果执行的是一个有返回结果的语句,可以用下列函数获取结果*/

MYSQL_RES *mysql_use_result(MYSQL *mysql);

MYSQL_RES *mysql_store_result(MYSQL *mysql);

/*其中前一个函数只是初始化MYSQL_RES结构体,并不真正从服务器获取结果,后一个函数直接将全部数据读取到客户端*/

/*MYSQL_RES结构体可以通过以下函数获得数据*/

MYSQL_ROW mysql_fetch_row(MYSQL_RES *result);

/*该函数返回的MYSQL_ROW类型实际为 char** 类型,通过下标操作可以取得每一列的值*/

/*可以通过以下函数获得结果集的列数*/

unsigned int mysql_field_count(MYSQL *mysql);

unsigned int mysql_num_fields(MYSQL_RES *result);

/*获得结果集的行数*/

my_ulonglong mysql_num_rows(MYSQL_RES *result);

/*使用完结果集后一定要记得释放*/

void mysql_free_result(MYSQL_RES *result);

/*如果执行的SQL语句是无返回结果的,比如DELETE INSERT等,可以使用以下函数获取影响行数*/

my_ulonglong mysql_affected_rows(MYSQL *mysql);

/*最后使用完连接后需要释放*/

void mysql_close(MYSQL *mysql);

/*错误处理*/

/*MYSQL的函数基本都遵循C语言的编程习惯,当返回值为整数时,0代表成功,非0代表失败,当返回指针时,NULL代表失败*/

/*如果函数执行失败,你可以通过下列函数获得信息*/

unsigned int mysql_errno(MYSQL *mysql);//错误代号

const char *mysql_error(MYSQL *mysql);//英文错误信息

下一篇会介绍一些高级的内容,比如BLOB的存储,以及MySQL预处理函数来提高程序的执行效率

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值