MySQL---数据表中数据的增删改操作

MySQL—数据表中数据的增删改操作

增加数据(插入数据)

一条一条的添加数据
  • 未指明添加的字段,一定要按照声明的字段的先后顺序进行执行
INSERT INTO emp1
VALUES (1,'Tom','2000-12-21',3400);
  • 指明要添加的字段,没有进行赋值 的hire_date的值为null
INSERT INTO emp1(id,hire_date,salary,name)
VALUES (1,'2000-12-21',4000,'Jim');
  • 同时插入多条数据
INSERT INTO emp1(id,name,salary)
VALUES (5,'keiven',5000),(4,'marry',1000);
将查询的结果插入到表中

查询的字段一定要与添加到的表的字段一一对应

待添加表中的字段不能低于查询输入得到的字段长度,如果低于,会出现添加失败的风险

INSERT INTO emp1 (id,name,salary,hire_date)
SELECT employee_id,last_name,salary,hire_date
FROM atguigudb.employees
WHERE department_id IN (60,70)

更新数据(修改数据)

UPDATE …SET …WHERE 天然可以实现批量数据的更改

UPDATE emp1
SET hire_date= CURDATE()
WHERE id=5;

同时修改一条数据的多个字段

UPDATE emp1
SET hire_date= CURDATE(),salary=2000
WHERE id=4;

修改数据,可能存在不成功的情况,可能是由于约束的影响造成的

删除数据

DELETE FROM … WHERE…

DELETE FROM emp1
WHERE id=4; 

删除数据时,也有可能因为约束的影响,导致删除失败

DML 操作默认情况下,执行完以后都会自动提交数据

如果希望执行完以后不自动提交数据,则需要使用 SET autocommit = FALSE

综合练习

  • 创建数据库test01_library
CREATE DATABASE IF NOT EXISTS test01_library CHARACTER SET 'utf8';

USE test01_library;
  • 创建表book;
CREATE TABLE IF NOT EXISTS books (
id INT,
name VARCHAR(50),
authors VARCHAR(100),
price FLOAT,
pubdate YEAR,
note VARCHAR(100),
num INT
)
  • 向表中添加数据
    • 不指定字段名称,插入一条数据
INSERT INTO books
VALUES(1,'Tal of AAA','Dickes',23,1995,'novel',11);

​ 指定所有字段名称,插入第二条记录

INSERT INTO books(id,name,authors,price,pubdate,note,num)
VALUES(2,'EMMaT','Jane Lura',35,1993,'joke',22);

​ 同时添加多条记录

INSERT INTO books(id,name,authors,price,pubdate,note,num)
VALUES(3,'test','test',35,1993,'joke',22),
(4,'arc','Jane',35,1993,'joke',22);
  • 将小说类型noval的书增加5
UPDATE books
SET price=price+5
WHERE note='novel'
  • 将名称为EmmaT的书的价格改为40,并将说明改成damma
UPDATE books
SET price=40,note='damma'
WHERE name='EMMaT'
  • 删除库存为22的记录
DELETE FROM books
WHERE num=22;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值