# 第29章连接器和API

目录

29.1 MySQL连接器/C++

29.2 MySQL连接器/J

29.3 MySQL连接器/网络

29.4 MySQL连接器/ODBC

29.5 MySQL连接器/Python

29.6 MySQL连接器/节点。js

29.7 MySQL C API

29.8 MySQL PHP API

29.9 MySQL Perl API

29.10 MySQL Python API

29.11 MySQL Ruby API

29.11.1 MySQL/Ruby API

29.11.2 Ruby/MySQL API

29.12 MySQL Tcl API

29.13埃菲尔包装纸

MySQL连接器为客户端程序提供与MySQL服务器的连接。API使用经典的MySQL协议或X协议提供对MySQL资源的低级访问。连接器和API都使您能够连接和执行来自另一种语言或环境的MySQL语句,包括ODBC、java(JDBC)、C++、Python、Node。js、PHP、Perl、Ruby和C。

# MySQL连接器

Oracle开发了许多连接器:

  • 连接器/C++ (opens new window)使C++应用程序能够连接到MySQL。

  • 连接器/J (opens new window)为使用标准Java数据库连接(JDBC)API从Java应用程序连接到MySQL提供驱动程序支持。

  • 连接器/网络 (opens new window)使开发人员能够创建。NET应用程序连接到MySQL。Connector/NET实现了一个功能齐全的ADO。NET接口,并提供与ADO一起使用的支持。支持NET的工具。使用Connector/NET的应用程序可以用任何受支持的语言编写。网络语言。

    用于VisualStudio的MySQL (opens new window)与Connector/NET和Microsoft Visual Studio 2012、2013、2015和2017合作。MySQL for Visual Studio提供了从Visual Studio访问MySQL对象和数据的功能。作为一个VisualStudio包,它直接集成到Server Explorer中,提供了创建新连接和使用MySQL数据库对象的能力。

  • 连接器/ODBC (opens new window)为使用开放数据库连接(ODBC)API连接MySQL提供驱动程序支持。支持Windows、Unix和macOS平台上的ODBC连接。

  • 连接器/Python (opens new window)提供驱动程序支持,使用符合Python DB API 2.0版 (opens new window)。不需要额外的Python模块或MySQL客户端库。

  • 连接器/节点。js提供用于从节点连接到MySQL的异步API。js应用程序使用X协议。连接器/节点。js支持管理数据库会话和模式,使用MySQL文档存储集合和原始SQL语句。

# MySQL C API

要在C应用程序中直接使用MySQL,请C API (opens new window)通过libmysqlclient客户端库。这是连接MySQL服务器实例的主要方法,MySQL命令行客户端和这里详细介绍的许多MySQL连接器和第三方API都使用这种方法。

libmysqlclient包含在MySQL发行版中。

另见MySQL C API实现 (opens new window).

要从C应用程序访问MySQL,或者为本章中连接器或API不支持的语言构建MySQL接口C API (opens new window)从哪里开始。许多程序员的实用程序可以帮助完成这个过程;看见第4.7节,“程序开发实用程序”.

# 第三方MySQL API

本章中描述的其余API提供了从特定应用程序语言到MySQL的接口。这些第三方解决方案不由Oracle开发或支持。此处提供的有关其用法和功能的基本信息仅供参考。

所有第三方语言API都是使用以下两种方法之一开发的:libmysqlclient或者通过实现本机驱动程序。这两种解决方案提供了不同的好处:

  • 使用*libmysqlclient*与MySQL完全兼容,因为它使用与MySQL客户端应用程序相同的库。但是,功能集仅限于通过libmysqlclient由于数据是在本机语言和MySQL API组件之间复制的,因此性能可能会更低。

  • 本地司机是完全在主机语言或环境中实现的MySQL网络协议。本机驱动程序速度很快,因为组件之间的数据复制较少,而且它们可以提供标准MySQL API无法提供的高级功能。对于最终用户来说,本机驱动程序也更容易构建和部署,因为构建本机驱动程序组件不需要MySQL客户端库的副本。

表29.1,“MySQL API和接口”列出了MySQL可用的许多库和接口。

表29.1 MySQL API和接口

环境 美国石油学会 类型 笔记
艾达 GNU Ada MySQL绑定 libmysqlclient 看见GNU Ada的MySQL绑定 (opens new window)
C C API libmysqlclient 看见MySQL 8.0 API开发人员指南 (opens new window).
C++ 连接器/C++ libmysqlclient 看见MySQL Connector/C++8.0开发者指南 (opens new window).
MySQL++ libmysqlclient 这个MySQL++网站 (opens new window).
MySQL包装 libmysqlclient 这个MySQL包装 (opens new window).
可可 MySQL可可粉 libmysqlclient 与Objective-C可可环境兼容。这个http://mysql-cocoa.sourceforge.net/ (opens new window)
D MySQL for D libmysqlclient 这个MySQL for D (opens new window).
艾菲尔 埃菲尔铁塔 libmysqlclient 这个第29.13节“MySQL埃菲尔包装”.
二郎 erlang mysql驱动程序 libmysqlclient 看见erlang mysql驱动程序. (opens new window)
哈斯克尔 Haskell MySQL绑定 本机驱动程序 看见Brian O'Sullivan的纯Haskell MySQL绑定 (opens new window).
hsql mysql libmysqlclient 看见Haskell的MySQL驱动程序 (opens new window).
Java/JDBC 连接器/J 本机驱动程序 看见MySQL连接器/J 5.1开发者指南 (opens new window).
卡娅 专用数据 libmysqlclient 看见专用数据 (opens new window).
卢阿 LuaSQL libmysqlclient 看见LuaSQL (opens new window).
.NET/Mono 连接器/网络 本机驱动程序 看见MySQL连接器/网络开发者指南 (opens new window).
目标摄像机 目标Caml MySQL绑定 libmysqlclient 看见用于目标Caml的MySQL绑定 (opens new window).
八度 GNU倍频程的数据库绑定 libmysqlclient 看见GNU倍频程的数据库绑定 (opens new window).
ODBC 连接器/ODBC libmysqlclient 看见MySQL连接器/ODBC开发人员指南 (opens new window).
Perl DBI/DBD::mysql libmysqlclient 看见第29.9节,“MySQL Perl API”.
Net::MySQL 本机驱动程序 看见Net::MySQL (opens new window)在CPAN
PHP mysql, ext/mysql接口(已弃用) libmysqlclient 看见原始MySQL API (opens new window).
mysqli, ext/mysqli界面 libmysqlclient 看见MySQL改进的扩展 (opens new window).
PDO_MYSQL libmysqlclient 看见MySQL函数(PDO)_(MYSQL) (opens new window).
PDO mysqlnd 本机驱动程序
Python 连接器/Python 本机驱动程序 看见MySQL连接器/Python开发人员指南 (opens new window).
Python 连接器/Python C扩展 libmysqlclient 看见MySQL连接器/Python开发人员指南 (opens new window).
MySQLdb libmysqlclient 看见第29.10节,“MySQL Python API”.
红宝石 mysql2 libmysql客户端 用途libmysql客户端.看第 29.11 节,“MySQL Ruby API”.
方案 Myscsh libmysql客户端 Myscsh (opens new window).
声压级 sql_mysql libmysql客户端 sql_mysql声压级 (opens new window).
Tcl MySQLtcl libmysql客户端 第 29.12 节,“MySQL Tcl API”.