mysql詞法分析和語法分析


如果沒有命中查詢緩存,就要開始真正執行語句了。首先,MySQL 需要知道你要做什么,
因此需要對 SQL 語句做解析。
分析器先會做“詞法分析”。你輸入的是由多個字符串和空格組成的一條 SQL 語句,
MySQL 需要識別出里面的字符串分別是什么,代表什么。
MySQL 從你輸入的"select"這個關鍵字識別出來,這是一個查詢語句。它也要把字符
串“T”識別成“表名 T”,把字符串“ID”識別成“列 ID”。
做完了這些識別以后,就要做“語法分析”。根據詞法分析的結果,語法分析器會根據語法
規則,判斷你輸入的這個 SQL 語句是否滿足 MySQL 語法。
如果你的語句不對,就會收到“You have an error in your SQL syntax”的錯誤提醒,比
如下面這個語句 select 少打了開頭的字母“s”。

 

問題:為什么詞法分析沒發現elect不對,而在語法分析里拋出這個錯誤?


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM