Documentation Home
MySQL 8.0 リファレンスマニュアル
Download this Manual
PDF (US Ltr) - 36.1Mb
PDF (A4) - 36.2Mb


MySQL 8.0 リファレンスマニュアル  /  Connector および API

このページは機械翻訳したものです。

第 29 章 Connector および API

MySQL Connector はクライアントプログラムに MySQL サーバーへの接続を提供します。 API は、クラシック MySQL プロトコル または X プロトコル を使用した MySQL リソースへの低レベルのアクセスを提供します。 コネクタと API の両方を使用すると、ODBC、Java (JDBC)、C++、Python、Node.js、PHP、Perl、Ruby、C などの別の言語または環境から MySQL ステートメントに接続して実行できます。

MySQL Connector

Oracle では多数のコネクタを開発しています。

  • Connector/C++ により、C++ アプリケーションは MySQL に接続できます。

  • Connector/J は標準 JDBC (Java Database Connectivity) 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 パッケージとして、サーバーエクスプローラに直接統合され、新しい接続を作成して MySQL データベースオブジェクトを操作できます。

  • Connector/ODBC は ODBC (Open Database Connectivity) API を使用して、MySQL に接続するためのドライバサポートを提供します。 Windows、Unix および macOS プラットフォームからの ODBC 接続をサポートしています。

  • Connector/PythonPython DB API バージョン 2.0 に準拠する API を使用して、Python アプリケーションから、MySQL に接続するためのドライバサポートを提供します。 追加の Python モジュールまたは MySQL クライアントライブラリは必要ありません。

  • Connector/Node.js には、X プロトコル を使用して Node.js アプリケーションから MySQL に接続するための非同期 API が用意されています。 Connector/Node.js では、データベースセッションおよびスキーマの管理、MySQL ドキュメントストアコレクションの操作および RAW SQL ステートメントの使用がサポートされています。

MySQL C API

C アプリケーション内で MySQL をネイティブに使用するための直接アクセスのために、C APIlibmysqlclient クライアントライブラリを介して MySQL クライアント/サーバープロトコルへの低レベルのアクセスを提供します。 これは、MySQL サーバーのインスタンスに接続するために使用する主な方法で、MySQL コマンド行クライアントと、ここで詳しく説明している多くの MySQL Connector およびサードパーティー API のどちらにも使用されています。

libmysqlclient は、MySQL ディストリビューションに含まれています。

MySQL C API Implementationsも参照してください。

C アプリケーションから MySQL にアクセスするか、この章の Connector や API でサポートされていない言語で、MySQL へのインタフェースを構築するには、C API から始めます。 このプロセスに役立つ、多くのプログラマ向けユーティリティーがあります。セクション4.7「プログラム開発ユーティリティ」を参照してください。

サードパーティー MySQL API

この章で説明している残りの API は、特定のアプリケーション言語から MySQL へのインタフェースを提供します。 これらのサードパーティーソリューションは Oracle で開発されていないか、サポートされていません。 それらの使用と機能に関する基本情報は、参考目的でのみここで提供しています。

すべてのサードパーティー言語 API は、libmysqlclient を使用するか、またはネイティブドライバを実装するか、2 つの方法のいずれかを使用して開発されています。 2 つのソリューションには異なるメリットがあります。

  • libmysqlclient は MySQL クライアントアプリケーションと同じライブラリを使用するため、MySQL と完全に互換性があります。 ただし、機能セットは、libmysqlclient から公開された実装とインタフェースに制限され、データがネイティブ言語と MySQL API コンポーネント間でコピーされるため、パフォーマンスが低下することがあります。

  • ネイティブドライバはホスト言語または環境内に完全に収まる MySQL ネットワークプロトコルの実装です。 ネイティブドライバはコンポーネント間でのデータのコピーが少ないため高速であり、標準 MySQL API によって使用できない高度な機能を提供できます。 さらに、ネイティブドライバコンポーネントの構築には、MySQL クライアントライブラリのコピーが必要ないため、ネイティブドライバは、エンドユーザーにとって構築とデプロイが簡単です。

表29.1「MySQL API およびインタフェース」 には、MySQL で使用可能なライブラリおよびインタフェースの多くがリストされています。

表 29.1 MySQL API およびインタフェース

環境APIメモ
AdaGNU Ada MySQL バインディングlibmysqlclientGNU Ada 用の MySQL バインディングに関するドキュメントを参照してください。
CC APIlibmysqlclientMySQL 8.0 C API Developer Guideを参照してください。
C++Connector/C++libmysqlclientMySQL Connector/C++ 8.0 Developer Guideを参照してください。
MySQL++libmysqlclient「MySQL++ web サイト」を参照してください。
MySQL wrappedlibmysqlclientMySQL wrapped」を参照してください。
CocoaMySQL-CocoalibmysqlclientObjective-C Cocoa 環境と互換性があります。http://mysql-cocoa.sourceforge.net/を参照してください
DMySQL for DlibmysqlclientMySQL for D を参照してください。
EiffelEiffel MySQLlibmysqlclientセクション29.13「MySQL Eiffel ラッパー」を参照してください。
Erlangerlang-mysql-driverlibmysqlclienterlang-mysql-driver」を参照してください。
HaskellHaskell MySQL バインディングネイティブドライバBrian O'Sullivan のピュア Haskell MySQL バインディングに関するドキュメントを参照してください。
hsql-mysqllibmysqlclient「Haskell 用の MySQL ドライバ」を参照してください。
Java/JDBCConnector/JネイティブドライバMySQL Connector/J 5.1 Developer Guideを参照してください。
KayaMyDBlibmysqlclientMyDB に関するドキュメントを参照してください。
LuaLuaSQLlibmysqlclientLuaSQL を参照してください。
.NET/MonoConnector/NETネイティブドライバMySQL Connector/NET Developer Guide」を参照してください。
Objective CamlOBjective Caml MySQL バインディングlibmysqlclientObjective Caml 用の MySQL バインディングに関するドキュメントを参照してください。
OctaveGNU Octave 用データベースバインディングlibmysqlclientGNU Octave 用データベースバインディングに関するドキュメントを参照してください。
ODBCConnector/ODBClibmysqlclientMySQL Connector/ODBC Developer Guide」を参照してください。
PerlDBI/DBD::mysqllibmysqlclientセクション29.9「MySQL Perl API」を参照してください。
Net::MySQLネイティブドライバCPAN の「Net::MySQL」を参照してください。
PHPmysqlext/mysql インタフェース (非推奨)libmysqlclientMySQL and PHP」を参照してください。
mysqliext/mysqli インタフェースlibmysqlclientMySQL and PHP」を参照してください。
PDO_MYSQLlibmysqlclientMySQL and PHP」を参照してください。
PDO mysqlndネイティブドライバ
PythonConnector/PythonネイティブドライバMySQL Connector/Python Developer Guide」を参照してください。
PythonConnector/Python C 拡張機能libmysqlclientMySQL Connector/Python Developer Guide」を参照してください。
MySQLdblibmysqlclientセクション29.10「MySQL Python API」を参照してください。
RubyMySQL/Rubylibmysqlclientlibmysqlclient を使用します。セクション29.11.1「MySQL/Ruby API」を参照してください。
Ruby/MySQLネイティブドライバセクション29.11.2「Ruby/MySQL API」を参照してください。
SchemeMyscshlibmysqlclientMyscsh に関するドキュメントを参照してください。
SPLsql_mysqllibmysqlclientSPL のsql_mysql を参照してください。
TclMySQLtcllibmysqlclientセクション29.12「MySQL Tcl API」を参照してください。