首頁  >  文章  >  資料庫  >  詳解MySQL5.7中的關鍵字與保留字

詳解MySQL5.7中的關鍵字與保留字

黄舟
黄舟原創
2017-03-27 13:51:121876瀏覽

最近在將資料從Oracle遷移到MySQL的過程中,遇到一些問題,其中就包含關鍵字。以下這篇文章主要為大家介紹了MySQL 5.7中的關鍵字與保留字的相關資料,文中介紹的非常詳細,需要的朋友可以參考學習,下面來一起看看吧。

前言

MySQL和Oracle的關鍵字還是不盡相同的,在Oracle資料庫中,我們的資料表中定義了大量的code欄位用來表示主鍵,但在MySQL中code是關鍵字,使用以前的處理方法就有些「水土不服」。

下面我們來了解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,執行失敗;

第二條語句對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>

有一個例外

如果標識符在限定名稱(資料庫名稱)的句點之後,即使是保留關鍵字也不需要引號。

我們以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的手冊中找到這些。 yacc解析器。關鍵字標記為(R)。 #第三個表格10.4顯示MySQL 5.7比較5.6版本刪除的保留字。

之後##聚合#總是[b]任何######## ############AS(R)CASE(R)#CATALOG_NAME##已更改##字元(R)CIPHER關閉COLUMN(R)COLUMN_NAME#都完成壓縮。壓縮[d]一致#CONSTRAINT(R)轉換(R) ##創建(R)交叉(R)CURRENT_DATE(R )CURSOR(R)資料庫(R) #資料庫(R)DAY_MICROSECOND(R)DEC (R)DEFAULT_AUTHDELAY_KEY_WRITE刪除(R)#確定性(R) DISTINCTROW(R)DODUMPFILE 每個(R)##ELSE(R)ELSEIF( R)##活動#存在(R)過期FALSE(R)FASTFAULTS FETCH(R)FLOAT4 (R)##FLOAT8( R) FORCE(R)#全文#全文(R)##一般#幾何集合 GROUP_REPLICATION[j]有(R)## HOUR_MINUTE(R) HOUR_SECOND (R)#忽略(R)索引(R) INFILE(R)##INNER(R)##INOUT(R)INT1(R)INT3 (R) INTO(R)IOIPC#IS(R) KEY_BLOCK_SIZE殺死(R )UAGE離開左(R)##等級線性(R)#LINES(R)鎖定(R)LONG(R)LONGBLOB(R)#MASTER_AUTO_POSITIONMASTER_DELAYMASTER_SERVER_IDMASTER_SSL_CERT##MASTER_SSL_CIPHER##MASTER_SSL_KEYMASTER_TLS_VERSION[m ]符合(R)MAX_SIZEMEDIUMBLOB (R)#MEDIUMINT(R)遷移#分鐘_秒(右)#多行字串##多點#NAMES#「國家NDBCLUSTER下一個NOT(R)NUMBER# #OFFSET 優化(R)選項##OUTER(R)##PACK_KEYSPARTIAL分割區外掛POINT############ ###################### ########### )#PROCESSLIST清除(R)範圍(R)READ(R)##REDOFILE參考(R)#RELAYLOGRELAY_LOG_POS重新載入##可重複取代(R)REPLICATE_IGNORE_TABLE[x] REPLICATE_WILD_DO_TABLE[z]重設 ##辭職(R) ##傳回(R)RETURNED_SQLSTATERLIKE(R)ROLLUPROWS#RTREE架構(R)##SCHEMA_NAME#可序列化關閉##「訊號(R)慢SOCKET
可存取(R) 帳戶[a] #操作



















































##新增(R)

AGAINST






















































演算法
全部(R)

















































#更改(R)

分析





















































#分析(R)
和(R)
































































ASC(R)
ASCII











































################################## ###### ########################################敏感(R)#### ##AT ######AUTOEXTEND_SIZE############################################################################################################################################################################################################################################################################################ # ########################################################### # ########################################################## ### ######################################################## ##### ############################################## ####### ############################################ ######### ########################################## ########### #####################







