目录
MySQL连接器为客户端程序提供到MySQL服务器的连接。api使用经典的MySQL协议或X协议提供对MySQL资源的低级访问。连接器和api都使您能够从其他语言或环境连接和执行MySQL语句,包括ODBC、Java (JDBC)、c++、Python、Node.js、PHP、Perl、Ruby和C。
MySQL连接器
Oracle开发了许多连接器:
连接器/ C ++启用C ++应用程序以连接到MySQL。
连接器/ J提供了使用标准Java数据库连接(JDBC)API从Java应用程序连接到MySQL的驱动程序支持。
连接器/网允许开发人员创建连接到MySQL的。net应用程序。NET实现了一个功能齐全的ADO。NET接口,并为使用ADO提供支持。净意识的工具。使用Connector/NET的应用程序可以用任何受支持的。NET语言编写。
MySQL for Visual Studio适用于连接器/ NET和Microsoft Visual Studio 2012,2013,2015和2017. MySQL for Visual Studio可以访问Visual Studio的MySQL对象和数据。作为Visual Studio包,它直接集成到服务器资源管理器中,提供创建新连接并使用MySQL数据库对象的功能。
连接器/ ODBC提供了使用Open Database Connectivity(ODBC)API连接到MySQL的驱动程序支持。支持来自Windows,UNIX和MacOS平台的ODBC连接。
连接器/ Python提供从Python应用程序连接到MySQL的驱动程序支持,使用兼容的APIPython DB API 2.0版本。不需要额外的Python模块或MySQL客户端库。
连接器/ node.js.
提供了一个异步API,用于使用X协议从Node.js应用程序连接到MySQL。Connector/Node.js支持管理数据库会话和模式,使用MySQL文档存储集合并使用原始SQL语句。
MySQL C API
对于直接访问在C应用程序中本机使用MySQLC API通过该提供对MySQL客户端/服务器协议的低级访问libmysqlclient
客户图书馆。这是用于连接到MySQL Server的实例的主要方法,并且由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客户端库的副本来构建本机驱动程序组件。
表29.1,“MySQL api和接口”列出了许多MySQL可用的库和接口。
表29.1 MySQL api和接口
环境 | API. | 类型 | 笔记 |
---|---|---|---|
艾达 | GNU Ada MySQL绑定 | libmysqlclient |
看到MySQL绑定GNU Ada |
C | C API | libmysqlclient |
看到MySQL 8.0 C API开发指南。 |
c++ | 连接器/ C ++ | libmysqlclient |
看到MySQL连接器/ c++ 8.0开发指南。 |
MySQL + + | libmysqlclient |
看到MySQL + +网站。 | |
mysql包裹 | libmysqlclient |
看到mysql包裹。 | |
可可 | MySQL-Cocoa | libmysqlclient |
与目标-C Cocoa环境兼容。看到http://mysql-cocoa.sourceforge.net/ |
D | mysql for d | libmysqlclient |
看到mysql for d。 |
埃菲尔 | 埃菲尔MySQL | libmysqlclient |
看到第29.13节“Mysql埃菲尔包装”。 |
Erlang | erlang-mysql-driver |
libmysqlclient |
看到erlang-mysql-driver 。 |
Haskell | Haskell MySQL绑定 | 本机驱动程序 | 看到Brian O'Sullivan的纯Haskell MySQL绑定。 |
hsql-mysql. |
libmysqlclient |
看到MySQL驱动Haskell。 | |
Java / JDBC | 连接器/ J | 本机驱动程序 | 看到MySQL Connector / J 5.1开发人员指南。 |
卡亚 | MYDB. | libmysqlclient |
看到MYDB.。 |
罗 | LuaSQL | libmysqlclient |
看到LuaSQL。 |
.NET /单声道 | 连接器/网 | 本机驱动程序 | 看到MySQL连接器/NET开发人员指南。 |
客观CAML. | 目标CAML MYSQL绑定 | libmysqlclient |
看到目标CAML的MySQL绑定。 |
octave. | GNU Octave的数据库绑定 | libmysqlclient |
看到GNU Octave的数据库绑定。 |
ODBC | 连接器/ ODBC | libmysqlclient |
看到MySQL连接器/ ODBC开发人员指南。 |
Perl | DBI. /DBD:: mysql |
libmysqlclient |
看到第29.9节,“MySQL Perl API”。 |
Net:: MySQL |
本机驱动程序 | 看到Net:: MySQL 在CPAN |
|
PHP. | mysql ,ext / mysql 接口(弃用) |
libmysqlclient |
看到原始MySQL API.。 |
mysqli ,ext / mysqli. 接口 |
libmysqlclient |
看到MySQL改进的扩展。 | |
PDO_MYSQL |
libmysqlclient |
看到MySQL函数(PDO_MYSQL)。 | |
PDO mysqlnd | 本机驱动程序 | ||
Python | 连接器/ Python | 本机驱动程序 | 看到MySQL Connector / Python Developer Guide。 |
Python | 连接器/ Python C扩展 | libmysqlclient |
看到MySQL Connector / Python Developer Guide。 |
MySQLdb | libmysqlclient |
看到第29.10节“MySQL Python API”。 | |
红宝石 | MySQL / Ruby | libmysqlclient |
用途libmysqlclient 。看到第29.11.1节“MySQL / Ruby API”。 |
Ruby / MySQL | 本机驱动程序 | 看到第29.11.2节,“Ruby/MySQL API”。 | |
计划 | Myscsh |
libmysqlclient |
看到Myscsh 。 |
SPL. | sql_mysql |
libmysqlclient |
看到sql_mysql 为SPL。 |
TCL. | mysqltcl. | libmysqlclient |
看到第29.12节,“MySQL Tcl API”。 |