mysql相关知识点

@LYY

命令的执行顺序

  1. from
  2. on
  3. join
  4. where
  5. group by
  6. having
  7. select
  8. distinct
  9. order by
    10.limit

聚合函数

无分组只聚合(select的时候)
一般Group by 字段 select 字段,聚合函数
聚合函数一般有 count avg max min sum
where 在筛选条件中不可以出现聚合函数,having可以
limit 2(数量) offset 2含义:第3,4行
limit 9,4(数量) 第10,11,12,13行

索引

普通索引

  1. 当表的字段不常更新并且总查询的时候,适合建立索引(普通索引)
已经存在的表建立普通索引:create index 索引名 on 表明(字段名)
create table 表明(字段名 数据类型,字段名 数据类型,index(字段名),index(字段名))  标志 MUL
drop index 索引名 on 表明
show index on 表明 (查看索引的详细信息)
  1. 唯一索引
已经存在的表建立唯一索引:create unique index 索引名 on 表明(字段名)
create table 表明(字段名 数据类型,字段名 数据类型,unique(字段名)) 标志 UNI

3.主键索引

已经存在的表建立主键索引:alter table 表明 add primary key(字段名)
复合索引: primary key(字段名1,字段22)
这里的复合索引一般是多对多关系表中间表 ,引用的索引类型。
删除主键索引 :alter table 表明 drop primary key
标志 PRI

4.外键索引

已经存在的表建立外键索引(创建表后接下面语句):,[constraint 外键名](可写可不写) foreign key (需要建立的本表字段名) references table_name(关联的表字段名)[ON DELETE RESTRICT |CASCADE | SET NULL | NO ACTION} ] + [ON UPDATE RESTRICT |CASCADE | SET NULL | NO ACTION} ]
存在得表:alter table 表明 [constraint 外键名](可写可不写) foreign key (需要建立的本表字段名) references table_name(关联的表字段名)[ON DELETE RESTRICT |CASCADE | SET NULL | NO ACTION} ] + [ON UPDATE RESTRICT |CASCADE | SET NULL | NO ACTION} ]
级联动作: restrict(默认) 从表有记录,主表无法删更新相关数据;
CASCADE 跟随主表的数据更新而更新 删除而删除;
set null 主表相关联的数据删除/修改 从表的数据变成null
NO ACTION 同默认;
建立外键会增加查询时间,建立一个MUL普通索引标识
删除外键 
alter table 表明 drop foreign key 外建名字 (但是仍然存在索引,MUL)
视图:select full views in 数据库名 where table_type like 'VIEW';

  1. 如何设置一对一:从表设置 字段名 int uniq foreign key reference 主表(主键字段)
    如何设置一对多:从表设置 字段名 int foreign key reference 主表(主键字段)父是一 子是多 子引用 父的某一列作为外键。
    如何设置多对多:设置中间表,引用主键符合复核索引,然后分别设置外键即可。

联合索引

  1. 联合索引 最左匹配原则,当遇到都适合做索引时候,区分度最高的在最前面
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值