7、DML

目录

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

什么值得,什么难舍

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

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

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

打赏作者

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

抵扣说明:

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

余额充值