数据处理增删改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的记录自动添加