DML是指数据操作语言,英文全称是Data Manipulation Language,用来对数据库中表的数据记录进行更新。
关键字:插入insert 、删除delete、更新update
数据插入
语法格式
向表中插入某些:insert into 表(列名1,列名2,列名3...) values(值1,值2,值3...);
insert into student(sid,name,gender,age,birth,address,score) values(1001,'张三','男','18','2001-12-23','北京',85.5);
insert into student(sid,name,gender,age,birth,address,score) values(1002,'张四','女','18','2001-12-23','北京',85.5),(1003,'张五','男','18','2001-12-23','北京',85.5);
insert into student(sid) values(1004);
向表中插入所有列:insert into 表 (values) (值1,值2,值3...);
insert into student values(1005,'张华','女',21,'1999-01-01','广州',99);
insert into student values(1006,'赵华','男',21,'1999-01-01','广州',99),
(1007,'李华','男',21,'1999-01-01','广州',99);
数据修改
语法格式
update 表名 set 字段名=值,字段名=值...;
update 表名 set 字段名=值,字段名=值... where 条件;
-- 将所有学生的地址修改为重庆
update student set address='重庆';
-- 将sid为1004的学生的地址修改为北京
update student set address='北京' where sid=1004;
update student set address='上海' where sid>1004;
-- 将sid为1005的学生的地址修改为北京,成绩修改为100
update student set address='深圳',score=100 where sid=1005;
数据删除
语法格式
delete from 表名 [where 条件];
-- 删除sid为1004的学生数据
delete from student where sid>1004;
-- 删除表所有数据
delete from student;
truncate table 表名 或者 truncate 表名
-- 情况表数据
truncate table student;
truncate student;
注意:delete和truncate原理不同,delete只删除内容,而truncate类似于drop table,可以理解为是将整个表删除,然后再创建该表。
练习
-- 1.创建表
-- 创建员工表employee,字段如下:
-- id(员工编号),name(员工名字),gener(员工性别),salery(员工薪资)
create table mydb1.employee(
id int,name varchar(20),gender varchar(10),salary double
);
-- 2.插入数据
-- 1,'张三','男',2000
-- 2,'李四','男',1000
-- 3,'王五','女',3000
insert into employee(id,name,gender,salary) values(1,'张三','男',1000),(2,'李四','男',2000),(3,'王五','女',3000)
-- 3.修改表数据
-- 3.1将所有员工薪水修改为5000
update employee set salary=5000;
-- 3.2将姓名为'张三'的员工薪水修改为3000
update employee set salary=3000 where name='张三';
-- 3.3将姓名为'李四'的员工薪水修改为4000,gender改为女
update employee set salary=4000,gender='女' where name='李四';
-- 3.4将王五的薪水在原有的基础上增加1000
update employee set salary=salary+1000 where name='王五';