MySQL5.7のキーワードと予約語の詳細説明

黄舟
リリース: 2017-03-27 13:51:12
オリジナル
1866 人が閲覧しました

最近、Oracle から MySQL にデータを移行するプロセス中に、キーワードを含むいくつかの問題に遭遇しました。以下の記事では、MySQL 5.7 のキーワードと 予約語 に関する情報を中心に紹介しています。必要な方はぜひ参考にしてください。

はじめに

MySQL と Oracle のキーワードは依然として異なります。Oracle データベースでは、主キーを表すためにデータ テーブルに多数のコード フィールドが定義されていますが、MySQL コードでは、キーワードは です。以前の治療方法を使用することはある程度「慣れ」ています。

MySQL のキーワードと予約語を見てみましょう。

キーワードと予約語とは

キーワードとは、SQL で意味のある単語を指します。 SELECT、DELETE、BIGINT などの特定のキーワードは予約されており、テーブル名や列名などの識別子として使用するには特別な処理が必要です。 これは、組み込み関数の名前にも当てはまります。

キーワードと予約語の使用方法

予約語以外のキーワードは識別子として使用でき、引用符は必要ありません。 予約語を識別子として使用する場合は、引用符を使用する必要があります。

たとえば、BEGIN と END はキーワードですが予約語ではないため、識別子として使用する場合は引用符は必要ありません。 INTERVAL は予約されたキーワードであり、識別子として使用するには引用符で囲む必要があります。

mysql>
mysql> use hoegh;
Database changed
mysql>
mysql> CREATE TABLE interval (begin INT, end INT);
ERROR 1064 (42000):
mysql>
mysql> CREATE TABLE `interval` (begin INT, end INT);
Query OK, 0 rows affected (0.42 sec)

