詳解MySQL5.7中的關鍵字與保留字
最近在將資料從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版本刪除的保留字。
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中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

深入解析C語言中static關鍵字的功能和用法在C語言中,static是一種非常重要的關鍵字,它可以被用於函數、變數和資料類型的定義。使用static關鍵字可以改變物件的連結屬性、作用域和生命週期,以下就來詳細解析一下static關鍵字在C語言中的作用和用法。 static變數與函數:在函數內部使用static關鍵字定義的變數稱為靜態變量,它具有全域生命週

標題:C語言中go是關鍵字嗎?詳細解析在C語言中,"go"並不是一個關鍵字。 C語言的關鍵字是由C標準規定的,用來表示特定的語法結構或功能,在編譯器中有特殊的意義,不能被用來當作標識符或變數名稱。例如,關鍵字"int"表示整數資料型別,"if"表示條件語句等等。如果我們想要驗證在C語言中"go"是否是關鍵字,可以寫一個簡單的程式來測試。下面是一個範例:#inc

PHP中var關鍵字的作用和範例在PHP中,var關鍵字用來聲明一個變數。在先前的PHP版本中,使用var關鍵字是宣告成員變數的慣用方式,現在不再建議使用。然而,在某些情況下,var關鍵字依然會被使用。 var關鍵字主要用於宣告一個局部變量,並且會自動將該變數標記為局部作用域。這意味著該變數僅在當前的程式碼區塊中可見,並且不能在其他函數或程式碼區塊中存取。使用var

在go語言中,while不是關鍵字,可以用for語句加break來實現while循環的效果,例「for {sum++ if sum>10{break}else{...}}」。 go語言有break、default 、func、select、case、defer、go、map、else、goto、for、if、var等25個關鍵字。

C語言的關鍵字共有32個,根據關鍵字的作用,可分其為資料類型關鍵字、控制語句關鍵字、儲存類型關鍵字和其它關鍵字四類。資料型別關鍵字有12個,包括char、double、float、int等;控制語句關鍵字有12個,包括for、break、if、else、do等;儲存類型關鍵字有4個,包括auto、static 、extern等;其它關鍵字有4個,包括const、sizeof等。

PHP中require關鍵字的作用與使用方法詳解在PHP開發中,require是非常常用的關鍵字。它的作用是將指定的檔案包含進來,以供目前腳本使用。本文將詳細講解require關鍵字的作用與使用方法。一、require關鍵字的作用require關鍵字可以將一個檔案的內容包含到目前腳本中。它通常用於包含一些必要的外部文件,例如庫文件、配置文件等。使用req

Go語言的關鍵字有:基本關鍵字:const、func、type、var、if、else、for、return資料型別相關關鍵字:bool、string、int、float64、interface{}、map、slice其他關鍵字:break、continue、defer、go、select、range

PHP中extends關鍵字的作用和使用方法詳解在PHP程式設計中,extends是一個非常重要的關鍵字,它用來實現類別的繼承。透過extends關鍵字,我們可以建立一個新的類,這個新類別可以繼承一個或多個已有的類別的屬性和方法。繼承是物件導向程式設計中的重要概念,它使得程式碼的複用和擴展變得更加方便和靈活。本文將詳細介紹extends關鍵字的作用與使用方式。 extends
