mysql的导入导出、增删改查、匹配条件查询,truncate用法 8月2日学习笔记

mysql的导入导出

注:这种方法导出的文件是带sql语句的,要想导出数据,使用

load data infile “目录名/文件名” inwo table 表名 flelds treminated by “分割符”  lines terminated  by "\n";

导出命令:

mysqldump -u root -p 123 test >  ./test.sql

导入命令

mysql -uroot -p 123 test < ./test.sql

导入另一种方法
登录数据库

source  ./test.sql

管理表记录

增加一条表记录

insert into 表名(字段名)  valuse(值);

增加多条记录

insert into 表名(字段名)  valuse(值),(值),(值);

注意事项:
在这里插入图片描述

更新表记录

更新内容一定要注意是否加条件,不加where条件会更新所有内容

更新表内所有内容

update 表名 set 字段1=字段1值,字段2等于字段2值;

更新符合条件的内容

update 表名 set 字段1=字段1值  where 条件;

删除表内容

删除内容一定要注意是否加条件,不加where条件会更新所有内容

删除所有记录

delete from 表名 ;

仅删除符合条件的记录

delete from 表名 where 条件

匹配条件查询

在这里插入图片描述

truncate

1.truncate使用语法

truncate的作用是清空表或者说是截断表,只能作用于表。truncate的语法很简单,后面直接跟表名即可,例如: truncate table tbl_name 或者 truncate tbl_name 。

执行truncate语句需要拥有表的drop权限,从逻辑上讲,truncate table类似于delete删除所有行的语句或drop table然后再create table语句的组合。为了实现高性能,它绕过了删除数据的DML方法,因此,它不能回滚。尽管truncate table与delete相似,但它被分类为DDL语句而不是DML语句。

2.truncate与drop,delete的对比

上面说过truncate与delete,drop很相似,其实这三者还是与很大的不同的,下面简单对比下三者的异同。

truncate与drop是DDL语句,执行后无法回滚;delete是DML语句,可回滚。
truncate只能作用于表;delete,drop可作用于表、视图等。
truncate会清空表中的所有行,但表结构及其约束、索引等保持不变;drop会删除表的结构及其所依赖的约束、索引等。
truncate会重置表的自增值;delete不会。
truncate不会激活与表有关的删除触发器;delete可以。
truncate后会使表和索引所占用的空间会恢复到初始大小;delete操作不会减少表或索引所占用的空间,drop语句将表所占用的空间全释放掉。
3.truncate使用场景及注意事项
通过前面介绍,我们很容易得出truncate语句的使用场景,即该表数据完全不需要时可以用truncate。如果想删除部分数据用delete,注意带上where子句;如果想删除表,当然用drop;如果想保留表而将所有数据删除且和事务无关,用truncate即可;如果和事务有关,或者想触发trigger,还是用delete;如果是整理表内部的碎片,可以用truncate然后再重新插入数据。

无论怎样,truncate表都是高危操作,特别是在生产环境要更加小心,下面列出几点注意事项,希望大家使用时可以做下参考。

truncate无法通过binlog回滚。
truncate会清空所有数据且执行速度很快。
truncate不能对有外键约束引用的表使用。
执行truncate需要drop权限,不建议给账号drop权限。
执行truncate前一定要再三检查确认,最好提前备份下表数据。

PS:我的备用笔记本又又又系统坏了,所以我决定安装centos8,内心os:我实在不想装win

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

陈小c

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

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

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

打赏作者

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

抵扣说明:

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

余额充值