mysql>
mysql> show create table `interval`;
+----------+---------------------------------------------------------
| Table | Create Table
+----------+---------------------------------------------------------
| interval | CREATE TABLE `interval` (
 `begin` int(11) DEFAULT NULL,
 `end` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
+----------+---------------------------------------------------------
1 row in set (0.00 sec)

mysql>
ログイン後にコピー

最初のステートメントのテーブル名で予約語の interval が使用されていることがわかり、実行は失敗します。

2 番目のステートメントでは、interval に引用符が追加され、実行は成功します。

ここで、引用符は一重引用符ではなくバッククォーテーションである必要があることに注意してください。それ以外の場合は、次のようにエラーが報告されます:

mysql>
mysql> drop table `interval`;--使用反引号
Query OK, 0 rows affected (0.11 sec)

mysql>
mysql> create table 'interval' (begin INT, end INT);--使用单引号,报错
ERROR 1064 (42000):

mysql>
ログイン後にコピー

例外が 1 つあります

識別子が修飾名 (データベース名) のピリオドの後に来る場合は、予約されたキーワードであっても引用符は必要ありません。

hoegh データベースを例に挙げてみましょう。テーブル名が hoegh.interval として記述されている場合、予約語の interval を引用符で囲む必要はありません。

mysql>
mysql> create table hoegh.interval (begin INT, end INT);
Query OK, 0 rows affected (0.19 sec)

mysql>
mysql> show create table hoegh.interval;
+----------+---------------------------------------------------------
| Table | Create Table
+----------+---------------------------------------------------------
| interval | CREATE TABLE `interval` (
 `begin` int(11) DEFAULT NULL,
 `end` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
+----------+---------------------------------------------------------
1 row in set (0.00 sec)

mysql>
ログイン後にコピー

組み込み関数名の使用について

組み込み関数の許可された名前は識別子として使用できますが、使用には注意が必要です。たとえば、COUNT は列名として有効です。ただし、デフォルトでは、関数呼び出し内で関数名とそれに続く () の間のスペースは許可されません。この制限により、パーサーは名前が関数呼び出しで使用されているか、関数以外のコンテキストで使用されているかを区別できます。

付録

ある時点で、より高いバージョンにアップグレードする必要があるかもしれないので、将来の予約語を確認することをお勧めします。これらの予約語は、MySQL の新しいバージョンをカバーするマニュアルで見つけることができます。標準 SQL では列またはテーブルの名前として禁止されています (GROUP など)。これらの一部は、MySQL で必要で yacc パーサーを使用するため、予約語です

3 つのテーブルを以下に示します。 MySQL 5.7 のキーワードと予約語は (R) でマークされています。また、2 番目の表 10.3 は、MySQL 5.7 で削除された予約語を示しています。 MySQL 5.7 とバージョン 5.6 の比較
表 10.2 MySQL 5.7 のキーワードと予約語

CHARACTER (R)CHARSETCHECK (R)チェックサムCIPHERCLASS_ORIGINクライアント閉じる合体コードCOLLATE(R)COLLATIONディレクトリ無効化破棄フォーマットFOUNDFROM (R)KILL (R)LASTLEADING (R)LEAVE (R)LEAVES左(R)LESSレベルLIKE (R)LIMIT (R)LINEAR (R)LINES(R)LINESTRINGリストLOAD(R)LOCALLOCALTIME (R) R OWRTREEスキーマ(R)SCHEMA_NAMEセキュリティSQL_TSI_YEARスタックSTARTSSTATUSSTOPSTRAIGHT_JOIN(R)
アクセス可能 (R) アカウント[a] アクション














































の後に














































集計 アルゴリズム ALL (R)














































ALTER (R) 常に[b] 分析














































A NALYZE (R) AND (R) ANY














































AS (R) ASC (R) ASCII














































ASENSITIVE (R) AT AUTOEXTEND_SIZE














































AUTO_INCREMENT AVG AVG_ROW_LENGTH














































バックアップ 前(R) BEGIN














































BETWEEN (R) BIGINT (R) BINARY (R)














































BINLOG BIT BLOB (R)














































ブロック ブール ブール














































両方 (R) BTREE BY (R)














































BYTE キャッシュ CALL (R)














































CASCADE (R) CASCADED CASE (R)














































CATALOG_NAME CHAIN CHANGE (R)














































変更されました チャンネル[c] CHAR (R)









































































































































































































































COLUMN(R) COLUMNS COLUMN_FORMAT














































COLUMN_NAME COMMENT COMMIT














































コミット コンパクト 完了














































COMPRESSED COMPRESSION[d] CONCURRENT














































状態(R) 接続 一貫性














































CONSTRAINT (R) CONSTRAINT_CATALOG CONSTRAINT_名前














































CONSTRAINT_SCHEMA CONTA INS コンテキスト














































CONTINUE (R) CONVER T (R) CPU














































CREATE(R) CROSS(R) CUBE














































CURRENT CURRENT_DATE (R) CURRENT_TIME (R)














































CURRENT_TIMESTAMP (R) CURRENT_USER (R) CURSOR (R)














































CURSOR_NAME DATA DATABASE (R)














































DATABASES (R) DATAFILE DATE














































DATETIME DAY DAY_HOUR (R)














































DAY_MICROSECOND (R) DAY_MINUTE (R) DAY_SECOND (R)














































DEALLOCATE DEC (R) DECIMAL (R)














































宣言 (R) デフォルト ( R) DEFAULT_AUTH














































DEFINER DELAYED(R) DELAY_KEY_WRITE














































削除(R) 説明(R) DESCRIBE (R)














































DES_KEY_FILE DETERMINISTIC(R) 診断




























































































DISK DISTINCT (R) DISTINCTROW ( R)














































p (R ) DO DOUBLE (R)














































DROP (R) DUAL (R) ダンプファイル














































重複 動的 それぞれ(R)














































ELSE (R) ELSEIF (R) ENABLE














































ENCLOSED (R) ENクリプション[e] END














































終了 エンジン エンジン














































ENUM エラー エラー














































ESCAPE ESCAPED (R) イベント














































イベント 交換














































実行 存在(R) 終了(R)














































拡張 期限切れ EXPLAIN (R)














































エクスポート 拡張済み EXTENT_SIZE














































FALSE(R) 速い FAULTS














































FETCH (R) FIELDS FILE














































FILE_BLOCK_SIZE[f] FILTER[g] FIRST














































固定 FLOAT (R) FLOAT4 (R)














































FLOAT8 (R) FLUSH FOLLOWS[h]














































FOR (R) フォース(R) フォーリン(R)




























































































FULL FULLTEXT (R) 機能














































GEN ERAL GENERATED[i] (R) GEOMETRY














































GEOMETRYCOLLECTION GET (R) GET_FORMAT














































グローバル GRANT (R) 助成金














































グループ( R) GROUP_REPLICATION[j] ハンドラー














































ハッシュ HAVING (R) ヘルプ














































HIGH_PRIORITY (R) ホスト ホスト














































HOUR HOUR_MICROSECOND (R) HOUR_MINUTE (R)














































HOUR_SECOND (R) 識別済み IF (R)














































IGNORE(R) IGNORE_SERVER_IDS IMPORT














































IN (R) INDEX (R) INDEXES














































INFILE (R) INITIAL_SIZE INNER (R) )














































INアウト(R) インセンシティブ(R) インサート(R)














































INSERT_METHOD INSTALL INSTANCE[k] ]














































