【Mysql】C语言连接Mysql简单操作

1. 分配或初始化与mysql_real_connect()相适应的MYSQL对象

MYSQL* mysql_init(MYSQL* mysql);

成功返回初始化的MYSQL*句柄,如果没有足够内存分配新的对象,则返回NULL

2.连接数据库引擎

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)

参数解释:

  • mysql:是已经定义的MYSQL结构的地址
  • host:主机名或IP地址,若为localhost127.0.0.1表示与本地主机进行连接
  • user:用户登录Mysql的ID,若为NULL或空字符串,用户将被视为当前用户
  • passwd:用户登录Mysql的密码
  • db:用户使用的数据库名称,若db为NULL,连接会将默认的数据库设置为该值
  • port:数据库使用的端口号,若port不为0,其值将用作TCP/IP连接的端口号
  • unix_socket:若unix_socket不是NULL,该字符串描述了应使用的套接字或命名管道。
  • client_flag:通常为0,指定特定功能
  • 返回值: 如果连接成功,返回MYSQL*连接句柄。如果连接失败,返回 NULL

3.查询数据库中某个表的内容

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

参数解释

  • mysql:已经定义的MYSQL结构的地址
  • query:SQL语句
  • SQL语句长度
  • 返回值:如果查询成功,返回0。如果出现错误,返回非0值。

4.获取3中查询到的数据

MYSQL_RES *mysql_store_result(MYSQL *mysql)

返回值:具有多个结果的MYSQL_RES结果集合,如果出现错误,返回 NULL

5.获取多行结果的一行内容

MYSQL_ROW mysql_fetch_row(MYSQL_RES *result)
  • result:具有多个结果的MYSQL_RES结果集合
  • 返回值:检索结果集的下一行,在mysql_store_result()之后使用时,如果没有更多的行可检索时,返回 NULL

6.获取结果集中行的数目

int mysql_num_rows(MYSQL_RES *res)

注意:

  • 如果使用mysql_store_result(),mysql_num_rows()可以马上被调用。
  • 如果使用mysql_use_result(),mysql_num_rows()将不会返回正确的值,直到在结果集合中的所有行均被检索了。
  • 此命令仅对 SELECT 语句有效。要取得被 INSERTUPDATE 或者 DELETE 查询所影响到的行的数目,用 mysql_affected_rows()。

7.释放内存

void mysql_free_result(MYSQL_RES *result)

释放mysql_store_result()、mysql_use_result()等函数调用生成的结果集使用的内存

8.关闭Mysql连接

void mysql_close(MYSQL *mysql)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值