MySQL基础--(DML语言,数据操作语言,insert,update,delete,truncate)

一种数据操作语言:插入:insert、修改:update、删除:delete。

插入语言

语法

方法一

insert into 表名(列名,---)

#插入的值类型要与列类型相同
INSERT INTO employees(last_name,employee_id,age,borthday,phone)
VALUES('小天',231,23,1992-2-4,231231331)

#这个就是整个一个插入流程,需要注意的是在表中插入的时候,如果信息不能为空的时候必须要有值输入,
当有未知数值的时候,如果表后显示为Nullable的时候,可以不写或者用NULL的填充进去。

要求,列数和值的个数必须一致,如果有未知的数值,当列可以为空的时候,可以省略信息名。

1,可以省略列名,默认所有列,不过列的顺序必须和表格顺序相一致。

2.要求值的类型和字段要一致。

3.假如表中有可以为null的字段,注意通过以下两种方式插入。1.字段和值都省略。2.字段写上,值用null

4.字段和值的个数必须一致。 5.字段可以省略,默认所有列。

方法二

insert into 表名
set 列名=值,列名=值,....;

两组方法的比较

方式一方式二
支持多行插入,,添加,就行由于直接给列名赋值所以只能插入一行信息
可以使用SELECT语句,将所需要的信息作为插入表中的信息插入。不行

使用SELECT插入相当于从另外一个表中找出需要的信息生成一个新表,直接批量筛选插入所需信息就好。

case 创建一个包含公司员工名字,部门名称,生日在1999-1-1以前的员工新表

INSERT 

INSERT INTO new_list(last_name,department_id,age)
SELECT last_name,department_id,age FROM employees WHERE date>1999-1-1

update 修改语句

1.修改单表的记录

update 表名 set 字段=值,字段= 值,。。。

语法:update 表名

set 列=新值,列=新值。....

where 筛选条件;

1.修改单表的记录

2.修改多表的记录

1.修改单表的记录、修改部门员工kake的电话改成默认15515

UPDATE employees SET phone = '115515'
WHERE last_name = ''kake;

2.修改部门表中编号1223的姓名为张成,年龄22

UPDATE employees SET last_name = '张成',age= 22
WHERE id = 1223;

2.修改多表记录

语法

sql92语法
UPDATE 表1 ,别名,表2,别名
set 列= 值。。。。
where 筛选条件
and 筛选条件

sql99语法
update 表1 别名
inner|LEFT |RIGHT JOIN 表二
on 连接条件
set 列=值,。。
where 筛选条件

 删除语句 delete

1.单表的删除
delete from 表
 where 筛选条件
2.多表的删除
方式二 
truncate 
truncate table 表

case 1 删除手机号以2结尾的员工信息

delete from employees where employee_id LIKE '&2';

case2 多表的删除


delet 别名,别名
from 表1 别名,表2 别名
where 连接条件
and 筛选条件

sql99
delete 表一的别名,表二的别名
from 表1 别名
inner|right|left join 表二 别名 on 连接条件
where 筛选条件;

delete 领导编号为122手下的所有员工信息

sql92
delete e,d
from department d, employees e
where d.employee_id = e.manager_id
and d.employee_id = 122;

sql99
delete e,d
from employees e 
left join departments d
on d.employee_id = e.manager_id
where d.employee_id = 122;

truncate删除也就是清空数据

truncate table employees;

删库到跑路

delete 和truncate区别

truncatedelete
不能可以加where语句
删除后再添加数据编码从1开始

删除后编码从上一个最大的数字后面开始

没有返回值,不知道多少行受影响

有返回值,知道删除多少行

无法回滚,不能恢复可以回滚
效率高效率低

可以理解为delete 把表格信息放到回收站里面,。如果还想找回来就还能找回!

所以继续添加信息从断点开始,因为前面删除的信息还占据一个小小的空间。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值