数据处理之增删改
作者:互联网
数据处理之增删改:
-
插入数据:
方式1:
使用 INSERT 语句向表中插入数据。
#数据处理之增删改
#储备工作
USE atguigudb;
CREATE TABLE IF NOT EXISTS emp1(
id INT,
`name` VARCHAR(15),
hire_date DATE,
salary DOUBLE(10,2)
);
DESC emp1;
SELECT *
FROM emp1;
#添加数据
#方式1:一条一条添加数据
#① 没有指明添加的字段
INSERT INTO emp1
VALUES (1,'Tom','2000-12-21',3400); #一定要按照声明的字段的先后顺序添加
#② 指明要添加的子段
INSERT INTO emp1(id,hire_date,salary,`name`)
VALUES (2,'1999-09-09',4000,'jerry');
#没有进行赋值的hire_date 的值为null
INSERT INTO emp1(id,salary,`name`)
VALUES (3,4000,'jerry');
#③
INSERT INTO emp1(id,NAME,salary)
VALUES(4,'jim',5000),
(5,'madam',5500);
小结:
VALUES 也可以写成 VALUE ,但是VALUES是标准写法。
字符和日期型数据应包含在单引号中。
方式2:将查询结果插入到表中
INSERT还可以将SELECT语句查询的结果插入到表中,此时不需要把每一条记录的值一个一个输入,
只需要使用一条INSERT语句和一条SELECT语句组成的组合语句即可快速地从一个或多个表中向一个
表中插入多行。
图片
#方式2:将查询结果插入到表中
SELECT *
FROM emp1;
INSERT INTO emp1(id,NAME,salary,hire_date)
SELECT employee_id,last_name,salary,hire_date #查询的字段一定要与添加到的表的字段一一对应
FROM employees
WHERE department_id IN (70,60);
#注意:可能会有风险
-
更新数据:
使用 UPDATE 语句更新数据。语法如下:
图片
#更新数据 (修改数据)
#UPDATE ... SET ... WHERE ...
#可以实现批量修改数据的
UPDATE emp1
SET hire_date=CURDATE()
WHERE id=5; #只需要修改数据为5的数据
SELECT * FROM emp1
#同时修改一条数据的多个字段
UPDATE emp1
SET hire_date =CURDATE(),salary=6000
WHERE id=4;
#题目:将表中姓名中包含字符a的提薪20%
UPDATE emp1
SET salary=salary*0.20
WHERE name LIKE '%a%';
#修改数据时,是可能存在不成功的情况(也有可能由于约束的影响造成的)
-
删除数据:
使用 DELETE 语句从表中删除数据。
#删除数据 DELETE FROM ... WHERE ...
DELETE FROM emp1
WHERE id=1;
#小结:DML 操作默认情况下,执行完以后都会自动提交数据。
# 如果希望执行完以后不自动提交数据就,则需要使用 SET autocommit=FALSE。
标签:salary,INSERT,hire,数据处理,emp1,增删,数据,id 来源: https://www.cnblogs.com/zjwcoblogs/p/16589349.html