目录
一、什么是DML
二、数据插入insert
三、数据的修改update
四、数据的删除delete
五、delete和truncate有什么不同?
六、DML操作知识构图
七、DML操作练习
💟 创作不易,不妨点赞💚评论❤️收藏💙一下
一、什么是DML
DML是指数据操作语言,英文全称是Data Manipulation Language, 用来对数据库中表的数据记录进行更新。
基本操作关键字有:插入insert、删除delete、更新update
注意:DML对数据的操作只包含增删改,不包括查询
二、数据插入insert
语法格式:
-- 格式1
insert into 表 (列名1,列名2,列名3...) values (值1,值2,值3...); -- 向表中插入某些数据
-- 格式2
insert into 表 values (值1,值2,值3...); -- 向表中插入所有列
注意:列的顺序要和指的顺序要一一对应。有几列就有几个值,相同位置列—>对应相同位置值。况且这样的好处就是,可以为不同的列添加自己对应的值,如果没有列对应值添加,那么该列就不会有数据添加。
例子:给book表中添加数据
添加数据前:
添加数据:SQL语句
-- DML 数据操作语言
-- 1.数据的插入
-- 格式1:
-- 注意:列的顺序要对值的顺序对应,并且数据类型要匹配
-- 1.1添加一行
insert into book(bid,`name`,age,`desc`,price) values(1,'ljj',20,'我是一个程序猿',199.0)
-- 1.2添加一次性多行数据
insert into book(bid,`name`,age,`desc`,price) values
(2,'ljj1',22,'我是一个程序猿1',199.0),
(3,'ljj2',23,'我是一个程序猿2',594.0),
(4,'ljj3',25,'我是一个程序猿3',493.0),
(5,'ljj4',23,'我是一个程序猿4',299.0);
-- 1.3 添加单个数据或者几个数据;未添加数据对应列的值默认会为null
insert into book(bid) values(9);
insert into book(name,age) values('jack',18);
-- 格式2:
-- 注意:没有指定列,要按顺序添加所有值
-- 2.1直接添加值,他会从左至右,一一对应值;
-- 没有指定列的话,要一次性添加所有的值
insert into book(6,'jack',21,'你今天真美',988.0);
-- 2.2 添加多行
insert into book values
(6,'jack1',22,'你今天真美1',12.0),
(7,'jack2',26,'你今天真美2',223.0),
(8,'jack3',31,'你今天真美3',646.0);
注意:在编写sql语句的时候要注意【 ,逗号,分号;】 的使用,sql语句一般以分号结尾。总结:要注意细节。
添加数据后:
三、数据的修改update
语法格式:
-- 格式1
update 表名 set 字段名=值,字段名=值...;
-- 格式2
update 表名 set 字段名=值,字段名=值... where 条件;
例子:
-- 格式1:修改所有对应列的值
# 将所有的书的年龄修改为20
update book set age = 20;
-- 格式2:根据条件修改对应列的值 [关键字:where]
# 将id为5的书的姓名改为梅西
update book set name = '梅西' where bid = 5;
-- 格式2: 根据条件修改对应列的值 [关键字:where]
# 修改多列,直接逗号隔开
# 修改id小于5的年龄与描述
update book set age = 14 , `desc` = '2022世界杯' where bid < 5 ;
四、数据的删除delete
注意:drop 关键字是用于删除数据库或者删除表,不涉及到数据的删除。
语言格式:
-- 格式1
delete from 表名;
-- 格式2
delete from 表名 [where 条件]
-- 格式3
truncate table 表名
或者
truncate 表名
例子:
-- 3. 删除数据
-- 格式1:关键字 delete ; 条件 where
# 删除姓名为jack的书
delete from book where `name` = 'jack';
-- 格式2:关键字 delete ; 条件 where
-- 多添加删除关键字 and
# 删除bid为9,年龄为20的书
delete from book where bid = 9 and age = 20;
-- 格式1:关键字delete
-- 直接删除表中所有数据
delete from book ;
-- 格式3 : 关键字truncate
-- 清空表数据
truncate table book ;
-- table可省略
truncate book ;
五、delete和truncate有什么不同?
注意:delete和truncate的原理不同,delete只删除内容,而truncate类似于drop table ,可以理解为是将整个表删除,然后在创建一张新表;
六、DML操作知识构图
七、DML操作练习
根据要求,创建一个员工表,添加表数据并修改表数据。
-- DML操作练习
-- 1.创建表
/*
创建员工表emp,字段如下
id(员工编号),name(员工名字),gender(员工性别),salary(员工薪资)
*/
-- 选择指定数据库
# 方式一
use mysql1;
# 方式二
create table if not exists mysql1.emp(...)
-- 创建表emp
create table if not exists emp(
id int,
name varchar(20),
gender varchar(10),
salary double
);
-- 2.插入数据
/*
1,'张三','男',2000
2,'李四','男',5000
3,'王欣欣','女',12000
*/
insert into emp values
(1,'张三','女',2000),
(2,'李四','男',5000),
(3,'王欣欣','女',12000);
-- 3. 修改表数据
-- 3.1 将所有员工薪水修改为5000
update emp set salary = 5000;
-- 3.2 将姓名为'张三'的员工薪水修改为3000
update emp set salary = 3000 where name = '张三';
-- 3.3 将姓名为'李四'的员工薪水修改为4000,性别改为女
update emp set salary = 4000,gender = '女' where name = '李四' ;
-- 3.4 将姓名为'王欣欣'的员工薪水在原有基础上增加1000
-- 修改格式要求:列名 = 值
update emp set salary = salary+1000 where name = '王欣欣';
写到最后
四季轮换,已经数不清凋零了多少, 愿我们往后能向心而行,一路招摇胜!
🐋 你的支持认可是我创作的动力
💟 创作不易,不妨点赞💚评论❤️收藏💙一下
😘 感谢大佬们的支持,欢迎各位前来不吝赐教