AUTO_INCREMENT AVG AVG_ROW_LENGTH














































BACKUP BEFORE (R) BEGIN














































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














































BINLOG BIT BLOB (R)














































BLOCK BOOL BOOLEAN














































BOTH (R) BTREE BY (R)














































位元組 CACHE CALL (R)















































#CASCADE(R)
CASCADED




















































CHAIN
#CHANGE(R)



























































頻道[c]
CHAR(R)


















































字元集
檢查(R )


















































CHECKSUM

CLASS_ORIGIN
































































##客戶端
#合併






























############################################# # ########################################################### # ########################################################## ### #################################程式碼######整理(R)#### ##整理######################################################## ##### ############################################## ####### ############################################ ######### ########################################## ########### ######################################## ############# ##############################



















COLUMNS
COLUMN_FORMAT

























































COMMENT
COMMIT










































































#承諾
緊湊




















































#並發



















































##條件(R)
連接





















































CONSTRAINT_CATALOG
#CONSTRAINT_NAME










############################### ##### ################################################ ## ########################################################### ########################################################### ## ######################################################### #### ####################################################### ###### ############################################# ######## ##################CONSTRAINT_SCHEMA######CONTAINS######CONTEXT#################################### ######### ########################################## ########### ######################################## ############# ###################################### ############### #################################### #######


























#繼續(R)

CPU

























































交叉(R)
##創建(R)
###立方體######## #################








































目前

CURRENT_TIME(R )




















































#CURRENT_TIMESTAMP (R)
CURRENT_USER(R)

























































遊標名稱
資料



















































資料檔
日期



























################################################# ##### ############################################## ####### ############################################ ######### ########################################## ########### ###########日期時間######DAY######DAY_HOUR (R)######### ############# ###################################### ############### #################################### #############






































DAY_MINUTE(R)
DAY_SECOND(R)

































































#解除指派

DECIMAL (R)




















































」聲明(R)
預設(R)



















































##定義器
延遲(R)




















































DESC(R)
DESCRIBE(R)




















































DES_KEY_FILE
診斷

######################################### ################################################# # ########################################################### # ########################################################## ### ######################################################## ##### ############################################## ####### ############################################ ######### ########################################## ########### ######################################## ############# ####目錄#######禁用#######丟棄#############################################################


















































磁碟
DISTINCT(R)































































#p(R)

DOUBLE(R)


















































DROP (R)
DUAL (R)





















































##重複
動態










































































































##################### ### ############################################已封閉(R)## # ###加密[e]######END############################################# ## ######################################################### #### ####################################################### ###### ############################################# ######## ########################################### ########## ######################################### ############ ############################################### ############## ##################################### ################ ################################### ######
ENDS 引擎 引擎


















































##ENUM
錯誤
##錯誤



















































#逃脫(R)
事件





















































每個
交換























































##執行

#退出(R)


























































擴充

解釋(R)




















































匯出######擴充功能######EXTENT_SIZE########### # ########################################################### # ########################################################## ### ######################################################## ##### ############################################## ####### ############################################ ######### ########################################## ########### ######################################## ############# ###################################### ##########























































欄位
檔案###### ############
##






















































#FILE_BLOCK_SIZE[f]
FILTER[g] #####第一的###### #################











































##浮動(R)























































FLUSH
FOLLOWS[h]


























































FOR(R)

FOREIGN(R)





















































###### ## #############格式######發現######FROM(R)################# ### ######################################################## ##### ############################################## ####### ############################################ ######### ########################################## ########### ######################################## ############# ###################################### ############### #################################### #######








功能























































產生[i] (R)
幾何



























































GET (R)
GET_FORMAT
















































全球
##GRANT(R)
補助金

















































##組(R)

HANDLER



























































#哈希


幫助




































############# # ########################################################## ### ######################################################## ###HIGH_PRIORITY (R)######主機######主機############################################################################ ##### ############################################## ####### ############################################ ######### ########################################## ########### ######################################## ############# ###################################### ############### ########################














