Navicat快捷键
- 打开查询窗口:ctrl+q
- 注释sql语句:ctrl+/
- 解除注释:ctrl+shift+/
- 运行查询窗口的sql语句:ctrl+r
- 只运行选中的sql语句:ctrl+shift+r
- 打开一个mysql命令行窗口:F6
- 删除一行:ctrl+l
- 打开一个新的查询窗口:ctrl+n
- 关闭一个查询窗口:ctrl+w
- 在查询表数据页面打开一个该表结构的窗口:ctrl+d
连接MySQL数据库
事务:
ACID:
- A(原子性):原子意为最小的粒子,或者说不能在分的事物,数据库事务的不可再分的就是原子,组成事务的所有SQL必须运行;要么全部运行,要么全部取消
- C:(一致性):指的是数据的规则,在事务前/后保持一致。
- I (隔离性):简单说,某个事务的操作对其他事务不可见的。
- D(持久性):当事务提交完成后,其影响应该保留下来,不鞥撤销。
用法:
- 开启事务(start transaction)
- 执行sql操作(普通sql操作)
- 提交/回滚(commit/rollback)
数据的隔离级别:
- 脏读:两个事务,第一个获取后被更新但没有被提交,之后,第二个在回滚是无效的
- 不可重复读: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型子查询