Loading...
MySQL 9.5 Reference Manual 9.5의 31 Connectors and APIs의 한국어 번역본입니다.
아래의 경우에 피드백에서 신고해주신다면 반영하겠습니다.
감사합니다 :)
Table of Contents
31.1 MySQL Connector/C++
31.2 MySQL Connector/J
31.3 MySQL Connector/NET
31.4 MySQL Connector/ODBC
31.5 MySQL Connector/Python
31.6 MySQL Connector/Node.js
31.7 MySQL C API
31.8 MySQL PHP API
31.9 MySQL Perl API
31.10 MySQL Python API
31.11 MySQL Ruby APIs
31.11.1 The MySQL/Ruby API
31.11.2 The Ruby/MySQL API
31.12 MySQL Tcl API
31.13 MySQL Eiffel Wrapper
MySQL Connector는 클라이언트 프로그램이 MySQL 서버에 연결할 수 있도록 합니다. API는 클래식 MySQL 프로토콜 또는 X 프로토콜을 사용하여 MySQL 리소스에 대한 로우 레벨 접근을 제공합니다.
Connector와 API는 모두 ODBC, Java (JDBC), C++, Python, Node.js, PHP, Perl, Ruby, C를 포함한 다른 언어 또는 환경에서 MySQL 구문을 연결하고 실행할 수 있게 해줍니다.
Oracle은 여러 Connector를 개발합니다:
Connector/C++는 C++ 애플리케이션이 MySQL에 연결할 수 있도록 해줍니다.
Connector/J는 표준 Java Database Connectivity (JDBC) API를 사용하여 Java 애플리케이션에서 MySQL에 연결하기 위한 드라이버 지원을 제공합니다.
Connector/NET는 개발자가 MySQL에 연결하는 .NET 애플리케이션을 생성할 수 있도록 합니다. Connector/NET은 완전한 기능을 갖춘 ADO.NET 인터페이스를 구현하고 ADO.NET을 인식하는 도구들과 함께 사용할 수 있도록 지원을 제공합니다. Connector/NET을 사용하는 애플리케이션은 지원되는 어떤 .NET 언어로도 작성할 수 있습니다.
Connector/ODBC는 Open Database Connectivity (ODBC) API를 사용하여 MySQL에 연결하기 위한 드라이버 지원을 제공합니다. Windows, Unix, macOS 플랫폼에서 ODBC 연결을 위한 지원이 제공됩니다.
Connector/Python은 Python 애플리케이션에서 MySQL에 연결하기 위한 드라이버 지원을 제공합니다. 이때 사용하는 API는 Python DB API version 2.0을 준수합니다. 별도의 Python 모듈이나 MySQL 클라이언트 라이브러리는 필요하지 않습니다.
Connector/Node.js는 Node.js 애플리케이션에서 X 프로토콜을 사용하여 MySQL에 연결하기 위한 비동기 API를 제공합니다. Connector/Node.js는 데이터베이스 세션과 스키마 관리, MySQL Document Store 컬렉션 작업 및 로우 SQL 구문 사용을 지원합니다.
C 애플리케이션 내에서 MySQL을 네이티브하게 직접 사용하기 위해서는, C API가 libmysqlclient 클라이언트 라이브러리를 통해 MySQL 클라이언트/서버 프로토콜에 대한 로우 레벨 접근을 제공합니다. 이것은 MySQL 서버 인스턴스에 연결하는 데 사용되는 기본 방식이며, MySQL 커맨드 라인 클라이언트와 여기서 설명하는 많은 MySQL Connector 및 서드파티 API에서 사용됩니다.
libmysqlclient는 MySQL 배포판에 포함되어 있습니다.
MySQL C API Implementations도 참조하십시오.
C 애플리케이션에서 MySQL에 접근하거나, 이 장의 Connector 또는 API에서 지원하지 않는 언어를 위한 인터페이스를 작성하려면 C API가 시작점입니다.
이 과정을 돕기 위해 여러 프로그래머용 유틸리티가 제공됩니다. Section 6.7, “Program Development Utilities”를 참조하십시오.
이 장에서 설명하는 나머지 API는 특정 애플리케이션 언어에서 MySQL에 대한 인터페이스를 제공합니다. 이러한 서드파티 솔루션은 Oracle에서 개발하거나 지원하지 않습니다.
여기에서는 참고 목적을 위해 그 사용법과 기능에 대한 기본적인 정보만을 제공합니다.
모든 서드파티 언어 API는 libmysqlclient를 사용하거나 네이티브 드라이버를 구현하는 두 가지 방법 중 하나를 사용하여 개발됩니다. 이 두 솔루션은 서로 다른 이점을 제공합니다:
_libmysqlclient_를 사용하는 경우, MySQL 클라이언트 애플리케이션과 동일한 라이브러리를 사용하므로 MySQL과 완전한 호환성을 제공합니다. 그러나, 기능 집합은 libmysqlclient를 통해 노출되는 구현 및 인터페이스로 제한되며, 네이티브 언어와 MySQL API 컴포넌트 간에 데이터가 복사되므로 성능이 낮을 수 있습니다.
_네이티브 드라이버_는 호스트 언어 또는 환경 내에서 MySQL 네트워크 프로토콜을 완전히 구현한 것입니다. 네이티브 드라이버는 컴포넌트 간 데이터 복사가 적기 때문에 빠르며, 표준 MySQL API를 통해서는 사용할 수 없는 고급 기능을 제공할 수 있습니다. 또한 네이티브 드라이버 컴포넌트를 빌드하는 데 MySQL 클라이언트 라이브러리 사본이 필요 없기 때문에 최종 사용자가 빌드하고 배포하기 더 쉽습니다.
Table 31.1, “MySQL APIs and Interfaces”는 MySQL에서 사용 가능한 많은 라이브러리와 인터페이스를 나열합니다.
Table 31.1 MySQL APIs and Interfaces
| Environment | API | Type | Notes |
|---|---|---|---|
| Ada | GNU Ada MySQL Bindings | libmysqlclient | MySQL Bindings for GNU<br> Ada 참조 |
| C | C API | libmysqlclient | MySQL 9.5 C API Developer Guide 참조. |
| C++ | Connector/C++ | libmysqlclient | MySQL Connector/C++ 9.5 Developer Guide 참조. |
| MySQL++ | libmysqlclient | MySQL++<br> website 참조. | |
| MySQL wrapped | libmysqlclient | MySQL<br> wrapped 참조. | |
| Cocoa | MySQL-Cocoa | libmysqlclient | Objective-C Cocoa 환경과 호환됩니다. http://mysql-cocoa.sourceforge.net/ 참조 |
| D | MySQL for D | libmysqlclient | MySQL for D 참조. |
| Eiffel | Eiffel MySQL | libmysqlclient | Section 31.13, “MySQL Eiffel Wrapper” 참조. |
| Erlang | erlang-mysql-driver | libmysqlclient | erlang-mysql-driver. 참조<br> |
| Haskell | Haskell MySQL Bindings | Native Driver | Brian<br> O'Sullivan's pure Haskell MySQL bindings 참조. |
hsql-mysql | libmysqlclient | MySQL<br> driver for Haskell 참조.<br> | |
| Java/JDBC | Connector/J | Native Driver | MySQL Connector/J Developer Guide 참조. |
| Kaya | MyDB | libmysqlclient | MyDB 참조. |
| Lua | LuaSQL | libmysqlclient | LuaSQL 참조<br>. |
| .NET/Mono | Connector/NET | Native Driver | MySQL Connector/NET Developer Guide 참조. |
| Objective Caml | OBjective Caml MySQL Bindings | libmysqlclient | MySQL<br> Bindings for Objective Caml 참조. |
| Octave | Database bindings for GNU Octave | libmysqlclient | Database<br> bindings for GNU Octave 참조.<br> |
| ODBC | Connector/ODBC | libmysqlclient | MySQL Connector/ODBC Developer Guide 참조. |
| Perl | DBI/DBD::mysql | libmysqlclient | Section 31.9, “MySQL Perl API” 참조. |
Net::MySQL | Native Driver | CPAN의<br> Net::MySQL<br> 참조 | |
| PHP | mysql, ext/mysql interface<br> (deprecated) | libmysqlclient | MySQL and PHP 참조. |
mysqli, ext/mysqli interface | libmysqlclient | MySQL and PHP 참조. | |
PDO_MYSQL | libmysqlclient | MySQL and PHP 참조. | |
| PDO mysqlnd | Native Driver | ||
| Python | Connector/Python | Native Driver | MySQL Connector/Python Developer Guide 참조. |
| Python | Connector/Python C Extension | libmysqlclient | MySQL Connector/Python Developer Guide 참조. |
| MySQLdb | libmysqlclient | Section 31.10, “MySQL Python API” 참조. | |
| Ruby | mysql2 | libmysqlclient | libmysqlclient를 사용합니다. Section 31.11, “MySQL Ruby APIs” 참조. |
| Scheme | Myscsh | libmysqlclient | Myscsh 참조<br>. |
| SPL | sql_mysql | libmysqlclient | sql_mysql<br> for SPL 참조.<br> |
| Tcl | MySQLtcl | libmysqlclient | Section 31.12, “MySQL Tcl API” 참조. |
| Environment | API | Type | Notes |
|---|
30.4.5 sys Schema Stored Functions
31.1 MySQL Connector/C++