转载:http://blog.chinaunix.net/uid-26758020-id-3288633.html
1、MYSQL *mysql_init(MYSQL *mysql)

   为mysql_real_connect()分配或初始化一个MYSQL对象。若mysql为NULL,函数为其分配,初始化并返回一个新对象;否则对象被初始化并返回该对象的地址。

   返回值:一个被初始化了的MYSQL* handle,若内存不足返回NULL。
 
 
2、int mysql_options(MYSQL *mysql, enum mysql_option option, const void *arg)

   为连接设置一些连接项。必须在mysql_init()之后,mysql_real_connect()之前调用该函数。
 
 
3、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)

   试图与运行在host上的mysql数据库建立一个连接。在调用该函数之前,必须先调用mysql_init()初始化MYSQL结构体。

   返回值:连接成功返回A MYSQL* connection handle,连接失败返回NULL。
 
 
4、int mysql_query(MYSQL *mysql, const char *stmt_str)

   执行由stmt_str指向的SQL语句。不能执行包含二进制的数据(字符“\0”是二进制数据),但mysql_real_query()可以;通常使用单独的SQL语句(不带“;”的),也可调用mysql_real_connect() 或mysql_set_server_option()指定以分号分隔的多个SQL语句

   返回值:SQL语句执行成功返回0,出错返回非0。
 
 
5、int mysql_real_query(MYSQL *mysql, const char *stmt_str, unsigned long length)

   length是字符串stmt_str的字节数。除能执行二进制的SQL语句外,其他与mysql_query()相同。
 
 
6、MYSQL_RES *mysql_use_result(MYSQL *mysql)

   在调用mysql_query()或mysql_real_query()之后,必须调用mysql_store_result()或mysql_use_result()才能产生一个结果集,在完成对结果集的处理之后,必须调用mysql_free_result()释放结果集

   初始化一个结果集检索,但并不像mysql_store_result()那样把结果集读到client,而是通过调用mysql_fetch_row()进行逐行检索,直到返回一个NULL,直接从server读取,节省时间和空间

   返回值:成功返回一个MYSQL_RES结构体,出错返回NULL
 
 
7、MYSQL_RES *mysql_store_result(MYSQL *mysql)

   同mysql_use_result()
 
 
8、int mysql_next_result(MYSQL *mysql)

   该函数用来在由多个SQL语句构成的单独语句字符串时执行。在每次调用该函数之前,一定要使用  mysql_free_result()释放当前的语句的结果集。
 
 
9、MYSQL_ROW mysql_fetch_row(MYSQL_RES *result)

   检索结果集中的下一行,使用完mysql_store_result()后,无要检索的行返回NULL。使用完mysql_use_result()后,无要检索的行或出错返回NULL。

   每行的值的个数可由mysql_num_fields(result)获知,如果row保存mysql_fetch_row()的返回值,则指向值的指针是row[0] to row[mysql_num_fields(result)-1],空值由NULL指向

   返回值:成功返回下一行的MYSQL_ROW structure,出错或没有要检索的行返回NULL
 
 
10、void mysql_close(MYSQL *mysql)

   关闭先前打开的连接,同时也释放由mysql指向的连接handle,若handle是由mysql_init() or mysql_connect()分配的。