INT (R) INT1 (R) INT2 (R)














































INT3 (R) INT4 (R) INT8 (R)














































INTEGER (R) INTERVAL (R) INTO (R)














































INVOKER IO IO_AFTER_GTIDS (R)














































IO_BEFORE_GTIDS (R) IO_THREAD IPC














































IS (R) 隔離 発行者














































ITERATE (R) JOIN (R) JSON[l]














































KEY (R ) KEYS (R) KEY_BLOCK_SIZE














































LANGUAGE
























































































































































































































































































LOCALTIMESTAMP (R) LOCK (R) LOCKS














































LOGFILE LOGS LONG (R )














































LONGBLOB (R) 長文(R) ループ(R)














































LOW_PRIORITY (R) MASTER MASTER_AUTO_POSITION














































MASTER_BIND(R) MASTER_CONNECT_RETRY MASTER_DELAY














































MASTER_HEARTBEAT_PERIOD MASTER_HOST MASTER_LOG_FILE














































MASTER_LOG_POS MASTER_PASSWORD MASTER_PORT














































MASTER_RETRY_COUNT MASTER_SERVER_ID MASTER_SSL














































MASTER_SSL_CA MASTER_SSL_CAPATH MASTER_SSL_CERT














































MASTER_SSL_CIPHER MASTER_SSL_CRL MASTER_SSL_CRLPATH














































MASTER_SSL_KEY MASTER_SSL_VERIFY_SERVER_CERT(R) MASTER_TLS_VERSION[m ]














































MASTER_USER MATCH (R) ) マックスバリュー (R)














































MAX_CONNECTIONS_PER_HOUR MAX_QUERIES_PER_HOUR MAX_ROWS














































MAX_SIZE MAX_STATEMENT_TIME[n] MAX_UPDATES_PER_HOUR














































MAX_USER_CONNECTIONS MEDIUM MEDIUMBLOB (R)














































MEDIUMINT (R) MEDIUMTEXT (R) MEMORY














































MERGE MESSAGE_TEXT MICROSECONだ














































MIDDLEINT (R) MIGRATE














































MIN UTE_MICROSECOND (R) MINUTE_SECOND (R) MIN_ROWS














































MOD (R) モード MODIFIES (R) )














































修正 MONTH 複数行文字列














































マルチポイント マルチポリゴン MUTEX














































MYSQL_ERRNO NAME NAMES














































NATIONAL NATURAL (R ) NCHAR














































NDB NDBCLUSTER 決して[o]














































新しい いいえ














































NODEGROUP NONBLOCKING[p] NONE














































NOT (R) NO_WAIT NO_WRITE_TO_BINLOG (R)














































NULL (R) NUMBER NUMERIC (R)














































NVARCHAR OFFSET OLD_PASSWORD[q]














































ON(R) ONE ONLY














































OPEN OPTIMIZE (R) OPTIMIZER_COSTS[r] (R)














































オプション(R) オプション(R) オプション














































OR (R) ORDER (R) OUT(R)













































OUTER(R) OUTFILE(R) OWNER














































PACK_KEYS ページ パーサー














































PARSE_GCOL_EXPR[s] ] PARTIAL PARTITION (R)














































