MySQLとは?

ランプ [1]オランダ・英 lamp】

石油燃料とし灯心に火をつけ,ほやをかぶせて用いる灯火洋灯
電灯など,灯火総称。 「ヘッド--」

LAMP (ランプ)


MySQL

読み方マイエスキューエル

スウェーデンMySQL AB社によって開発されているリレーショナルデータベース製品GPLMySQL AB、またはその代理店から購入する商用ライセンスデュアルライセンスによって配布されている。
オープンソースDBMSデータベース管理システム)の中で最も広く使われているものの1つLinuxUNIXWindowsMac OS Xなど多くプラットフォームサポートされている。LAMP1つに挙げられているように、PHPなどと組み合わせて、Webサイト構築時のパックエンドを支えDBMSとして利用されることが多い。
初期のMySQLは、トランザクションストアドプロシージャなどの機能を省く代わりに軽さ高速さを身上として人気を得た。近年バージョンでは、前述のような機能実装しており、高速だが低機能という評価払拭しつつある
関連見出し
LAMP
GPL
デュアルライセンス
関連URL
MySQL AB(http://www.mysql.com/)

MySQL

読み方マイエスキューエル

MySQLとは、Sun MicrosystemsからオープンソースソフトウェアOSS)として公開されているリレーショナルデータベース管理システムRDBMS)の名称である。

MySQLは、もともとはMySQL AB社において開発・提供が行われていたソフトウェアであり、オープンソースで提供されてはいるが、商用データベース勝るとも劣らない品質実現している。独自アーキテクチャーデータベースエンジン搭載しており、パフォーマンスの高さに定評がある他、数MB単位からTB単位まで対応するスケーラビリティの高さや、LinuxUNIXWindowsなどの複数プラットフォームに対応するマルチプラットフォーム性、柔軟カスタマイズ性、トランザクション処理などに関する堅牢性といった点でも優れているといわれる

MySQLは、高性能であり、巨大システムにも対応でき、かつ、GPLライセンスに従って自由に利用することができることから、商用サイト含めて多くデータベースデータベース管理システムとして採用されている。Yahoo!GoogleYouTubeWikipedia、といった、巨大なデータベースシステムにおいても、MySQLが採用されていることが知られている。

OSS利用してWebアプリケーションプラットフォーム構築する際、最もよく利用されるソフトウェアセットとして、LAMP呼ばれる組み合わせがある。「L」はOSLinux「A」WebサーバーApache、そして「M」がデータベースのMySQLを指している。なお「P」はプログラミング言語として、PHP、またはPerlPythonいずれかを指す。

MySQLは、OSSRDBMSとしては世界で最も多く利用されているといわれている。なお、MySQLと同様にOSSとして提供されているRDBMSとしては、PostgreSQL挙げることができる。