##HOUR
HOUR_MICROSECOND(R)




















































已識別
IF(R)





















































IGNORE_SERVER_IDS
導入



















































IN(R )

索引




















































INITIAL_SIZE






















































不靈敏(R)
INSERT(R)





































# ######################################################### #### ####################################################### ###### ##############INSERT_METHOD#######安裝######INSTANCE[k]############ ###### ############################################# ######## ########################################### ########## ######################################### ############ ############################################### ############

























INT(R)

INT2(R )

























































INT4 (R)
INT8 ( R)





















































##INTEGER (R)
INTERVAL (R) )























































##INVOKER

IO_AFTER_GTIDS(R)





































































##IO_BEFORE_GTIDS (R)
IO_THREAD



















































隔離
發卡者



##################################################### ################################################# # ########################################################### # ########################################################## ### ######################################################## ##### ############################################## ####### ############################################ ######### ########################################## ########### ######################################## ############# #####迭代(R)######加入(R)######JSON[l]######## ############## ##################################### ################ ################################### ################## ########################


































##KEY(R)
KEYS(R)


























































##LANG

LAST




















































##領先(R)
離開(R)
















































































































##LIKE( R)
LIMIT(R)



















































LINESTRING
LIST





####################################################### ## ######################################################### #### ####################################################### ###### ############################################# ######## ########################################### ########## ######################################### ############ ############################################### ############## #############################負載(R)#### ##本地######本地時間(R)# ############################################ #















































#本機時間戳(R)





















































##LOGFILE
LOGS



















































LONGTEXT(R)
LOOP(R)


















































LOW_PRIORITY (R)
MASTER



































































##MASTER_BIND(R)
MASTER_CONNECT_RETRY


















































##########MASTER_HEARTBEAT_PERIOD######MASTER_HOST######MASTER_LOG_FILE################## ## ######################################################### #### ####################################################### ###### ############################################# ######## ########################################### ########## ######################################### ############ ############################################### ############## ##################################### ################ ################################### ##########


MASTER_LOG_POS MASTER_PASSWORD MASTER_PORT


















































##MASTER_RETRY_COUNT

MASTER_SSL



































































#MASTER_SSL_CA
MASTER_SSL_CAPATH




























































MASTER_SSL_CRL
MASTER_SSL_CRLPATH





















































#MASTER_SSL_VERIFY_SERVER_CERT(R)
















































#MASTER_USER

MAXVALUE (R)



























##################### ############ ################################################### ########################################################### ############################################ ####### #######################################MAX_CONNECTIONS_PER_HOUR######MAX_QUERIES_PER_HOUR #### ##MAX_ROWS################################################################################################################### ################################################# # ########################################################### # ########################################################## ### ######################################################## ##### #############################




















#MAX_STATEMENT_TIME[n]
MAX_UPDATES_PER_HOUR


















































MAX_USER_CONNECTIONS
MEDIUM


















































MEDIUMTEXT(R)
MEMORY



















































##MESSAGE_TEXT
微秒


















































#中線(R)

分鐘

























































##分鐘_微秒(右)

MIN_ROWS
































################ #### ####################################################### ###### ############################################# ######## ########################################### ########## ######################################MOD( R)######MODE### ###修改(R)############################################################### ############# ###################################### ############### #################################### ################# ########################################################































修改



#多行字串





























































多多邊形
互斥體

























































#MYSQL_ERRNO
NAME




















































自然(R)
#NCHAR
























































NDB

NEVER[o]


















































##新

NO









#################################################### ###### ############################################# ######## ########################################### ########## ######################################### ############ ############################################### ############## ##################################### ################ ################################### ################## #####################NODEGROUP#######非阻塞[p] ######無############ ######################################## ##################### ###################################### ####################### #################################### ################


































NO_WAIT
NO_WRITE_TO_BINLOG (R)

























































NULL(R)

數字(R)


















































NVARCHAR

