數據處理增刪改DML
由于約束,以下操作都有可能執行失敗(后面講約束)
插入數據
INSERT
基礎添加:VALUES
值的順序必須和表中字段順序相同
INSERT INTO class
VALUES(1,'王小',10);
向指定字段添加:
值的順序和指定字段順序相同,不需要全部指定,在可以添加NULL的情況下。
INSERT INTO class(id,class_name)
VALUES(2,'明小);
同時插入多條數據:
用逗號分開多條數據
INSERT INTO class
VALUES(3,'白小',11),(4,'李小',10);
將查詢結果添加:
組合語句,從另一個表中查詢結果插入現表,不用寫VALUES
INSERT INTO class(id,class_name)
SELECT employee_id,last_name
FROM employees
WHERE department_id = 60;
SELECT 后的字段需要和表名后的字段對應,且兩個的數據類型相同
同時注意長度,例如last_name VARCHAR(25),而class_name VARCHAR(16),
有可能報錯,具體看其記錄是否超過16個字符。
更新數據
UPDATE
可以一次更新多條
UPDATE class
SET age = 10,id = 5
WHERE id = 103;
刪除數據
DELETE
DELETE FROM class
WHERE id BETWEEN 105 AND 107;
若以上操作需要回滾數據,SET AUTOCOMMIT = FALSE
8.0新特性——計算列
某一列的值固定是由其他列運算的來的
在創建表CREATE TABLE和修改表ALTER TABLE可以增加計算列
CREATE TABLE tb1(
id INT,
a INT,
b INT,
c INT GENERATED ALWAYS AS (a+b) VIRTUAL
);
設置字段c是計算列,其值是a+b得來的
INSERT INTO tb1(id,a,b)
VALUES(1,5,10);
C的記錄自動添加