【数据库开发】 C连接mysql——常用的函数的更多相关文章

  1. 五、使用druid管理数据库,mybatis连接mysql数据库

    简介:    使用 mybatis 连接 mysql 数据库, 一套简单的增删改查流程, 前台用 bootstrap, bootstrap-table 框架, 最后用 druid 监控数据库连接情况 ...

  2. [转]MySQL常用Json函数和MySQL常用字符串函数

    MySQL常用Json函数:https://www.cnblogs.com/waterystone/p/5626098.html MySQL常用字符串函数:https://www.cnblogs.co ...

  3. Android开发JDBC连接mysql数据库导入驱动方法

    在使用JDBC编程时需要连接数据库,导入JAR包是必须的,导入其它的jar包方法同样如此,导入的方法是 打开eclipse 1.右击要导入jar包的项目,点properties 2.左边选择java ...

  4. MYSQL常用操作函数的封装

    1.mysql常用函数封装文件:mysql.func.php <?php /** * 连接MYSQL函数 * @param string $host * @param string $usern ...

  5. MySQL之MySQL常用的函数方法

    MySQL常用函数 本篇主要总结了一些在使用MySQL数据库中常用的函数,本篇大部分都是以实例作为讲解,如果有什么建议或者意见欢迎前来打扰. limit Select * from table ord ...

  6. 【MySQL】MySQL之MySQL常用的函数方法

    MySQL常用函数 本篇主要总结了一些在使用MySQL数据库中常用的函数,本篇大部分都是以实例作为讲解,如果有什么建议或者意见欢迎前来打扰. limit Select * from table ord ...

  7. php连接mySql,加密函数

    连接MySQL mysql_connect(servername,username,password); 面向对象: <?php $servername = "localhost&qu ...

  8. [.NET开发] C#连接MySQL的两个简单代码示例

    实现代码一.使用的是mysql自带的驱动安装一下即可 这是一个简单的例子. 在这里有个问题:dataset如果没设主键的话,可能会引起一些对数库操作的问题,比如会造成updata出现错误. stati ...

  9. 【数据库】Eclipse连接MySQL数据库

    我的环境:MySQL:mysql-essential-5.1.51-win32 jdbc驱动:我已经上传到csdn上一个:http://download.csdn.net/detail/paulwin ...

随机推荐

  1. trigger 和 triggerHandler(),自定义事件

    trigger 和 triggerHandler(),自定义事件 语法: $(selector).trigger(event,[param1,param2,...]) 1,event 必需.规定指定元 ...

  2. 批量清理harbor镜像

    #! /bin/bash # 通过Harbor提供的API来批量删除镜像,人工删除费时费力 # 经过测试发现,通过接口去删除时提供的是的标签,但实际上删除的时候通过的是镜像的IMAGE_ID,也就是说 ...

  3. php MySQL 选择数据库

    在你连接到 MySQL 数据库后,可能有多个可以操作的数据库,所以你需要选择你要操作的数据库. 从命令提示窗口中选择MySQL数据库 在 mysql> 提示窗口中可以很简单的选择特定的数据库.你 ...

  4. LOJ P10150 括号配对 题解

    Analysis 区间dp裸题 初始化有点麻烦 i,j能匹配时要特判 #include<iostream> #include<cstdio> #include<cstri ...

  5. Elasticsearch原理讲透

    小史是一个非科班的程序员,虽然学的是电子专业,但是通过自己的努力成功通过了面试,现在要开始迎接新生活了. 随着央视诗词大会的热播,小史开始对诗词感兴趣,最喜欢的就是飞花令的环节. 但是由于小史很久没有 ...

  6. 使用webuploader实现大文件断点续传

    IE的自带下载功能中没有断点续传功能,要实现断点续传功能,需要用到HTTP协议中鲜为人知的几个响应头和请求头. 一. 两个必要响应头Accept-Ranges.ETag 客户端每次提交下载请求时,服务 ...

  7. 解决update-apt-xapi占用资源过高的问题

    最近云主机出现了个报错,查看系统日志发现是update-apt-xapi任务占用资源过高,甚至内存占完了无法开辟内存 云主机:Ubuntu 14.04.5 LTS update-apt-xapi是干嘛 ...

  8. 微信小程序入门与实战 常用组件API开发技巧项目实战*全

    第1章 什么是微信小程序? 第2章 小程序环境搭建与开发工具介绍 第3章 从一个简单的“欢迎“页面开始小程序之旅 第4章 第二个页面:新闻阅读列表 第5章 小程序的模板化与模块化 第6章 构建新闻详情 ...

  9. CodeForces - 1189E Count Pairs(平方差)

    Count Pairs You are given a prime number pp, nn integers a1,a2,…,ana1,a2,…,an, and an integer kk. Fi ...

  10. 按比例吃CPU

    前几天测试软件在多核上的性能,需要按照比例吃各个CPU,查了查资料,撸了下面一小段代码: #include <unistd.h> #include <stdlib.h> #in ...