mysql数据库设计重点知识

union :联合查询

作用:查询多表字段的相同字段
SELECT country, name FROM Websites
WHERE country='CN'
UNION ALL
SELECT country, app_name FROM apps
WHERE country='CN'
ORDER BY country;

## 

排序

降序:SELECT * FROM user ORDER BY age desc

升序:SELECT * FROM user ORDER BY age desc

分组 :

SELECT name, COUNT(*) FROM   employee_tbl GROUP BY name;

分组统计:

SELECT coalesce(name, '总数'), SUM(singin) as singin_count FROM  `user` GROUP BY name WITH ROLLUP;

作用:分组统计统计用户登陆情况

INNER JOIN 连接查询

多表连接查询:join 提取相同部分输出

[外链图片转存失败(img-Ok3C5ywk-1569315396782)(/home/yqf/图片/2019-09-22 11-06-00 的屏幕截图.png)]

SELECT a.id, a.name,a.city, b.count FROM user a JOIN addrss b on a.city = b.city;

left join 左连接:把相同部分提取+左表的全部数据输出

SELECT a.id, a.name,a.city, b.count FROM user a LEFT JOIN addrss b on a.city = b.city;

[外链图片转存失败(img-7pEJQblf-1569315396784)(/home/yqf/图片/2019-09-22 11-18-03 的屏幕截图.png)]

right: 右连接同上

空值处理

 SELECT * FROM runoob_test_tbl WHERE runoob_count IS NULL;
 SELECT * FROM runoob_test_tbl WHERE runoob_count IS NOT NULL;

错误的处理方式

SELECT * FROM runoob_test_tbl WHERE runoob_count = NULL;

SELECT * FROM runoob_test_tbl WHERE runoob_count != NULL;

正则表达式

SELECT name FROM person_tbl WHERE name REGEXP '正则表达式';

事物

作用:

MySQL 事务主要用于处理操作量大,复杂度高的数据。比如说,在人员管理系统中,你删除一个人员,你即需要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等等,这样,这些数据库操作语句就构成一个事务!

step1:事物初始配置

begin 开始事物

事物

commit 提交事物(end)

rollback 回滚

如果事物出错就会进行回滚(让整个事物失效)

事物的隔离级别

1、可读

2、提交课读 comod 之后可读(防止读脏数据);

3、重复可读 可以读取原有数据不收其他事物数据影响

4、串行读取 只能有一个事物处理数据

数据库设计

范式:要满足一定的设计规范,并不是强制要求,规范有助于数据的处理,减少数据冗余。。。

第一范式:1、要有主键,2、字段不可再分;

第二范式:第二范式建立在第一范试之上,非主键字段要完全依赖与主键,不能产生部分依赖。(不能使用联合主键,应该在生成一张关系表用来说明两个实体之间的关系)典型 的n对n设计

第三范式:要求非主键字段不存在传递依赖于主键字段 典型 1 对 n

1 对 1 加字段唯一性(只能被外键调用一次);

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

weixin_42975115

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

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

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

打赏作者

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

抵扣说明:

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

余额充值