目录
MySQL连接器为客户端程序提供与MySQL Server的连接。API使用Classic MySQL协议或X协议提供对MySQL资源的低级访问。连接器和API都使您能够从另一种语言或环境中连接和执行MySQL语句,包括ODBC,Java(JDBC),C ++,Python,PHP,Perl,Ruby和Native C以及嵌入式MySQL实例。
MySQL连接器
Oracle开发了许多连接器:
连接器/ C ++启用C ++应用程序以连接到MySQL。
连接器/ J.提供了使用标准Java数据库连接(JDBC)API从Java应用程序连接到MySQL的驱动程序支持。
连接器/网使开发人员能够创建连接到MySQL的.NET应用程序。连接器/ NET实现一个功能齐全的ADO.NET接口,并提供与ADO.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.提供用于使用符合符合条件的API从Python应用程序连接到MySQL的驱动程序支持Python DB API 2.0版。不需要额外的Python模块或MySQL客户端库。
MySQL C API
为了直接访问在C应用程序中本地使用MySQL,有两种方法:
这C API.通过该提供对MySQL客户端/服务器协议的低级访问
libmysqlclient
客户图书馆。这是用于连接到MySQL Server的实例的主要方法,并且由MySQL命令行客户端和许多MySQL连接器和第三方API使用。libmysqlclient
包含在MySQL发行版中。libmysqld.
是一个嵌入式MySQL Server库,使您可以将MySQL Server的实例嵌入到C应用程序中。libmysqld.
包含在MySQL发行版中。笔记这
libmysqld.
嵌入式服务器库被弃用为MySQL 5.7.19,并在MySQL 8.0中删除。
也可以看看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客户端库的副本来构建本机驱动程序组件。
表27.1,“MySQL API和界面”列出MySQL可用的许多库和接口。
表27.1 MySQL API和接口
环境 | API. | 类型 | 笔记 |
---|---|---|---|
ada. | GNU ADA MySQL绑定 | libmysqlclient |
看GNU ADA的MySQL绑定 |
C | C API. | libmysqlclient |
看MySQL 5.7 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。 |
埃菲尔 | 埃菲尔·迈斯克 | libmysqlclient |
看第27.13节“Mysql eiffel包装器”。 |
erlang | erlang-mysql-driver |
libmysqlclient |
看erlang-mysql-driver 。 |
哈斯克尔 | haskell mysql绑定 | 原生驾驶员 | 看Brian O'Sullivan的Pure Haskell MySQL绑定。 |
hsql-mysql. |
libmysqlclient |
看Haskell的MySQL驱动程序。 | |
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 |
看第27.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 |
看第27.10节“MySQL Python API”。 | |
红宝石 | mysql /红宝石 | libmysqlclient |
用途libmysqlclient 。看第27.11.1节“MySQL / Ruby API”。 |
Ruby / mysql. | 原生驾驶员 | 看第27.11.2节“Ruby / MySQL API”。 | |
方案 | myscsh. |
libmysqlclient |
看myscsh. 。 |
SPL. | sql_mysql. |
libmysqlclient |
看sql_mysql. spl.。 |
TCL. | mysqltcl. | libmysqlclient |
看第27.12节“mysql tcl api”。 |