MySQL-语句进阶

一/表单内复杂查询

limit #取前若干条
order by 字段名 asc/desc #按照字段名升序或降序排列
like '%西%'  #判断字符串是否包含西
逻辑运算符:
in 判断结果是否落在指定范围内
between 判断是否落在某个区间
and 
or
分组及分组后的筛选:
    group by 字段名 #按照字段名分组
    having #分组后的筛选条件
    PS:where是分组前的条件筛选
数据库函数:
    count(col)
    max(col),min(col)
    avg(col)
    sum(col)

二/多表联合查询

1.子表A union 子表B #整合字段数量相同的子查询   

2.join:

    * A (inner) join() B   查询范围:为左右二表的交集

    * A left join() B   查询范围包含:交集+左表独有部分

    * A right join() B   查询范围:交集+右表独有部分


三/表关系管理

外键管理:

一般来说都是从表应引用主表的字段,外键定义在从表中,因为一旦从表删除,外键也一并删除了,并不会给主表留下脏数据

定义外键:

foreign key(从表字段) references 主表(主表字段)
例:
foreign key(classid) references clazz(id)
追加外键:

方法一
alter table 从表 add foregin key 从表(从表字段) references 主表(主表字段);
例:
alter table student add foregin key temp(classid) references clazz(id);

方法二:
alter table 从表 add constraint  外键名称 foreign key 从表(从表字段) references 主表(主表字段);

删除外键:

show craete table student;   //据此找出classid对应的外键名称:
alter table student drop foreign key 外键名称;   //删除外键
alter table student drop classid;

删除外键定义:

show create table student; 据此找出classid对应的外键名称
alter table student drop foreign key student_ibfk_1; 删除这个奇奇怪怪的外键名称
alter table student drop classid;


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值