1. 程式人生 > 實用技巧 >SQL語言之DML

SQL語言之DML

1、DML的基本介紹(增刪改)

DML(Data Manipulation Language,修改資料):DML就是用來增刪改表中的資料的,為使用者提供新增、刪除、更新資料的能力,這些是應用程式對資料庫的日常操作。

2、新增資料(insert)

INSERT INTO 語句用於向表中插入新記錄。新增資料的語法:

INSERT INTO table_name VALUES (value1,value2,value3,...);    # 無需指定要插入資料的列名,只需提供被插入的值即可。此時預設要給所有的列都新增值,如果值數量少了會報錯。
INSERT INTO table_name (column1,column2,column3,...) VALUES
(value1,value2,value3,...); # 指定列名及被插入的值。此時列名和值的數量和資料型別都要一一對應,否則會報錯。

欄位順序不必和資料庫表的欄位順序一致,但值的順序必須和欄位順序一致。除了數字型別,其他型別的值都需要用引號(單引號或者雙引號都可以)引起來。

還可以一次性新增多條記錄,只需要在VALUES子句中指定多個記錄值,每個記錄是由小括號()包含的一組值:

INSERT INTO table_name (column1,column2,column3,...) VALUES (value1,value2,value3,...), (value4,value5,value6,...) ;
# 程式碼示例: INSERT INTO students (class_id, name, gender, score) VALUES (1, '大寶', 'M', 87),(2, '二寶', 'M', 81);

3、刪除資料(delete)

DELETE 語句用於刪除表中的記錄。語法:

DELETE FROM 表名 WHERE 篩選條件;  # 不帶WHERE條件的DELETE語句會刪除整個表的資料。如果WHERE條件沒有匹配到任何記錄,DELETE語句不會報錯,也不會有任何記錄被刪除。

#示例:
DELETE FROM students;  # 刪除整個student表的資料
DELETE
FROM students WHERE id=1; DELETE FROM students WHERE id>=5 AND id<=7;

如果要刪除掉整個表的資料不建議使用 delete 語句,因為有多少條資料就會執行多少次 delete 語句,效率偏低。

4、修改資料(update)

UPDATE 語句用於更新表中的記錄。

UPDATE 表名 SET 列名=值,列名=值,... WHERE 條件;  # UPDATE語句可以沒有WHERE條件,這時整個表的所有記錄都會被更新。。如果WHERE條件沒有匹配到任何記錄,UPDATE語句不會報錯,也不會有任何記錄被更新

#示例:
UPDATE students SET score=60;  # 整個student表的所有記錄都會被更新
UPDATE students SET name='大牛', score=66 WHERE id=1;
UPDATE students SET name='小牛', score=77 WHERE id>=5 AND id<=7;  # 一次更新多條資料
UPDATE students SET score=score+10 WHERE score<80;  # 在更新資料時可以使用表示式