DML操作資料庫
阿新 • • 發佈:2021-12-21
DML是什麼
DML的功能主要是訪問資料 因此其研發都是以讀取與寫入資料庫為主 除了insert以外,其他指令都能搭配where指令來過濾資料範圍 或是不加where指令來訪問全部的資料。
DML(資料操作語言) 用於操作資料庫物件中所包含的資料。
包括: insert( 新增資料語句) update(更新資料語句) delete(刪除資料語句)
INSERT(新增資料語句)
注意事項:
- 插入值 型別必須和列型別匹配
- 值長度不能超過 列定義長度
- 值的順序和列的順序對應
- 字串和日期型別值 必須寫單引號
- 插入空值 可以寫null
UPDATE(更新資料語句)
語法 update 表名 set 列名=值 , 列名 = 值...... where 條件語句
真正修改的內容是set後面的
where的作用是定位 - 選擇 限制
如果不加where條件語句的話 會作用在所有的記錄上
where 條件字句: 有條件的從表中篩選資料
delete (刪除資料語句)
語法: delete from 表名 where 條件語句
如不指定刪除該表的所有列資料
truncate 命令
用於完全清空表資料 但表結構 約束等不變
truncate和delete的區別:
truncate 表名 命令將快速刪除資料表中的所有記錄 但保留資料表結構
這種快速刪除與delete from 資料表的刪除全部資料表不一樣 delete 命令刪除的資料將儲存在系統回滾段中
需要的時候 資料可以回滾恢復 而truncate 命令刪除的資料是不可以恢復的。
最直觀是:
truncate table 是非常快的 delete相對快一些
truncate 之後的自增欄位從頭開始計數了 而delete 的扔保留原來的最大數值
truncate 刪除的資料不可恢復 delete刪除的資料可以恢復
查詢之運算子
- 相等 = 不等<> 或者 !=
- between ....and.... 在兩者之間取值 between 70 and 80 等價於 >=70 <80 注意: 前面那個資料要比好嗎那個數要小
- in(值,值,值,) 在指定值中任取一個 in(70,80,90) 值可以是 70 80 或者90
- like 模糊查詢 表示式有兩個佔位符 % 例如: name like '張%' 第一個政府1是張的 name like'%張%' 字元裡面帶張的
- is null 判斷該列值為空 is not null 判斷不是為null
- and 邏輯與 or 邏輯或 not 邏輯非