舊密碼[q]






















































##ON(R )#####僅一個######### ######














































# OPEN

OPTIMIZER_COSTS[r] (R)


























































##選項(R)
可選(R)














################################ ### ################################################# # ########################################################### # ########################################################## ### ######################################################## ##### ############################################## ####### ###############OR(R)#######指令(R)######OUT(R)#### ####### ############################################ ######### ####################











































OUTFILE(R)
#所有者




























































PAGE
解析器



















































##PARSE_GCOL_EXPR[s]

分區(R)


























































# 區


# 區號

密碼



















































# #階段
外掛

















































PLUGIN_DIR

POLYGON

####### ### ######################################################## ##### ############################################## ####### ############################################ ######### ########################################## ########### ######################################## ############# ###################################### ############### #################################### ################# ########################################## ################### ##################################################################################################### ##精度(R)############# ########################























































































































































簡介
簡介


















































##PROXY

QUARTER



















































#查詢
快速






















































READS(R)
#READ_ONLY














######## ### ######################################################## ##### ############################################## ####### ############################################ ######### ########################################## ########### ######################################## ############# ###################################### ############### #####
READ_WRITE(R) REAL(R) REBUILD

























































REDO_BUFFER_SIZE



























































##冗餘

REGEXP(R)

















































RELAY

RELAY_LOG_FILE



















































RELAY_THREAD
RELEASE(R)






















































刪除
重新命名(R)













































# # ############################## 重組######修復######重複(R)# # ########################################################## ### ######################################################## ##### ############################################## ####### ############################################ ######### ########################################## ########### ######################################## ############# ###################################### ############### #########








REPLICATE_DO_DB[u]


















































#REPLICATE_DO_TABLE [v]
REPLICATE_IGNORE_DB[w]

































































##REPLICATE_REWRITE_DB[y]

REPLICATE_WILD_IGNORE_TABLE[aa]




















































複製
要求(R)





















































「恢復























































#已恢復



























###### ############################################# ###### ############################################### ### ################################################# # ########################################################### # ########################################################## ### ######################################################## ##### ###########返回######反向######撤銷(R)################################################################ ####### ############################################ ######### ########################################## ########### ######################################## ############# ###################################### ############### ##############























右(R)

回滾




















































旋轉[ab]
例程

















































#ROW

ROW_COUNT























































##ROW_FORMAT

已儲存點






















































時間表
架構(R )





















































SECOND
#SECOND_MICROSECOND(R)




























################## ####### ############################################ ######### ########################################## ########### ######################################## ############# #################### 安全######選擇(R)#######敏感(R)########## ##################################### ############### #################################### ################# ########################################## ################### #####################






























分隔符號(R)
序列




























































##伺服器
會話
##SET(R)


















































分享
顯示(R)




















































簽章



















































#奴隸

SMALLINT(R)





















































#SNAPSHOT

一些






















###################### ####### ############################################ ######### ########################################## ########### ######################################## ############# ###################################### ############### #####################SONAME######聲音#######來源################ ################################### ################## ######################################### #################### ####################################### ##########






























SPATIAL (R) SPECIFIC (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 SQL_TSI_YEAR














































SSL (R) STACKED START














































STARTING (R) STARTS STATS_AUTO_RECALC














































STATS_PERSISTENT STATS_SAMPLE_PAGES STATUS














































STOP STORAGE STORED[ac] (R)














































STRAIGHT_JOIN (R) STRING SUBCLASS_ORIGIN














































SUBJECT SUBPARTITION SUBPARTITIONS














































SUPER SUSPEND SWAPS














































SWITCHES TABLE (R) TABLES














































TABLESPACE TABLE_CHECKSUM TABLE_NAME














































TEMPORARY TEMPTABLE TERMINATED (R)














































TEXT THAN THEN (R)














































TIME TIMESTAMP TIMESTAMPADD














































TIMESTAMPDIFF TINYBLOB (R) TINYINT (R)














































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














































TRANSACTION TRIGGER (R) TRIGGERS














































TRUE (R) TRUNCATE TYPE














































TYPES UNCOMMITTED UNDEFINED














































UNDO (R) UNDOFILE UNDO_BUFFER_SIZE














































UNICODE UNINSTALL UNION (R)














































UNIQUE (R) UNKNOWN UNLOCK (R)














































UNSIGNED (R) UNTIL UPDATE (R)














































UPGRADE USAGE (R) USE (R)














































USER USER_RESOURCES USE_FRM














































USING (R) UTC_DATE (R) UTC_TIME (R)














































UTC_TIMESTAMP (R) VALIDATION[ad] VALUE














































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














































VARCHARACTER (R) VARIABLES VARYING (R)














































VIEW VIRTUAL[ae] (R) WAIT














































WARNINGS 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)














































