sql語句,加引號和不加引號的區別


今天碰到個問題,查詢數據的時候,顯示表不存在,在可視化窗口確實能看見。試着給表名加個引號,發現能成功查詢數據了。上網查詢原因如下:

 

1、oracle表和字段是有大小寫的區別。oracle默認是大寫,如果我們用雙引號括起來的就區分大小寫,如果沒有,系統會自動轉成大寫。 

2、我們在使用navicat使用可視化創建數據庫時候,navicat自動給我們加上了“”。這樣我們在創建數據庫時實際的代碼是這樣的:(通過到處sql語句的文件,這樣就不難理解我們為什么找不到表了。)

DROP TABLE "ROOT"."user";
CREATE TABLE "ROOT"."user" (
"userid" NUMBER(2) NOT NULL 
)

這是通navicat可視化創建表的結果,其他sql工具未做測試。

如果我們通過手動寫sql創建,即使表名寫成小寫(注意:沒有引號),oracle數據庫會自動轉換成大寫,字段也一樣。

如果sql中我們給表名或者字段名加了引號,則如同navicat可視化創建一樣,我們指定了大小寫,oracle數據庫不會自動做轉換的。

所以

  1.建議我們的可視化操作者還是養成手寫sql語句的習慣,我們在創建的時候就不要使用了雙引號!這樣我們就可以到達像mysql等一樣不區分大小寫了。

  2.建議我們盡量養成大寫操作數據庫的習慣。

  


免責聲明!

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



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