パーティション分割 パーティション パスワード














































フェーズ プラグイン プラグイン














































PLUGIN_DIR ポイント ポリゴン














































ポート が先[t] PRECISION(R)














































準備 保存 前へ














































プライマリ(R) 特権 手順(R)














































プロセスリスト プロフィール プロフィール














































プロキシ パージ( R) クォーター














































クエリ クイック 範囲(R)














































読む (R) 読む (R) READ_ONLY














































READ_WRITE (R) REAL (R) REBUILD














































RECOVER REDOFILE REDO_BUFFER_SIZE














































冗長 参照 (R) REGEXP (R)














































リレー リレーログ RELAY_LOG_FILE














































RELAY_LOG_POS RELAY_THREAD RELEASE (R)














































リロード 削除 名前を変更(R)














































再編成 修理 繰り返し(R)














































REPEATABLE REPLACE (R) REPLICATE_DO_DB[u]














































REPLICATE_DO_TABLE[v] REPLICATE_IGNORE_DB[w] REPLICATE_IGNORE_TABLE[x]














































REPLICATE_REWRITE_DB[y] REPLICATE_WILD_DO_TABLE[z] REPLICATE_WILD_IGNORE_TABLE[aa]














































レプリケーション REQUIRE (R) リセット














































再信号 (R) 復元 制限 (R)














































RESUME RETURN (R) RETURNED_SQLSTATE














































返品 リバース 取り消し(R) )














































右 (R) Rいいね (R) ロールバック














































ロールアップ 回転[ab] ルーティン






































ROWS
ROW_COUNT










































ROW_FORMAT

セーブポイント










































スケジュール

スキーマ(R)












































SECOND
SECOND_MICROSECOND ( R)













































セレクト(R)
センシティブ(R)











































SEPARATOR (R) シリアル シリアル化可能














































サーバー セッション セット(R)














































シェア SHOW ( R) シャットダウン














































シグナル (R) サイン入り シンプル














































SLAVE SLOW SMALLINT (R)














































スナップショット ソケット 一部














































SONAME サウンド ソース














































空間(R) 特定 (R) SQL (R)














































SQLEXCEPTION (R) SQLSTATE (R) SQLWARNING (R)














































SQL_AFTER_GTIDS SQL_AFTER_MTS_GAPS SQL_BEFORE_GTIDS














































SQL_BIG_RESULT (R) SQL_BUFFER_RESULT SQL_CACHE














































SQL_CALC_FOUND_ROWS (R) SQL_NO_CACHE SQL_SMALL_RESULT (R)














































SQL_THREAD SQL_TSI_DAY SQL_TSI_HOUR














































SQL_TSI_MINUTE SQL_TSI_MONTH SQL_TSI_QUARTER















































SQL_TSI_SECOND
SQL_TSI_WEEK








































SSL (R)

START_






































STARTING (R)

STATS_AUTO_RECALC













































STATS_PERSISTENT
STATS_SAMPLE_PAGES














































ストレージ
STORED [ac] (R)

















































STRING
SUBCLASS_ORIGIN












































主題 サブパーティション サブパーティション














































スーパー 一時停止 スワップ














































スイッチ テーブル(R) テーブル














































TABLESPACE TABLE_CHECKSUM TABLE_NAME














































一時的 誘惑的 終了(R)














































TEXT THAN THEN (R)














































TIME タイムスタンプ タイムスタンプパッド














































TIMESTAMPDIFF TINYBLOB (R) TINYINT (R)














































TINYTEXT (R) TO (R) TRAILING (R)














































トランザクション トリガー(R) トリガー














































TRUE (R) TRUNCATE タイプ














































タイプ 未コミット 未定義














































UNDO(R) UNDOFILE UNDO_BUFFER_SIZE














































UNICODE アンインストール UNION(R)














































ユニーク(R) 不明 ロック解除(R)














































無署名 (R) 更新まで (R)














































アップグレード 使用法(R) 使用法(R)














































USER USER_RESOURCES USE_FRM














































使用中 (R) UTC_DATE (R) UTC_TIME (R)














































UT C_TIMESTAMP (R) VALIDATION[広告] VALUE














