参照リンク
MySQL - (英文
MySQL
データベースのほかの用語一覧
データベース:  DB2  GLR  Microsoft Access  MySQL  Microsoft Query  NEEDS  PostgreSQL

MySQL 関数

php.ini の設定により動作が変化します。
表 170. MySQL 設定オプション
名前デフォルト変更の可否変更履歴
mysql.allow_persistent"1"PHP_INI_SYSTEM 
mysql.max_persistent"-1"PHP_INI_SYSTEM 
mysql.max_links"-1"PHP_INI_SYSTEM 
mysql.trace_mode"0"PHP_INI_ALLPHP 4.3.0 以降で使用可能です。
mysql.default_portNULLPHP_INI_ALL 
mysql.default_socketNULLPHP_INI_ALLPHP 4.0.1 以降で使用可能です。
mysql.default_hostNULLPHP_INI_ALL 
mysql.default_userNULLPHP_INI_ALL 
mysql.default_passwordNULLPHP_INI_ALL 
mysql.connect_timeout"60"PHP_INI_ALLPHP <= 4.3.2 では PHP_INI_SYSTEM で、PHP 4.3.0 以降で使用可能です。

PHP_INI_* 定数の詳細および定義については 付録 G. php.ini ディレクティブ を参照してください。
以下に設定ディレクティブに関する 簡単な説明を示します。
mysql.allow_persistent boolean
MySQL への 持続的接続 を可能にするかどうか。
mysql.max_persistent integer
プロセス毎の持続的 MySQL 接続の最大数。
mysql.max_links integer
持続的接続を含むプロセス毎の MySQL 接続の最大数。
mysql.trace_mode boolean
トレースモード。mysql.trace_mode が有効の場合、 テーブル/インデックスのスキャン時の警告・結果セットの未開放・SQL エラー などが画面に表示されます(PHP 4.3.0 以降で使用可能です)。
mysql.default_port string
他のポートが指定されない場合、データベースサーバ接続時に使用される デフォルトの TCP ポート番号。デフォルトが指定されない場合は、 環境変数 MYSQL_TCP_PORT/etc/servicesmysql-tcpエントリ・コンパイル時の MYSQL_PORT 定数の順番でポートが取得されます。 Win32 では、MYSQL_PORT 定数のみが使用されます。
mysql.default_socket string
他にソケット名が指定されない場合、ローカルなデータベースサーバに 接続する時のデフォルトのソケット名。
mysql.default_host string
他のサーバ名が指定されない場合に、データベースサーバへの接続時に 使用されるデフォルトのサーバ名。 SQL セーフモード では適用されません。
mysql.default_user string
他のユーザ名が指定されない場合に、データベースサーバへの接続時に 使用されるデフォルトのユーザ名。 SQL セーフモード では適用されません。
mysql.default_password string
他のパスワードが指定されない場合に、データベースサーバへの接続時に 使用されるデフォルトのパスワード。 SQL セーフモード では適用されません。
mysql.connect_timeout integer
接続の有効時間(単位:秒)。Linux では、この有効時間はサーバからの 最初の応答の待ち時間としても使用されます。

リソース型

MySQL モジュールでは、2 種類のリソース型が使用されています。 最初のリソースはデータベース接続のリンク ID で、2 番目のリソースは クエリ結果を保持するリソースです。

定義済み定数

以下の定数が定義されています。 この関数の拡張モジュールが PHP 組み込みでコンパイルされているか、 実行時に動的にロードされている場合のみ使用可能です。
PHP 4.3.0 以降では、mysql_connect()mysql_pconnect() で追加のクライアントフラグを 指定できるようになりました。以下の定数が定義されています。 表 171. MySQL クライアント定数
定数説明
MYSQL_CLIENT_COMPRESS圧縮プロトコルを利用します。
MYSQL_CLIENT_IGNORE_SPACE関数名の後のスペースを許可します。
MYSQL_CLIENT_INTERACTIVEinteractive_timeout で指定された秒数(wait_timeout のかわり) の無通信が続くまで接続を閉じません。
MYSQL_CLIENT_SSLSSL による暗号化を使用します。このフラグは、バージョン 4.x 以降の MySQL クライアントライブラリを利用している場合にのみ有効です。 PHP 4 や、Windows 版の PHP 5 にバンドルされているのは、バージョン 3.23.x のライブラリです。


mysql_fetch_array() 関数は、結果の配列の形式を 指定するための定数を使用します。以下の定数が定義されています。 表 172. MySQL フェッチ定数
定数説明
MYSQL_ASSOC カラムは、フィールド名を添字とする配列形式で返されます。
MYSQL_BOTH カラムは、数値の添字とフィールド名の添字のどちらでもアクセスできる 配列形式で返されます。
MYSQL_NUM カラムは、数値の添字を持つ配列形式で返されます。添字は 0 からはじまり、 結果の最初のフィールドです。


注意

注意: ほとんどの MySQL 関数は、link_identifier を 最後のパラメータとしてオプションで受け付けます。これを指定しなかった場合、 直近にオープンされた接続が使用されます。もし直近の接続が存在しない場合、 php.ini のデフォルトパラメータを使用して接続を確立しようとします。 この試行にも失敗した場合、関数は FALSE を返します。

以下は、MySQL データベースに接続し、クエリを実行し、結果レコードを 出力、接続を切断する例です。 例 1307. MySQL 拡張モジュールに関する例
<?php
// データベースに接続し、選択する
$link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password')
   or die('Could not connect: ' . mysql_error());
echo 'Connected successfully';
mysql_select_db('my_database') or die('Could not select database');

// SQL クエリを実行する
$query = 'SELECT * FROM my_table';
$result = mysql_query($query) or die('Query failed: ' . mysql_error());

// HTML に結果を出力する
echo "<table>\n";
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
   echo "\t<tr>\n";
   foreach ($line as $col_value) {
       echo "\t\t<td>$col_value</td>\n";
   }
   echo "\t</tr>\n";
}
echo "</table>\n";

