mysql day3
SQL-DDL
创建数据库
create database 数据库名 charset uft8;
show create database 数据库名 :查看建库语句
desc 表名 :查看表结构
varchar()最大是255;
外键约束在mysql中重要,当主表的数据被删则次表的数据也被删。
mysql在大数据中充当存结果数据的角色,原本的数据放在大数据平台上
索引是为了加快查询结果的作用
怎样查询快
1.存数据的时候有序(使用)
2.给数据标志,先排序再取
二分查找前提:数据是有序的
索引的底层是B-树
怎样建索引语句:create index index_表名_字段 on 表名(字段);
不要对重复的数据添加索引(比如:男女)优点
索引可以让MySQL快速地查找到我们所需要的数据,但这并不是索引的唯一作用。
索引大大减少了MySQL服务器需要扫描的数据量。
索引可以帮助服务器避免排序和临时表。
索引可以将随机I/O变为顺序I/O。
缺点
影响数据库的增删改速度
视图
可以理解为一张表
优点:
1) 定制用户数据,聚焦特定的数据
2) 简化数据操作
3) 提高数据的安全性
4) 共享所需数据
5) 更改数据格式
6) 重用 SQL 语句
创建视图
CREATE VIEW <视图名> AS <SELECT语句>
-- <视图名>:指定视图的名称。该名称在数据库中必须是唯一的,不能与其他表或视图同名。
>-- <SELECT语句>:指定创建视图的 SELECT 语句,可用于查询多个基础表或源视图。
union和union all效果一样,都是取两个结果的交集
union:对两个结果集进行并集操作, 不包括重复行,相当于distinct, 同时进行默认规则的排序;
union all: 对两个结果集进行并集操作, 包括重复行, 即所有的结果全部显示, 不管是不是重复;
三范式
范式:规范的式子
第一范式:
数据库表的每一列都是不可分割的原子数据项,而不能是集合,数组
第二范式:
数据库中每一行数据必须依赖于主键,每一个行数据都要有主键
主键是一行数据的唯一性标识
第三范式:
表中非主键的列要完全依赖于主键,不能出现部分属性依赖于其他属性
当出现传递依赖的时候要将非依赖于主键的列专门创建一张表进行管理
多个表比一个表方便后期的运营和维护,并且看着更加清晰
表和表的关系
一对一;一对多;多对多
多对多中的主表之外的两张表叫维度表
浙公网安备 33010602011771号