前提:创建一个空表:id,name,hire_data,salary,
1.没有指明添加的字段,*必须* 按照表中字段的顺序添加 INSERT INTO emp1 VALUES(1,'Tom','2000-12-03',2300); 2.指明要添加的字段,表中字段可以不写全 INSERT INTO emp1(id,hire_data,salary,name) VALUES(2,'1999-02-03',3500,'Petter'); 3.同时插入多条记录 INSERT INTO emp1(id,hire_data,salary,name) VALUES (3,'2001-01-02',3000,'Jim'), (4,'1998-12-05',4000,'托尼');
#查询的表的字段一定要与添加的字段 *一一对应* #提前检查字段内容是否 *越界*,如果越界,有添加不成功的风险,则要修改 INSERT INTO emp1(id,hire_data,salary,name) SELECT employee_id,hire_data,salary,name FROM employees WHERE department_id IN (60,70);
UPDATE ... SET ...WHERE
#修改一行数据 UPDATE emp1 SET hire_data = '1990-01-23' WHERE id =4; #修改多行数据 UPDATE emp1 SET salary = 5600,hire_data = '1996-02-24' WHERE id =3;
修改时会有可能修改不成功(可能约束条件造成的)
也可以试一下输入
set sql_safe_updates =0;(执行前)
DELETE FROM ... WHERE
DELETE FROM emp1 WHERE id = 1;
删除时会有可能删除不成功(可能约束条件造成的)
注:关于删除后是否会回滚,可以看我的上一篇文章:https://www.cnblogs.com/wht-de-bk/p/15982191.html 情况表和拓展一
alter table emp1 #注意:最好用大写 add `add` int GENERATED always as (id + salary) virtual;