mysql命令
mysql命令
流殃sql语句
database
1 | #显示所有数据库 |
select
1 | select 字段 from 表名 |
delete
1 | DELETE FROM 表名称 WHERE 列名称 = 值 |
删除
delete
1 | update tableName set key1=value1,key2=value2 where |
delete不建议在生产上删除大规模数据,因为这会导致数据库性能下降。
原因是 使用delete删除数据会形成一个大事务,非常影响数据库的服务
如果使用delete误删除数据了,可以通过Flashback工具来进行恢复
Flashback 恢复数据的原理,是修改 binlog 的内容,拿回原库重放。而能够使用这个方案的前提是,需要确保 binlog_format=row 和 binlog_row_image=FULL。
事前保证:
- 把 sql_safe_updates 参数设置为 on。这样一来,如果我们忘记在 delete 或者 update 语句中写 where 条件,或者 where 条件里面没有包含索引字段的话,这条语句的执行就会报错
- 代码上线前,必须经过 SQL 审计。
add
drop
1 | drop table 表名字 |
index
1 | #显示一个表的所有索引 |
order by
排序,默认是升序排列,想要降序的话使用desc
where order by limit执行顺序:先where 然后order by 最后limit
show
1 | #可以列出MySQL服务器运行各种状态值,另外,查询MySQL服务器配置信息语句: |
join
inner join
普通的联表查询就是内连接,就是两个表的交集
outer join
一般连接条件放在on里面
1 | select |
nest-loop join
嵌套循环关联
左外连接
如果左表的数据在右表里没有任何匹配的也要全部返回
右外连接
如果右表的数据在左表里没有任何匹配的也要全部返回
limit
主要作用就是限制回表到聚簇索引的次数,比如你select * from student ,会进行全表扫描,加个limit就会减少从联合索引查询的数据,然后再从主键索引中查找,性能会好一些
1 | #查询的是从6-15行 |
评论
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果