MySQL数据库的基本操作–DML
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,'1999-12-28','北京',95.6);
insert into student values(1001,'男',18,'1999-12-28','北京',95.6);
前面的字段和后面的值需要一一对应,并且需要与数据类型对应。
注意:一个insert只能插入一行数据!!!
如果是赋多行全部的值,可以这样表示:
数据修改
语法格式
update 表明 set 字段名=值,字段名=值...;
update 表明 set 字段名=值,字段名=值...where 条件;
举例:
-- 将所有的学生的地址修改为重庆
update student set address = '重庆';
-- 将id为95的学生的地址修改为四川
update student set address = '四川' where id = 95;
-- 将id为88的学生的地址修改为杭州,成绩修改为100
update student set address = '杭州',score = 100 where id 88;
代码示例图示:
数据删除
语法格式
delete from 表名 [where 条件];
truncate table 表名 或者 truncate 表名
举例:
-- 删除sid为95的学生数据
delete from student where sid = 95;
-- 删除表所有数据
delete from student;
-- 清空表数据
truncate table student;
truncate student;
注意:delete与truncate原理不同。delete表示的是删除内容,truncate与drop table类似,可以理解为将整个表删除,然后再创建该表。drop一般是删除表或是数据库,不删除内容。
DML归纳图示:
练习时间:
-- 创建表
/*
创建员工表workpersion,字段表示如下:
id(员工编号),name(员工名字),gender(员工性别),salary(员工薪资)
*/
-- 插入数据
/*
1,'张三','男',3500
2,李四,'女',2300
3,王五,'女',3200
*/
-- 修改表数据
-- 将所有员工薪水修改为2300
-- 将张三员工的薪水修改为2500
-- 将姓名为李四员工的薪水修改为4050,gender修改为男
-- 将王五的薪资在原基础上增加1000
答案解析:
-- 创建表
/*
创建员工表workpersion,字段表示如下:
id(员工编号),name(员工名字),gender(员工性别),salary(员工薪资)
*/
-- use mydb1; -- 进入到该数据库中(切换数据库) 下面这条语句已经在创建表的同时点进数据库
create table mydb1.workpersion(
id int,
name varchar(20),
gender varchar(10),
salary int
);
-- 插入数据
/*
1,'张三','男',3500
2,李四,'女',2300
3,王五,'女',3200
*/
insert into workpersion(id,name,gender,salary) values(1,'张三','男',3500);
insert into workpersion values(2,'李四','女',2300),(3,'王五','女',3200);
-- 修改表数据
-- 将所有员工薪水修改为2300
update workpersion set salary = 2300;
-- 将张三员工的薪水修改为2500
update workpersion set salary = 2500 where name = '张三';
-- 将姓名为李四员工的薪水修改为4050,gender修改为男
update workpersion set salary = 4050,gender = '男' where name = '李四';
-- 将王五的薪资在原基础上增加1000
update workpersion set salary = salary + 1000 where name = '王五';