MySQL数据库中

添加外键
ALTER TABLE emp ADD CONSTRAINT fk_emp FOREIGN KEY(did) REFERENCES dept(did)
删除外键
ALTER TABLE emp DROP FOREIGN KEY fk_emp;
层级操作
CASCADE 在删除父表的数据时,相应子表的数据也会被删除。
ALTER TABLE emp ADD CONSTRAINT fk_emp1 FOREIGN KEY(did) REFERENCES dept(did) ON DELETE CASCADE
删除父表数据时,相应的子表的数据置为NULL
ALTER TABLE emp ADD CONSTRAINT fk_emp1 FOREIGN KEY(did) REFERENCES dept(did) ON DELETE SET NULL

连接查询
内连接查询
语法:
SELECT s.studentNo,s.studentName,r.studentNo,r.subjectNo FROM student s INNER JOIN result r ON s.studentNo=r.studentNo;
外连接查询
a.左外连接查询:
匹配的规则:
以左表为基准,右表一一匹配,如果匹配上的正常显示,匹配不上的右表置空,左边数据依然显示。
语法:
SELECT s.studentNo,s.studentName,r.studentNo,r.subjectNo FROM student s LEFT JOIN result r ON s.studentNo=r.studentNo;
b.右外连接查询
匹配规则:
以右表为基准,左表一一匹配,如果匹配上显示,匹配不上的左表置空,右边数据依然显示。
子查询
在select语句中嵌套select语句
使用实例:
SELECT a.id,a.softwareName,a.APKName,a.supportROM,a.softwareSize,a.devId,
(SELECT devName FROM dev_user d WHERE d.id=a.devId) AS devName,
a.status,
(SELECT valueName FROM data_dictionary d WHERE a.status=d.valueId AND typeCode=“APP_STATUS”) AS statusName,
a.flatformId,
(SELECT dd.valueName FROM data_dictionary dd WHERE dd.valueId=a.flatformId AND typeName=“所属平台”) AS flatformName,
a.categoryLevel1,
(SELECT ac.categoryName FROM app_category ac WHERE ac.id=a.categoryLevel1) AS categoryLevel1Name,
a.categoryLevel2,
(SELECT ac.categoryName FROM app_category ac WHERE ac.id=a.categoryLevel2) AS categoryLevel2Name,
a.categoryLevel3,
(SELECT ac.categoryName FROM app_category ac WHERE ac.id=a.categoryLevel3) AS categoryLevel3Name,a.downloads,a.onSaleDate,a.versionId,
(SELECT apv.versionNo FROM app_version apv WHERE apv.id=a.versionId) AS versionNo
FROM app_info a

索引
分类:
1.主键索引
2.唯一索引
3.常规索引
对索引的操作
添加索引:ALTER TABLE dept ADD INDEX(sid);
查看索引:SHOW INDEX FROM dept;
删除索引:DROP INDEX spwd ON dept;
一张表里什么字段会添加索引?
1.主键
2.经常被使用的字段
注意:关联的数据一般不建议添加索引

视图
优点:使我们查询出来的数据更加直观
创建视图:
CREATE VIEW view_name AS (SELECT * FROM tablename);
使用视图:
SELECT * FROM 视图名;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值