這週在幫同事的安裝程式中嵌入mysql時,遇到在linux平台移植dml指令碼錯誤的問題,具體定位到是mysql在window平台預設對錶名大小寫不敏感,而mysql在linux平台預設表面是大小寫敏感的。
由於sql語言沒有官方的書寫規範,因此每個人在編寫儲存過程中遵循的都是不同的規則,而差的sql語言書寫規範會導致閱讀性變差,跨平台性變差。 因此,我開始準備著手收集一些優秀的sql語言書寫規範,其中打鉤的,是推薦遵守的。
0、sql語言應正確、規範、高效和最優;(書寫目標)√
1、在同乙個專案中,sql遵守同一書寫規範;(提高**閱讀性)√
2、建議sql的表名、列明小寫,系統保留字、內建函式大寫;(不同資料庫或者平台,對大小寫敏感設定都是不同的,提高sql移植性)√
3、or、and、in等連線符前後加上空格;(提高**閱讀性)
4、使用insert語句時,應指定插入的欄位名,不建議直接插入values;(防止資料錯位)√
insert into runoob_tbl
(runoob_title, runoob_author, submission_date)
values
("學習 php", "菜鳥教程", now());
5、使用select語句時,應指定列名,不建議使用*代替;(提高sql執行速度)√
select
list.manifest_no,
list.bill_no,
stat.list_stat
from
mft_list list,
list_stat stat
where
list.manifest_no = stat.manifest_no
and list.bill_no = stat.list_no;
6、表資料盡量使用英文、當確定表資料會出現中文時,應當建表時設定好字符集-utf8;(提高容錯性)√
create table if not exists `runoob_tbl`(
`runoob_id` int unsigned auto_increment,
`runoob_title` varchar(100) not null,
`runoob_author` varchar(40) not null,
`submission_date` date,
primary key ( `runoob_id` )
)engine=innodb default charset=utf8;
SQL書寫規範
1 語句中出現的所有表名 欄位名全部小寫,系統保留字 內建函式名 sql保留字大寫 sql不區分大小寫 2 連線符or in and 以及 等前後加上乙個空格。3 對較為複雜的sql語句加上注釋,說明演算法 功能。注釋風格 注釋單獨成行 放在語句前面。1 應對不易理解的分支條件表示式加注釋 2 對重...
sql語句書寫規範
一 sql書寫規範 1 sql語句的所有表名 欄位名全部小寫,系統保留字 內建函式名 sql保留字大寫。2 連線子or in and 以及 等前後加上乙個空格。3 對較為複雜的sql語句加上注釋,說明演演算法 功能。注釋風格 注釋單獨成行 放在語句前面。1 應對不易理解的分支條件表示式加注釋 2 對...
Verilog HDL 語言書寫規範
型別 命名方式 例項頂層檔案 物件 功能 top video online top.v 邏輯控制檔案 物件 ctr ddr ctr.v 驅動程式 物件 功能 dri lcd dri.v 引數檔案 物件 para lcd para.v 模組介面 特徵域 檔名 u mcb read c3 mcb rea...