7、DML

本文介绍了数据库的基本操作,包括INSERT、UPDATE和DELETE,并强调了更新操作的安全设置。此外,展示了如何创建及执行存储过程,以及在大量数据删除后,使用TRUNCATE或OPTIMIZE TABLE来管理空间。
摘要由CSDN通过智能技术生成

目录

1、INSERT

2、update

3、delete


1、INSERT

[db1]> insert into student value (1,'zzj',22,'M');
[db1]> insert into student (name,age,gender) value ('hmt',24,'F');

value和values都可以  

[db1]> insert into student (name,age,gender) values ('aa',11,'F'),('bb',12,'M'),('cc',44,'M');
[db1]> insert into student set name='hao',age=22,gender='M';

2、update

mysql> update student set age=15 where id=13;

注意:一定要有限制条件,否则将修改所有行的指定字段
可利用mysql 选项避免此错误:
[root@centos8 ~]#vim /etc/my.cnf
[mysql]
safe-updates

3、delete

mysql> delete from student where id=1;
delete不会自动缩减数据文件的大小
如果想清空表,保留表结构,也可以使用下面语句,此语句会自动缩减数据文件的大小。
TRUNCATE TABLE tbl_name;

1、创建存储过程

create table testlog (id int auto_increment primary key,name char(10),age int default 20);

delimiter $$

create procedure  pro_testlog() 
begin  
declare i int;
set i = 1; 
while i < 100000 
do  insert into testlog(name,age) values (concat('wang',i),i); 
set i = i +1; 
end while; 
end$$

delimiter ;

2、暂时还没执行存储过程,没有记录

mysql> \! ls -l /data/mysql/db1/
-rw-r----- 1 mysql mysql  8614 4月  11 15:37 testlog.frm
-rw-r----- 1 mysql mysql 98304 4月  11 15:37 testlog.ibd

3、执行存储过程

mysql> call pro_testlog;

4、数据量变大

mysql> \! ls -lh /data/mysql/db1/
-rw-r----- 1 mysql mysql 8.5K 4月  11 15:37 testlog.frm
-rw-r----- 1 mysql mysql  12M 4月  11 15:46 testlog.ibd

5、使用delete删除数据,占用空间没有缩小

mysql> delete from testlog;
Query OK, 99999 rows affected (1.44 sec)

mysql> \! ls -lh /data/mysql/db1
总用量 13M
-rw-r----- 1 mysql mysql 8.5K 4月  11 15:37 testlog.frm
-rw-r----- 1 mysql mysql  12M 4月  11 15:49 testlog.ibd

6、使用truncate删除,空间缩小,或者mysql> optimize table student;整理表空间

mysql> truncate testlog;
Query OK, 0 rows affected (0.02 sec)

mysql> \! ls -lh /data/mysql/db1
总用量 436K
-rw-r----- 1 mysql mysql 8.5K 4月  11 15:37 testlog.frm
-rw-r----- 1 mysql mysql  96K 4月  11 15:50 testlog.ibd

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

什么值得,什么难舍

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值