[C#] 產生 MSSQL Table DML SQL 語法

[C#] 產生 MSSQL Table DML SQL 語法

當我們要在資料表內操作資料時,最常執行的指令就是 Select, Insert, Update, Delete 這 4 種動作。
而這 4 種動作在資料庫內也稱為 DML (Data Manipulation Language) 資料操作語言。
當在編寫 SQL 指令時為了加快速度,先把完整的 SELECT, INSERT, UPDATE, DELETE 語法都產生出來,再填入資料就可以快速完成 SQL。

在 SSMS (Microsoft SQL Server Management) 管理工具內已有此功能,可以針對一個 Table 產出對應的 DML SQL,執行位置在 Table 按右鍵 > 編寫資料表的指令碼為 > SELECT 至

另外也可以產生 INSERT, UPDATE, DELETE 的 DML SQL。

由工具產出 SQL 再填入資料就完成了,是不是方便許多。

接下來我會示範如何用 C# 產出 DML SQL,包含 SELECT, INSERT, UPDATE, DELETE,並額外增加 Primary Key 為條件欄位(WHERE)。

範例建置環境
前端架構: Vue.js, jQuery, Bootstrap
後端架構: C# ASP.Net MVC .Net Framework
資料庫: MSSQL

使用 Visual Studio 建立 ASP.Net MVC 專案,我用新專案為範例說明,最下方會提供此範例下載。
在資料庫部份需要自行建立,我有提供 Table Schema 可以參考,程式內有連線資料庫的方法。

建立 Table Schema

以下是我示範的 Table,有 4 個欄位並建立一個 Primary Key 欄位

我在本機上建立此 Table

範例畫面

我設計一個簡單的範例畫面,提供資料庫連線及產生 DML SQL。

執行後會產生 SELECT, INSERT, UPDATE, DELETE 完整的 SQL 語法,若有 Primary Key 欄位則會增加 Where 條件。

HTML 前端 View 語法

Javascript 前端 View 語法

C# 後端 Controller 語法

想要取得 Table 的欄位資訊可以查詢系統資料表 INFORMATION_SCHEMA.Columns
而 Primary Key 的資料會放在 INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE
由這兩個Table 組合就可以產生必要的欄位。
另外如果想要查詢資料庫所有的 Table 資料可以查詢 INFORMATION_SCHEMA.Tables

C# 後端 Model 語法

更多的應用

以上的程式碼範例就可以產生 Table 的 SELECT, INSERT, UPDATE, DELETE SQL 語法,方便在開發專案時快速編寫 SQL。
當知道如何用 SQL 取得資料庫內 Table 欄位時,可以應用的方式就很多,例如自動產生DAO (Data Access Object) 物件或是 Model 物件,將資料表欄位物件化成 Entity 之後,程式就變的更好處理了。

範例下載

連結 GitHub 下載範例

相關學習文章

如果你在學習上有不懂的地方,需要諮詢服務,可以參考站長服務,我想辨法解決你的問題
如果文章內容有過時、不適用或錯誤的地方,幫我在下方留言通知我一下,謝謝

加入社團一起討論

關注我的 IG