第29章 连接器和 API


官方文档地址: Chapter 29 Connectors and APIs


29.1 MySQL Connector/C++
29.2 MySQL Connector/J
29.3 MySQL Connector/NET
29.4 MySQL Connector/ODBC
29.5 MySQL Connector/Python
29.6 MySQL Connector/Node.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 APIs
29.12 MySQL Tcl API
29.13 MySQL Eiffel Wrapper

MySQL 连接器为客户端程序提供到 MySQL Server 的连接。API 使用经典的 MySQL 协议或 X 协议提供对 MySQL 资源的低级访问。连接器和 API 都允许您从另一种语言或环境连接和执行 MySQL 语句,包括 ODBC,Java(JDBC),C++,Python,Node.js,PHP,Perl,Ruby,C。

MySQL 连接器

Oracle 开发了许多连接器:

  • Connector/C++允许 C++ 应用程序连接到 MySQL。

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

  • Connector/NET允许开发人员创建连接到 MySQL 的 .NET 应用程序。Connector/NET实现了一个功能齐全的ADO.NET接口,并提供了ADO.NET感知工具的使用支持。使用Connector/NET的应用程序可以用任何受支持的 .NET 语言编写。

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

  • Connector/ODBC提供了使用开放数据库连接(ODBC) API 连接 MySQL 的驱动程序支持。支持来自 Windows、Unix 和 macOS 平台的 ODBC 连接。

  • Connector/Python提供了从 Python 应用程序连接到 MySQL 的驱动程序支持,使用的 API 与 Python DB API 2.0 版本兼容。不需要额外的 Python 模块或 MySQL 客户端库。

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

MySQL C API

为了在 C 应用程序中直接使用 MySQL,C API 通过libmysqlclient客户端库提供对 MySQL 客户端/服务器协议的低级访问。这是连接到 MySQL 服务器实例的主要方法,MySQL 命令行客户端和这里详细介绍的许多 MySQL 连接器和第三方 API 都使用这个方法。

libmysqlclient包含在 MySQL 发行版中。

参见 MySQL C API 实现

从 C 应用程序访问 MySQL,或者为本章连接器或 API 不支持的语言建立一个 MySQL 接口,需要从 C API 这里开始。许多程序员的实用程序可以帮助这个过程;参见 4.7 程序开发实用程序

第三方 MySQL API

本章中描述的其他 API 提供了从特定应用语言到 MySQL 的接口。Oracle 不开发或支持这些第三方解决方案。关于它们的用法和能力的基本信息仅供参考。

所有的第三方语言 API 都是使用以下两种方法之一开发的,一种是使用libmysqlclient,另一种是实现本地驱动程序。这两种解决方案有各自不同的特点:

  • 使用libmysqlclient提供了与 MySQL 的完全兼容性,因为它使用了与 MySQL 客户端应用程序相同的库。然而,该特性集仅限于通过libmysqlclient公开的实现和接口,并且由于数据在本地语言和 MySQL API 组件之间复制,性能可能会较低。
  • 本地驱动程序是 MySQL 网络协议完全在宿主语言或环境中的实现。本机驱动程序速度很快,因为组件之间的数据复制更少,而且它们可以提供标准 MySQL API 无法提供的高级功能。本地驱动程序对于终端用户来说也更容易构建和部署,因为构建本地驱动程序组件不需要 MySQL 客户端库的副本。

下表列出了许多 MySQL 可用的库和接口。

环境API类型备注
AdaGNU Ada MySQL Bindingslibmysqlclient参见 MySQL 绑定 GNU Ada
CC APIlibmysqlclient参见 MySQL 8.0 C API 开发者指南
C++Connector/C++libmysqlclient参见 MySQL Connector/C++ 8.0 开发者指南
MySQL++libmysqlclient参见 MySQL++ 网站
MySQL wrappedlibmysqlclient参见 MySQL 包装
CocoaMySQL-Cocoalibmysqlclient与 Objective-C Cocoa 环境兼容。 参见 http://mysql-cocoa.sourceforge.net/
DMySQL for Dlibmysqlclient参见 MySQL for D
EiffelEiffel MySQLlibmysqlclient参见 29.13 MySQL Eiffel Wrapper
Erlangerlang-mysql-driverlibmysqlclient参见 erlang-mysql-driver
HaskellHaskell MySQL BindingsNative Driver参见 Brian O’Sullivan 的纯 Haskell MySQL 绑定
hsql-mysqllibmysqlclient参见 MySQL driver for Haskell
Java/JDBCConnector/JNative Driver参见 MySQL Connector/J 5.1 开发者指南.
KayaMyDBlibmysqlclient参见 MyDB
LuaLuaSQLlibmysqlclient参见 LuaSQL
.NET/MonoConnector/NETNative Driver参见 MySQL Connector/NET 开发者指南
Objective CamlOBjective Caml MySQL Bindingslibmysqlclient参见 MySQL Bindings for Objective Caml
OctaveDatabase bindings for GNU Octavelibmysqlclient参见 GNU Octave 的数据库绑定
ODBCConnector/ODBClibmysqlclient参见 MySQL Connector/ODBC 开发者指南
PerlDBI/DBD::mysqllibmysqlclient参见 29.9 MySQL Perl API
Net::MySQLNative Driver参见 Net::MySQL at CPAN。
PHPmysql, ext/mysql interface (deprecated)libmysqlclient参见 原始的 MySQL API
mysqli, ext/mysqli interfacelibmysqlclient参见 MySQL 改进的扩展
PDO_MYSQLlibmysqlclient参见 MySQL Functions (PDO_MYSQL)
PDO mysqlndNative Driver
PythonConnector/PythonNative Driver参见 MySQL Connector/Python 开发者指南
PythonConnector/Python C Extensionlibmysqlclient参见 MySQL Connector/Python 开发者指南
MySQLdblibmysqlclient参见 29.10 MySQL Python API
RubyMySQL/Rubylibmysqlclient使用libmysqlclient。参见 29.11.1 The MySQL/Ruby API
Ruby/MySQLNative Driver参见 29.11.2 The Ruby/MySQL API
SchemeMyscshlibmysqlclient参见 Myscsh
SPLsql_mysqllibmysqlclient参见 sql_mysql for SPL
TclMySQLtcllibmysqlclient参见 29.12 MySQL Tcl API
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值