[数据库基础]——编码标准之格式
阅读导航
代码就像家里的各种物品,格式化就好比对家中物品的排放。家中的物品随便怎么放,物品都不会反对,房子也不会介意,但是物品的排放合理、规整,会让家里变得更具有美感。代码也是一样,代码写成什么样子,代码不会反对,计算机也不会介意(除非不能运行),但是毕竟还是会有人来欣赏、维护这些代码,这时候具有很好格式的代码就显得尤为重要了。
SQL关键字
所有的SQL关键字大写。
SELECT,UPDATE,DELETE,INSERT INTO,CRETAE DATABASE,ALTER DATABASE,CREATE TABLE,ALTER TABLE,DROP TABLE,CREATE INDEX,DROP INDEX,LIKE,IN,INSERT、LEFT、RIGHT、FULL JOIN,CONSTRANIT,UNIQN,CHECK,VIEW等等。
1: CREATE DATABASE myDemo;
2:
3: CREATE TABLE Orders
4: {
5: [OrdersID] int NOT NULL,
6: [OrdersNo] int NOT NULL,
7: [CreateDate] datetime NOT NULL DEFAULT GETDATE(),
8: [Decription] varchar(200),
9: [CustomersID] int NOT NULL
10: }
11:
12: ALTER TABLE Orders
13: ADD CONSTRAINT pk_OrdersID PRIMARY KEY ([OrdersID])
14:
15: ALTER TABLE Orders
16: ADD CONSTRAINT fk_Orders_Customers
17: FOREIGN KEY ([CustomersID])
18: REFERENCES Customers([Customers])
19:
20: SELECT Customers.CustomersName, Orders.OrdersID
21: FROM Customers
22: INNER JOIN Orders
23: ON Customers.CustomersID=Orders.CustomersID
24: ORDER BY Customers.CustomersName
代码缩进
为了提高代码美感和可读性,代码缩进是必不可少的。一般的缩进的标准是以四个空格为单位或TAB键为单位,
1: IF NOT EXISTS( SELECT [OrdersID] FROM [Orders]
2: WHERE [CustomersID] = @CustomersID AND
3: [OrdersNo] = @OrdersNo )
4: BEGIN
5: INSERT INTO [Orders]
6: (
7: [OrdersID],
8: [OrdersNo],
9: [CreateDate],
10: [Decription],
11: [CustomersID]
12: )
13: VALUES
14: (
15: NEWID(),
16: @OrdersNo,
17: GETDATE(),
18: '',
19: @CustomersID
20: )
21: SET @error = @@ERROR
22: IF (@error <> 0) GOTO ExitPoint
23: END
注释
代码逻辑更易懂,最好添加表要的注释,这样对于codereview和维护都是有大大滴好处。
“--”:单行注释
“/*……*/”:多行注释
1: -- 创建名字为myDemo的数据库
2: CREATE DATABASE myDemo;
3: /*
4: 创建数据库表
5: 表名为Orders
6: */
7: CREATE TABLE Orders
8: {
9: [OrdersID] int NOT NULL
10: }
括号
使用括号增加可读性
1: SELECT [OrdersID]
2: FROM [ORDERS]
3: WHERE
4: (
5: CustomersID = '12345678'
6: AND ([Description] LIKE '%computer%' OR [Description] LIKE '%phone%'
7: )
空格
SQL内算数运算符和逻辑运算符连接的两个元素须用空格分隔。逗号如果不是一行的结束,要在逗号后面加空格。
代码示例请参照上面的例子
应该还有很所关于格式化的规则,由于本人设计数据尚浅,接触的数据库也不是特别多,还希望大家帮忙补充
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· [AI/GPT/综述] AI Agent的设计模式综述