ZEROFILL (R)    














































[a] ACCOUNT: added in 5.7.6 (nonreserved)

[b] ALWAYS: added in 5.7.6 (nonreserved)

[c] CHANNEL: added in 5.7.6 (nonreserved)

[d] COMPRESSION: added in 5.7.8 (nonreserved)

[e] ENCRYPTION: added in 5.7.11 (nonreserved)

[f] FILE_BLOCK_SIZE: added in 5.7.6 (nonreserved)

[g] FILTER: added in 5.7.3 (nonreserved)

[h] FOLLOWS: added in 5.7.2 (nonreserved)

[i] GENERATED: added in 5.7.6 (reserved)

[j] GROUP_REPLICATION: added in 5.7.6 (nonreserved)

[k] INSTANCE: added in 5.7.11 (nonreserved)

[l] JSON: added in 5.7.8 (nonreserved)

[m] MASTER_TLS_VERSION: added in 5.7.10 (nonreserved)

[n] MAX_STATEMENT_TIME: added in 5.7.4 (nonreserved); removed in 5.7.8

[o] NEVER: added in 5.7.4 (nonreserved)

[p] NONBLOCKING: removed in 5.7.6

[q] OLD_PASSWORD: removed in 5.7.5

[r] OPTIMIZER_COSTS: added in 5.7.5 (reserved)

[s] PARSE_GCOL_EXPR: added in 5.7.6 (reserved); became nonreserved in 5.7.8

[t] PRECEDES: added in 5.7.2 (nonreserved)

[u] REPLICATE_DO_DB: added in 5.7.3 (nonreserved)

[v] REPLICATE_DO_TABLE: added in 5.7.3 (nonreserved)

[w] REPLICATE_IGNORE_DB: added in 5.7.3 (nonreserved)

[x] REPLICATE_IGNORE_TABLE: added in 5.7.3 (nonreserved)

[y] REPLICATE_REWRITE_DB: added in 5.7.3 (nonreserved)

[z] REPLICATE_WILD_DO_TABLE: added in 5.7.3 (nonreserved)

[aa] REPLICATE_WILD_IGNORE_TABLE: added in 5.7.3 (nonreserved)

[ab] ROTATE: added in 5.7.11 (nonreserved)

[ac] STORED: added in 5.7.6 (reserved)

[ad] VALIDATION: added in 5.7.5 (nonreserved)

[ae] VIRTUAL: added in 5.7.6 (reserved)

[af] WITHOUT: added in 5.7.5 (nonreserved)

[ag] XID: added in 5.7.5 (nonreserved)

Table 10.3 Keywords and Reserved Words Added in MySQL 5.7 Compared to MySQL 5.6

ACCOUNT ALWAYS CHANNEL
COMPRESSION ENCRYPTION FILE_BLOCK_SIZE
FILTER FOLLOWS GENERATED (R)
GROUP_REPLICATION INSTANCE 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)
VALIDATION VIRTUAL (R) WITHOUT
XID    

Table 10.4 Keywords and Reserved Words Removed in MySQL 5.7 Compared to MySQL 5.6

OLD_PASSWORD    

总结

以上是詳解MySQL5.7中的關鍵字與保留字的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn