MySQL C API

原创 2011年01月13日 00:37:00

MySQL C API

应该用 --with-thread-safe-client 编译 MySQL C API 这将使 C API 线程对每个连接更安全。可以让 2 个线程共享相同的连接,如果你用线程的编程。只要如果你做下列事情:

 

20.1 MySQL C API

C API 代码是随 MySQL 分发的被包含在 mysqlclient 库且允许 C 顺序存取一个数据库。

看一下这些客户顺序。 MySQL 源代码分发中的很多客户是用 C 编写的如果你正在寻找演示怎样使用 C API 例子。

例如,大多数其他客户 API 除了 Java 所有 ) 都使用 mysqlclient 库与 MySQL 服务器通信。这意味着。能利用很多被其他客户顺序使用的同一环境变量,因为他从库中引用。对这些变量的一张表,见 12.1 不同的 MySQL 顺序的概述。

简单地增加缺省的最大限制并不造成更多被消耗。该尺寸检查主要是一个对错误的查询和通讯包的检查。 客户有一个最大通讯缓冲区大小。初始分配的缓冲区大小 ( 16K 字节 ) 自动地增加到最大尺寸 ( 缺省的最大值是 24M 因为缓冲区大小只是按保证需求而被增加。

如果你包括大到 16M 数据的 BLOB 值,通讯缓冲区必需足够大以便一个单独的 SQL 语句 ( 对客户 - 服务器传输 ) 和一行返回的数据 ( 对服务器 - 客户传输 ) 每个线程的通讯缓冲区主动态扩大到最大限制来处置任何查询或行。例如。必需有一个至少 16M 通讯缓冲区限制 ( 服务器和客户两端 ) 客户的缺省最大值是 24M 但是服务器端的缺省最大值是 1M 可以在服务器启动时通过改变 max_allowed_packet 参数的值来改变它见 10.2.3 调节服务器参数。

与一个连接相关的缓冲区的大小没被减少,MySQL 服务器在每个查询后缩小每个通讯缓冲区到 net_buffer_length 个字节。对客户。直到连接被关闭,此时客户内存被回收。

两个线程不能同时在同一个连接上发送查询到 MySQL 特别是必需保证在一个 mysql_queri mysql_store_result 之间没有其他线程正在使用同一个连接。
许多线程能存取用 mysql_store_result 检索进去的不同结果集合。
如果你使用 mysql_use_result 必需保证没有其他线程在同一个连接上正在询问任何东西,直到结果集合被关闭。

20.2 C API 数据类型

MYSQL
这个结构表示对一个数据库连接的句柄,被用于几乎所有的 MySQL 函数。
MYSQL_RES
这个结构代表返回行的一个查询的 SELECT, SHOW, DESCRIBE, EXPLA IN 结果。从查询返回的信息在本章下文称为 结果集合
MYSQL_ROW
这是一个行数据的类型平安 ( type-saf 表示。当前它实现为一个计数字节的字符串数组。如果字段值可能包括二进制数据,不能将这些视为空终止串,因为这样的值可以在内部包括空字节 ) 行通过调用 mysql_fetch_row 获得。
MYSQL_FIELD
这个结构包括字段信息,例如字段名、类型和大小。其成员在下面更详细地描述。可以通过重复调用 mysql_fetch_field 对每一列获得 MYSQL_FIELD 结构。字段值不是这个结构的局部;被包含在一个 MYSQL_ROW 结构中。
MYSQL_FIELD_OFFSET
这是一个相对一个 MySQL 字段表的偏移量的类型平安的表示。由 mysql_field_seek 使用。偏移量是一行以内的字段编号,从 0 开始。
my_ulonglong

Mysql C API函数详解

mysql_init() MYSQL *mysql_init(MYSQL *mysql) 描述分配或初始化与mysql_real_connect()相适应的MYSQL对象。如果mysql是NULL指...
  • u012260238
  • u012260238
  • 2017年04月20日 19:55
  • 1534

关于mysql的 C API 的常用用法

C API 代码是随MySQL发布的, 它被包含在mysqlclient库且允许C程序存取一个数据库。 首先看一下数据结构 MYSQL  这个结构表示对一个数据库连接的句柄,它被用于几乎所有的MySQ...
  • machuanfei_c
  • machuanfei_c
  • 2015年05月07日 13:11
  • 726

MySQL入门之常用C语言API

数据类型 MYSQL 该结构代表1个数据库连接的句柄。几乎所有的MYSQL函数均使用它。 MYSQL_RES 该结构代表返回行的查询结果 MYSQL_ROW 这是1行数据的"类型安全"表示。 MYSQ...
  • lzjsqn
  • lzjsqn
  • 2017年01月12日 23:03
  • 1684

MySQL C API(5.1参考手册)

C API代码是与MySQL一起提供的。它包含在mysqlclient库中,并允许C程序访问数据库。 MySQL源码分发版的很多客户端是用C语言编写的。如果你正在寻找能演示如何使用C API的示例,可...
  • qq920020796
  • qq920020796
  • 2015年10月19日 15:10
  • 2326

MySQL C语言API编程教程

http://www.xftalk.com/archives/474 本篇教程使用C语言进行MySql数据库编程,内容覆盖了基本的使用C语言API进行MySql编程。本教程的程序在Ubunt...
  • u011208567
  • u011208567
  • 2014年05月21日 15:48
  • 2182

Mysql C API 使用(一)

本文使用使用mysql 5.7.11+vs2013完成 下载安装mysql,可以参考我的博文。将头文件所在目录include添加到项目的包含目录。将库目录放到项目的库目录。向链接器->输入中添加:...
  • songzige
  • songzige
  • 2016年11月07日 19:35
  • 480

mysql c api简单连接池

连接池为了解决频繁的创建、销毁所带来的系统开销。 简而言之,就是 自己先创建一定量的连接,然后在需要的时候取出一条连接使用。 当然如果你只有一个线程连接数据库,而且不是实时返回结果,那么你完全不必...
  • midle110
  • midle110
  • 2014年02月20日 17:32
  • 4226

解决使用MySQL C-API开发应用时的连接超时问题

解决使用MySQL C-API开发应用时的连接超时问题 标签: mysqlMySQL 2008-09-20 20:24 3384人阅读 评论(1) 收藏 举报  分类: ...
  • boshuzhang
  • boshuzhang
  • 2017年02月28日 10:44
  • 525

MYSQL数据库在C语言API函数接口

MYSQL在 C 语言 中可用的API:   mysql_affected_rows() 返回被最新的UPDATE, DELETE或INSERT查询影响的行数。 mysql_clos...
  • HKaisa
  • HKaisa
  • 2016年07月20日 21:47
  • 2153

MySQL的C语言API功能介绍

函数:mysql_library_init() 功能:初始化MYSQL数据库。 函数:mysql_connect()  功能:连接一个MySQL服务器。 函数:mysql_...
  • Interesting1001
  • Interesting1001
  • 2017年06月05日 17:29
  • 282
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MySQL C API
举报原因:
原因补充:

(最多只允许输入30个字)