// 結果セットを開放する
mysql_free_result($result);

// 接続を閉じる
mysql_close($link);
?>


目次

mysql_affected_rows — 一番最近の操作で変更された行の数を得る
mysql_change_user — アクティブな接続でログイン中のユーザーを変更する
mysql_client_encoding — 文字セット名を返す
mysql_close — MySQL 接続を閉じる
mysql_connect — MySQL サーバへの接続をオープンする
mysql_create_db — MySQL データベースを作成する
mysql_data_seek — 内部的な結果ポインタを移動する
mysql_db_name — データベース名を得る
mysql_db_query — MySQL クエリーを送信する
mysql_drop_db — MySQLデータベースを破棄(削除)する
mysql_errno — 直近の MySQL 処理からエラーメッセージのエラー番号を返す
mysql_error — 直近に実行された MySQL 操作のエラーメッセージを返す
mysql_escape_string — mysql_query で使用するために文字列をエスケープする
mysql_fetch_array — 連想配列、添字配列、またはその両方として結果の行を取得する
mysql_fetch_assoc — 連想配列として結果の行を取得する
mysql_fetch_field — 結果からカラム情報を取得し、オブジェクトとして返す
mysql_fetch_lengths — 結果における各出力の長さを得る
mysql_fetch_object — 結果の行をオブジェクトとして取得する
mysql_fetch_row — 結果を添字配列として取得する
mysql_field_flags — 結果において指定したフィールドのフラグを取得する
mysql_field_len — 指定したフィールドの長さを返す
mysql_field_name — 結果において指定したフィールド名を取得する
mysql_field_seek — 結果ポインタを指定したフィールドオフセットにセットする
mysql_field_table — 指定したフィールドが含まれるテーブルの名前を取得する
mysql_field_type — 結果において指定したフィールドの型を取得する
mysql_free_result — 結果保持用メモリを開放する
mysql_get_client_info — MySQL クライアント情報を取得する
mysql_get_host_info — MySQL ホスト情報を取得する
mysql_get_proto_info — MySQL プロトコル情報を取得する
mysql_get_server_info — MySQL サーバ情報を取得する
mysql_info — 直近のクエリについての情報を得る
mysql_insert_id — 直近の INSERT 操作で生成された ID を得る
mysql_list_dbs — MySQL サーバ上で利用可能なデータベースのリストを得る
mysql_list_fields — MySQL テーブルのフィールドのリストを得る
mysql_list_processes — MySQL プロセスのリストを得る
mysql_list_tables — MySQL データベース上のテーブルのリストを得る
mysql_num_fields — 結果におけるフィールドの数を得る
mysql_num_rows — 結果における行の数を得る
mysql_pconnect — MySQL サーバへの持続的な接続をオープンする
mysql_ping — サーバとの接続状況を調べ、接続されていない場合は再接続する
mysql_query — MySQL クエリを送信する
mysql_real_escape_string — SQL 文中で用いる文字列の特殊文字をエスケープする
mysql_result — 結果データを得る
mysql_select_db — MySQL データベースを選択する
mysql_stat — 現在のシステムの状態を取得する
mysql_tablename — フィールドのテーブル名を得る
mysql_thread_id — カレントのスレッド ID を返す
mysql_unbuffered_query — MySQL に SQL クエリを送信するが、結果に対してのフェッチやバッファリングは行わない

MySQL 関数 (PDO_MYSQL)

導入

PDO_MYSQL は、PHP から MySQL 3.x、4.x および 5.x データベースへのアクセスを可能にするための PHP Data Objects (PDO) インターフェース を実装したドライバです。
PDO_MYSQL は、MySQL 4.1 以降に存在するプリペアドステートメントを ネイティブにサポートしているという利点があります。 古いバージョンの mysql クライアントライブラリを使用している場合は、 PDO がこの機能をエミュレートします。

