MySQL では、ロールバックを許可するトランザクションテーブルと、許可しない非トランザクションテーブルの両方を操作できます。 このため、MySQL とほかの DBMS とでは制約の処理が多少異なります。 エラーが起きたときに変更をロールバックできない非トランザクションテーブルに、多数の行を挿入または更新した場合を扱う必要があります。 基本的な考え方は、MySQL Server が、実行するステートメントを構文解析している間に検出できるすべてのものに対してエラーを生成しようとし、ステートメントを実行する間に発生するエラーからリカバリしようとするというものです。 ほとんどの場合でこれを行いますが、すべての場合にはまだです。 エラーが発生したときに MySQL で可能な選択肢は、途中でステートメントを中止するか、問題からリカバリするためにできるかぎりのことを行なって処理を続行するかです。 デフ
SAVEPOINT、ROLLBACK TO SAVEPOINT および RELEASE SAVEPOINT ステートメント
MySQL のデフォルトでは、米国と西ヨーロッパに適したキャラクタセットの latin1 ( ISO-8859-1) 、そして、照合順序(コアレーション)はスウェーデン語およびフィンランド語に準拠している latin1_swedish_ci で、ソート を行います。 MySQL 標準バイナリは、--with-extra-charsets=complex でコンパイルしてます。そのため、標準プログラムで、latin1 とすべてのマルチ バイト キャラクタ セットを処理できます。必要なキャラクタ セットは、キャラクタ セットの定義ファイルからロードします。 キャラクタセットは、識別子、つまり名前に使用できる文字を決定します。そして、SELECT ステートメントの ORDER BY 節および GROUP BY 節で行うの文字列の照合順序 (コアレーション) も決定します。 キャラクタ セットの変
mysqlimport クライアントは、LOAD DATA SQL ステートメントへのコマンドラインインタフェースを提供します。 mysqlimport のほとんどのオプションは、LOAD DATA 構文の句に直接対応しています。 セクション13.2.7「LOAD DATA ステートメント」を参照してください。 mysqlimport は次のように起動します。 shell> mysqlimport [options] db_name textfile1 [textfile2 ...] mysqlimport は、コマンド行で指定されたテキストファイルごとに、ファイル名の拡張子があればそれを取り除き、その結果をもとに、ファイル内容をインポートするテーブルの名前を決定します。 たとえば、patient.txt、patient.text、および patient と名付けられたファイルはすべて p
あるステートメントのユーザー定義変数に値を格納し、後で別のステートメントで参照できます。 これにより、あるステートメントから別のステートメントに値を渡すことができます。 ユーザー変数は@var_name として記述され、変数名 var_name は英数字、.、_および $ で構成されます。 ユーザー変数名を文字列や識別子として引用符で囲めば、ほかの文字も含めることができます (@'my-var'、@"my-var"、@`my-var` など)。 ユーザー定義変数はセッション固有です。 あるクライアントで定義されたユーザー変数は、他のクライアントでは表示または使用できません。 (例外: パフォーマンススキーマ user_variables_by_thread テーブルへのアクセス権を持つユーザーは、すべてのセッションのすべてのユーザー変数を表示できます。) 所定のクライアントセッションのすべ
MATCH (col1,col2,...) AGAINST (expr [search_modifier]) search_modifier: { IN NATURAL LANGUAGE MODE | IN NATURAL LANGUAGE MODE WITH QUERY EXPANSION | IN BOOLEAN MODE | WITH QUERY EXPANSION } MySQL では、次のような全文インデックス設定および検索がサポートされています。 MySQL の全文インデックスは、型 FULLTEXT のインデックスです。 全文インデックスは、InnoDB または MyISAM テーブルでのみ使用でき、CHAR、VARCHAR、または TEXT カラムにのみ作成できます。 MySQL には、中国語、日本語および韓国語 (CJK) をサポートする組込みの全文 ngram パーサー
ANY_VALUE(arg) この関数は、MySQL が特定できない理由で有効であるとわかっているクエリーを MySQL が拒否する場合に、ONLY_FULL_GROUP_BY SQL モードが有効な GROUP BY クエリーに役立ちます。 関数の戻り値および型は、その引数の戻り値および型と同じですが、関数の結果は ONLY_FULL_GROUP_BY SQL モードではチェックされません。 たとえば、name がインデックス付けされていないカラムの場合、次のクエリーは ONLY_FULL_GROUP_BY が有効になっていると失敗します: mysql> SELECT name, address, MAX(age) FROM t GROUP BY name; ERROR 1055 (42000): Expression #2 of SELECT list is not in GROUP
この章では、MySQL のパフォーマンスを最適化する方法について説明し、例を示します。 最適化には、いくつかのレベルでの構成、チューニング、およびパフォーマンスの測定が含まれます。 業務の役割 (開発者、データベース管理者、または両方の組み合わせ) に応じて、個々の SQL ステートメント、アプリケーション全体、単一のデータベースサーバー、または複数のネットワーク接続されたデータベースサーバーのレベルで最適化できます。 プロアクティブにパフォーマンスを事前に計画する場合や、または問題の発生後に、構成やコードの問題のトラブルシューティングを行う場合があります。 CPU やメモリーの使用を最適化することで、スケーラビリティーを向上し、データベースを低下させず、より多くの負荷を処理させることもできます。
"The Documents contained within this site may include statements about Oracle's product development plans. Many factors can materially affect Oracle's product development plans and the nature and timing of future product releases. Accordingly, this Information is provided to you solely for information only, is not a commitment to deliver any material, code, or functionality, and should not be reli
複数の文字セットおよび照合順序のシステム変数は、サーバーとのクライアントの通信に関係しています。 これらのいくつかは、これまでのセクションですでに説明されています。 character_set_server および collation_server システム変数は、サーバーの文字セットと照合順序を示します。 セクション10.3.2「サーバー文字セットおよび照合順序」を参照してください。 character_set_database および collation_database システム変数は、デフォルトデータベースの文字セットおよび照合順序を示します。 セクション10.3.3「データベース文字セットおよび照合順序」を参照してください。 その他の文字セットおよび照合順序システム変数は、クライアントとサーバー間の接続のトラフィックの処理に関わっています。 すべてのクライアントには、セッション固
SAVEPOINT、ROLLBACK TO SAVEPOINT および RELEASE SAVEPOINT ステートメント
次に、日付関数の使用例を示します。 次のクエリーは、過去 30 日以内の date_col 値を含むすべての行を選択します。 mysql> SELECT something FROM tbl_name -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col; このクエリーは、将来の日付を持つ行も選択します。 通常、日付値が要求される関数では、日付時間値が受け入れられ、時間の部分は無視されます。 通常、時間値が要求される関数では、日付時間値が受け入れられ、日付の部分は無視されます。 現在の日付または時間をそれぞれ返す関数は、クエリー実行の開始時にクエリーごとに 1 回だけ評価されます。 つまり、NOW() などの関数が単一クエリー内で複数回参照されても、常に同じ結果が生成されます。 (設計上、単一クエリーにはストアドプログラム (スト
MySQL はすべての標準 SQL 数値データ型をサポートします。 これらの型は、概数値データ型 (FLOAT、REAL、DOUBLE PRECISION) だけでなく、真数値データ型 (INTEGER、SMALLINT、DECIMAL、NUMERIC) を含みます。 キーワード INT は INTEGER のシノニムで、キーワード DEC および FIXED は DECIMAL のシノニムです。 MySQL では、DOUBLE は DOUBLE PRECISION (非標準の拡張) のシノニムと見なされます。 また、REAL_AS_FLOAT SQL モードが有効でないかぎり、REAL は DOUBLE PRECISION (非標準のバリエーション) のシノニムと見なされます。 BIT データ型はビット値を格納し、MyISAM, MEMORY, InnoDB および NDB テーブルでサ
ASCII(str) 文字列 str の左端の文字の数値を返します。 str が空の文字列である場合は、0 を返します。 str が NULL である場合は NULL を返します。 ASCII() は、8 ビット文字の場合に動作します。 mysql> SELECT ASCII('2'); -> 50 mysql> SELECT ASCII(2); -> 50 mysql> SELECT ASCII('dx'); -> 100 ORD() 関数も参照してください。 BIN(N) N のバイナリ値の文字列表現を返します。N は longlong (BIGINT) 数字です。 これは、CONV(N,10,2) と同等です。 N が NULL である場合は NULL を返します。 mysql> SELECT BIN(12); -> '1100' BIT_LENGTH(str) 文字列 str の長
概要 これは MySQL リファレンスマニュアルです。 MySQL 8.0 から 8.0.25、および NDB のバージョン 8.0 から 8.0.25-ndb-8.0.25 に基づく NDB Cluster リリースについてそれぞれ説明します。 まだリリースされていない MySQL バージョンの機能のドキュメントが含まれている場合があります。 リリースされたバージョンの詳細は、「MySQL 8.0 リリースノート」を参照してください。 MySQL 8.0 の機能. このマニュアルでは、MySQL 8.0 のエディションによっては含まれていない機能について説明します。このような機能は、ご自身にライセンス付与されている MySQL 8.0 のエディションに含まれていない場合があります。 MySQL 8.0 の使用しているエディションに含まれる機能に関する質問がある場合は、MySQL 8.0
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く