在MySQL語句中我們有時候常常會遇到反引號(``),剛開始的時候不知道什麼意思,他是什麼作用呢?
Select * from `member` order by posts desc limit 0,10;
#它是為了區分MYSQL的保留字與普通字符而引入的符號。
舉例:SELECT `select` FROM `test` WHERE select='欄位值'
在試題表中,有個select字段,如果不用反引號,MYSQL將把select視為保留字而導致出錯,所以,有MYSQL保留字作為字段的,必須加上反引號來區分。
引號一般用在欄位的值,如果欄位值是字元或字串,則要加引號,如:select='字段值'
不加反引號建的表格不能包含MYSQL保留字,否則出錯
#反引號`,數字1左邊的符號。
保留字不能用於表名,例如desc,此時需要加入反引號來區別,但使用表名時可忽略反引號。
create table desc報錯誤
create table `desc`成功
create table `test `成功
drop table test成功
#保留字不能用於欄位名稱,例如desc,此時也需要加入反引號,且insert等使用時也要加上反引號。
create table `test`(`desc` varchar(255))成功
insert into test(desc) values('fxf' )失敗
insert into test(`desc`) values('fxf')成功
##
#mysql常見的保留字
使用mysql
時一定要注意,不要使用它的保留字作為表名或列名,否則會出現莫名其妙的錯誤。
昨天建了一個表,其中一列名為interval(時間間隔),結果資料死都插不進去,最後才發現原來interval是mysql的保留字。
以後出現類似的錯誤要先想想是不是因為表名或列名衝突造成的啊。
#ALL | ALTER||
AND | AS | |
敏感 | #之前 | |
BIGINT | BINARY | |
##BOTH | BY | |
CASCADE | CASE | |
CHAR | 字元 | |
整理 | 列 | |
連接 | 約束 | |
#轉換 | 建立交叉 | |
目前 | _#日期CURRENT_TIME | CURRENT_TIMESTAMP |
遊標 | 資料庫 | |
DAY_HOUR | #DAY_MICROSECOND | |
DAY_SECOND | DEC | |
DECLARE | 預設 | |
##刪除 | DESC | |
確定性 | DISTINCT | |
##p | 雙 | |
雙 | 每個 | |
ELSE | #ELSE如果 | |
存在 | 退出 | |
FALSE | #FETCH | |
#FLOAT4 | FLOAT8 | |
FORCE | FOREIGN | |
全文 | #前往 | |
#授予群組 | 有 | |
小時_微秒 | 小時_分鐘 | |
# #小時_秒 | ||
###忽略######IN######INDEX############ IN###FILE### | INNER | INOUT |
不敏感 | INSERT | INT |
#INT1 | INT2 | INT3 |
#INT4 | INT8 | # INTEGER |
INTO | #IS | |
JOIN | ##KEY | KEYS |
LABEL | 領先 | |
#左 | LIKE | |
#線性 | 線路 | |
本地時間 | 本地時間戳記 | |
LONG | LONGBLOB | |
##LOOP | # LOW_PRIORITY | |
MEDIUMBLOB | #MEDIUMINT | |
#MID | DLEINT | 分鐘_微秒 |
修改 | ##修改 | |
# #自然 | NOT | |
##NULL | #NUMERIC | |
最佳化 | 選項 | |
或 | ##順序 | # OUT |
#OUTFILE | 精度 | |
程式 | 清除 | |
範圍 | ||
READSREAL | 參考#REGEXP | |
重命名重複 | ##替換||
#限制 | #返回 | |
##撤銷 | 正確 | |
架構 | 架構 | SECOND_MICROSECOND |
#選擇 | SENSITIVE | ##SEPARATOR|
##SET###SHOW######SMALLINT###################SPECIFIC######SQL# ####### ####SQL####異常### | SQLSTATE | SQLWARNING |
SQL_BIG_RESULT | SQL_CALC_FOUND_ROWS | SQL_SMALL_RESULT |
SSL | STARTING | STRAIGHT_JOIN |
#TABLE | TERMINATED | THEN |
TINYBLOB | TINYINT | TINYTEXT |
TO | #TRAILING | #TRIGGER |
TRUE | UNDO | UNION |
UNIQUE | UNLOCK | UNSIGNED |
UPDATE | USAGE | USE |
USING | UTC_DATE | UTC_TIME |
#UTC_TIMESTAMP | VALUES | VARBINARY |
#VALUES | VARBINARY | |
VARCHARACTER | VARYING | #WHEN | ##WHERE
WHILE | WITH | |
X509 | XOR |
註:MySQL允許部分關鍵字用來做未引起來的識別符,因為許多人以前曾經使用過它們。如:
ACTION
以上是在mysql語句中為什麼要加反引號的詳細內容。更多資訊請關注PHP中文網其他相關文章!