警告
注意: MySQL のテーブル型 (ストレージエンジン) の中には、 トランザクションをサポートしていないものがあります。 トランザクションをサポートしていないテーブル型を使用して トランザクションを使用するコードを書くと、 MySQL はトランザクションが正常に使用できたかのように振舞います。 さらに、DDL クエリを実行する際には、 実行中のトランザクションが暗黙的にコミットされます。

定義済み定数

このドライバでは以下の定数が定義されて います。これは拡張モジュールが PHP に組み込まれているか、実行時に動的にロード されている場合のみ使用可能です。さらに、これらのドライバ固有の定数は そのドライバを使用している場合にのみ使用されます。 postgres ドライバで mysql 固有の属性を使用すると、予期せぬ結果を引き起こします。 もし複数のドライバを使用しているコードを実行している場合、 PDO::getAttribute()PDO_ATTR_DRIVER_NAME 属性を使用することで、使用中のドライバ名を調べることが可能です。
PDO::MYSQL_ATTR_USE_BUFFERED_QUERY (integer)
PDOStatement でこの属性を TRUE に設定すると、 MySQL ドライバはバッファ版の MySQL API を使用します。 移植性の高いコードを書くには、代わりに PDOStatement::fetchAll() を使用すべきです。
例 1363. mysql でクエリのバッファリングを強制する
<?php
if ($db->getAttribute(PDO::ATTR_DRIVER_NAME) == 'mysql') {
   $stmt = $db->prepare('select * from foo',
       array(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY => true));
} else {
   die("このアプリケーションは mysql でしか動作しません。代わりに \$stmt->fetchAll() を使用すべきです");
}
?>


PDO::MYSQL_ATTR_LOCAL_INFILE (integer)
LOAD LOCAL INFILE を有効にします。
PDO::MYSQL_ATTR_INIT_COMMAND (integer)
MySQL サーバへの接続時に実行するコマンドを指定します。 再接続の際には自動的に再実行されます。
PDO::MYSQL_ATTR_READ_DEFAULT_FILE (integer)
my.cnf ではなく、 指定した名前のファイルからオプションを読み込みます。
PDO::MYSQL_ATTR_READ_DEFAULT_GROUP (integer)
my.cnf あるいは 別のファイル (MYSQL_READ_DEFAULT_FILE で指定したもの) の中の、指定した名前のグループからオプションを読み込みます。
PDO::MYSQL_ATTR_MAX_BUFFER_SIZE (integer)
バッファの最大サイズ。デフォルトは 1 MiB です。
PDO::MYSQL_ATTR_DIRECT_QUERY (integer)
プリペアドステートメントではなく、直接クエリを実行します。

目次

PDO_MYSQL DSN — MySQL データベースに接続する

MySQL

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2019/12/24 20:17 UTC 版)

MySQL(まい・えすきゅーえる)は、オープンソースで公開されている関係データベース管理システム (RDBMS) の一つである。









固有名詞の分類


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「MySQL」の関連用語

MySQLのお隣キーワード

   

英語⇒日本語
日本語⇒英語
   
検索ランキング



MySQLのページの著作権
Weblio 辞書情報提供元は参加元一覧にて確認できます。

  
三省堂三省堂
Copyright (C) 2001-2020 Sanseido Co.,Ltd. All rights reserved.
株式会社 三省堂三省堂 Web Dictionary
OSS iPediaOSS iPedia
Copyright © Information-technology Promotion Agency, Japan. All rights reserved 2006-2020
PHPプロ!PHPプロ!
©COPYRIGHT ASIAL CORPORATION ALL RIGHTS RESERVED.
IT用語辞典バイナリIT用語辞典バイナリ
Copyright © 2005-2020 Weblio 辞書 IT用語辞典バイナリさくいん。 この記事は、IT用語辞典バイナリMySQLの記事を利用しております。
PHP Documentation GroupPHP Documentation Group
Copyright © 1997 - 2020 by the PHP Documentation Group.
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのMySQL (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2020 Weblio RSS