Navicat操作

Navicat快捷键

  1. 打开查询窗口:ctrl+q
  2. 注释sql语句:ctrl+/
  3. 解除注释:ctrl+shift+/
  4. 运行查询窗口的sql语句:ctrl+r
  5. 只运行选中的sql语句:ctrl+shift+r
  6. 打开一个mysql命令行窗口:F6
  7. 删除一行:ctrl+l
  8. 打开一个新的查询窗口:ctrl+n
  9. 关闭一个查询窗口:ctrl+w
  10. 在查询表数据页面打开一个该表结构的窗口:ctrl+d

连接MySQL数据库

 

 

 

 

 事务:

ACID:

  1. A(原子性):原子意为最小的粒子,或者说不能在分的事物,数据库事务的不可再分的就是原子,组成事务的所有SQL必须运行;要么全部运行,要么全部取消
  2. C:(一致性):指的是数据的规则,在事务前/后保持一致。
  3. I (隔离性):简单说,某个事务的操作对其他事务不可见的。
  4. D(持久性):当事务提交完成后,其影响应该保留下来,不鞥撤销。

用法:

  1. 开启事务(start transaction)
  2. 执行sql操作(普通sql操作)
  3. 提交/回滚(commit/rollback)

数据的隔离级别:

  1. 脏读:两个事务,第一个获取后被更新但没有被提交,之后,第二个在回滚是无效的
  2. 不可重复读:T2一个事务更新提交后,T1再次读取值不同
  3. 幻读:T2 在该表中插入/删除了一些新的行. 之后, T1 再次读取同一个表, 就会多出/少了几行。

权限:

  • 对连接到数据库的用户进行身份认证,以此来判断此用户是否属于合法的用户,合法的用户通过认证,不合法的用户拒绝连接

  • 对通过认证的合法的用户则赋予相应的权限,用户可以在这些权限范围内对数据库做相应的操作

交叉链接--笛卡尔积

  • #表1是主表,表2是从表,
  • select * from 表1,表2; # 连表,全关联,将两张表连在一起(可能有重复字段)
  • select * from 表1,表2 where 表1.id=表2.pid; #找到两表的对应关系 pid是关联字段
  • select 表1.name from 表1,表2 where 表1.id=表2.pid and 表1.name=""; # 筛选

内连接:inner join

左链接:left join

右连接:right join

全链接:full join

外链接:outer join

条件查询:where 

分组查询:group by

聚合函数

  • avg(【distinct】expr)返回expr 的平均值
  • count(【distinct】expr)返回expr的非NULL值的数目
  • MIN(【DISTINCT】 expr)返回expr的最小值
  • MAX(【DISTINCT】 expr)返回expr的最大值
  • SUM(【DISTINCT】 expr)返回expr的总和

筛选:having

排序:order by

分页:limit

子查询

  • where型子查询
  • from型子查询
  • exists型子查询
原文地址:https://www.cnblogs.com/liang1013/p/13852400.html