VALUES (R) VARBINARY (R) VARCHAR (R)














































VARCHARACTER (R) 変数 VARYING (R)














































見る VIRTUAL[ae] (R) お待ちください














































警告 WEEK WEIGHT_STRING














































WHEN (R) WHERE (R) ) WHILE (R)














































WITH (R) WITHOUT[af] WORK














































WRAPPER WRITE (R) X509














































XA XID[ag] XML














































XOR (R) YEAR YEAR_MONTH (R) )














































ゼロフィル (R)














































[a] アカウント: 5.7.6 で追加 (非予約)

[b] ALWAYS: 5.7.6 で追加 (非予約)

[c] チャンネル: 5.7.6 で追加 (非予約)

[d] COMPRESSION: 5.7.8 で追加 (非予約)

[e] ENCRYPTION: 5.7.11 で追加 (非予約)

[f] FILE_BLOCK_SIZE: 5.7.6 で追加 (非予約)

[g] FILTER: 5.7 で追加.3 (非予約)

[h] FOLLOWS: 5.7.2 で追加 (非予約)

[i] GENERATED: 5.7.6 で追加 (予約)

[j] GROUP_REPLICATION: 5.7.6 で追加 (非予約)

[k] INSTANCE: 5.7.11 で追加 (非予約)

[l] JSON: 5.7.8 で追加 (非予約)

[m] MASTER_TLS_VERSION: 5.7.10 で追加 (非予約)

[n] MAX_STATEMENT_TIME: 5.7.4 で追加 (非予約)。 5.7.8 で削除されました

[o] NEVER: 5.7.4 で追加されました (非予約)

[p] NONBLOCKING: 5.7.6 で削除されました

[q] OLD_PASSWORD: 5.7.5 で削除されました

[r] OPTIMIZER_COSTS : 5.7.5 で追加 (予約済み)

[s] PARSE_GCOL_EXPR: 5.7.6 で追加 (予約済み); 5.7.8 で非予約になりました

[t] PRECEDES: 5.7.2 で追加されました (非予約)

[u] REPLICATE_DO_DB: 5.7.3 で追加されました (非予約)

[v] REPLICATE_DO_TABLE: 5.7.3 で追加されました (非予約) )

[w] REPLICATE_IGNORE_DB: 5.7.3 で追加 (非予約)

[x] REPLICATE_IGNORE_TABLE: 5.7.3 で追加 (非予約)

[y] REPLICATE_REWRITE_DB: 5.7.3 で追加 (非予約)

[ z ] REPLICATE_WILD_DO_TABLE: 5.7.3 で追加 (非予約)

[aa] REPLICATE_WILD_IGNORE_TABLE: 5.7.3 で追加 (非予約)

[ab] ROTATE: 5.7.11 で追加 (非予約)

[ac] STORED: で追加5.7.6 (予約済み)

[ad] VALIDATION: 5.7.5 で追加 (非予約)

[ae] VIRTUAL: 5.7.6 で追加 (予約済み)

[af] WITHOUT: 5.7.5 で追加 (非予約) )

[ag] XID: 5.7.5 で追加 (非予約)

表 10.3 MySQL 5.6 と比較した MySQL 5.7 で追加されたキーワードと予約語

をフォローします
ACCOUNT いつも チャンネル
圧縮 暗号化 FILE_BLOCK_SIZE
フィルター 生成された(R)
GROUP_REPLICATIONインスタンス JSON
MASTER_TLS_VERSION NEVER OPTIMIZER_COSTS (R)
PARSE_GCOL_EXPR PRECEDES REPLICATE_DO_DB
REPLICATE_DO_TABLE REPLICATE_IGNORE_DB REPLICATE_IGNORE_TABLE
REPLICATE_REWRITE_DB REPLICATE_WILD_DO_TABLE REPLICATE_WILD_IGNORE_TABLE
ROTATE STACKED STORED (R)
検証 仮想(R) なし
XID

表 10.4 MySQL 5.6 と比較した MySQL 5.7 で削除されたキーワードと予約語

OLD_PASSWORD

总结

以上がMySQL5.7のキーワードと予約語の詳細説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!