資料庫的目的是讓使用者新增、更新、管理、存取的工具、功能和介面組合。
當中的核心-資料庫,也就是CRUD(Create建立、Delete刪除、Read查詢讀取、Update修正更新)的功能表現。
SQL全稱是 Structured Query Language,是一種資料庫查詢和程式設計語言,用於存取資料以及查詢、更新和管理關聯式資料庫系統。
內部系統採用是ASP.Net架構,使用MSSQL(SQLServer),雖然專案使用MySQL,基本上相去不遠。透過API都是一家人,作為一名5年的資料庫管理員enduser 還是要涉略一些SQL的。
雖然內部對話語言常常是 A系統的B資料表的C欄位,複製到F系統的G欄位。呈現一種換句話說的能力。溝通就是溝能夠通就是了,不管是SQLServer還是MySQL:
- (略)更多使用,w3c都查詢得到~
顯示數據庫中的某些欄位資料
select column1, column2 from table_name;
distinct 過濾重複資料
select distinct column1 from table_name;
計算筆數
select count(distinct column1) from table_name;
查詢column_name指定XXX where
select * from table_name where column_name = "XXX";
反過來 不是XXX 用法
select * from table_name where Not column = "XXX";
查找 value X
select * from table_name where column_name = 'X'; 單一條件
select * from table_name where column_name ='X' and 'Y' ; 同時滿足兩個條件
select * from table_name where column_name ='X' or 'Y' ; 同一欄位滿足其一條件
查找 is null
select column_name from table_name where column_name is null;
select column_name1 from table_name where column_name2 is null;
查詢 table_name 按**順序**排列 ORDER BY (預設ASC)
ASC=ASCENDING(上升) ABC…123…
DESC=DESCENDIN(下降) ZYX…321…
select * from table_name order by column_name1,column_name2..; // column_name 按預設排列
select * from table_name order by column_name DESC; // column_name 按倒序排列
select * from table_nam![https://ithelp.ithome.com.tw/upload/images/20231008/20154961QBI2S7oj4v.png](https://ithelp.ithome.com.tw/upload/images/20231008/20154961QBI2S7oj4v.png) order by column_name1 ASC,column_name2 DESC;
insert into 確保值的順序與表中列的順序相同。
指定要插入的列名稱和值
insert into table_name (column1, column2, column3, ...)
values (value1, value2, value3, ...);
Join 資料表 // 取自 w3schools舉例
SELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate
FROM Orders
INNER JOIN Customers
ON Orders.CustomerID=Customers.CustomerID;
工欲善其事,必先利其器,語句語法都是工具,真正的利刃,還是資料庫的正規化和標準化,才能使後續再使用發揮最大效益。
附上一張最後整理出來的圖解語句