首页 > 数据库 >mysql复习

mysql复习

时间:2023-10-19 20:55:11浏览次数:27  
标签:超键 复习 外键 查询 索引 字段 mysql 主键

创建索引的原则?
1、选择唯―性索引:唯―性索引的值是唯一的。可以更快的通过该索引来确定某条记录。
2、为经常需要排序、分组;以及联合查询的列创建索引。
3、为经常作为查询条件的列创建索引,
4、限制索引的数目:越多的索引越导致表的查询效率变低,因为索引表在每次更新表数据的时候都会重新创建这个表的索引,表的数据越多,索引列越多,那么创建索引的时间消耗就越大。
5、如果索引的值很长,那么查询的速度会受到影响。
6、如果索引字段的值很长,最好使用值得前缀来进行索引。
7、删除不再使用或者很少使用的索引.
8、最左前缀匹配原则,非常重要的原则。
9、尽量选择区分度高的列作为索引。

10、索引列不能参与计算,保持列“于净”:带函数的查询不参与索引。
11、尽量的扩展索引,不要新建索引。

 

 

超键、候选键、主键、外键分别是什么?
1、超键:在关系模式中,能唯―知标识元组的属性集称为超键。
2、候选键:是最小超键,即没有冗余元素的超键。
3、主键:数据库表中对储存数据对象予以唯—和完整标识的数据列或属性的组合。一个数据列只能有一个主键,且主键的取值不能缺失,即不能为空值(NulI)。
4外键:在一个表中存在的另—个表的主键称此表的外键。

 

 

SQL约束有哪几种呢?

1、NOT NULL:约束字段的内容—定不能为NULL。

2、UNIQUE:约束字段唯―性,一个表允许有多个Unique 约束。
3、PRIMARY KEY:约束字段唯,不可重复,一个表只允许存在一个。
4、FOREIGN KEY:用于预防破坏表之间连接的动作,也能防止非法数据插入外键。
5、CHECK:用于控制字段的值范围。

标签:超键,复习,外键,查询,索引,字段,mysql,主键
From: https://www.cnblogs.com/1011-zslnb/p/17775626.html

相关文章

  • mysql函数CASE WHEN简单使用
    实际案例CASEwhencc.cLIKE'%迟到%'THEN'扣一分'ELSENULLEND如果有个需要判断CASEwhencc.cLIKE'%迟到%'THEN'扣一分'whencc.cLIKE'%早退%'THEN'扣两分'ELSENULLEND这里的case和w......
  • MySQL回表和覆盖索引
    一、回表在InnoDB存储引擎里,利用辅助索引查询,先通过辅助索引找到主键索引的键值,再通过主键值查出主键索引里面没有符合要求的数据,它比基于主键索引的查询多扫描了一棵索引树,这个过程就叫回表。例如:select*fromuserwherename=‘张三’;二、覆盖索引在辅助索引里面,不管是单......
  • mysql多表查询
    第11讲:MySQL的多表查询原创 何先振 何先振 2023-08-2208:15 发表于广东收录于合集#MySQL初级教程24个以下文章来源于何先振,责编小何 多表查询操作的原因 表和表有很多对应的关系,比如:员工表都有自己的部门。当我们想查看一个员工的部门的时候,就需要查询部门表......
  • MySQL 8.0.34 MGR部署教程
    基于MySQL8.0.34MGR部署一、环境概述OSIPHostnameMySQLVersionDBPortMGRPortRedhat7.9172.20.10.3s18.0.34330633061Redhat7.9172.20.10.4s28.0.34330633061Redhat7.9172.20.10.5s38.0.34330633061    二、在各个节点安装M......
  • MySql执行异常处理、MySql事务回滚和提交,判断有异常则回滚。
    示例DELIMITER$$DROPPROCEDUREIFEXISTSsp_test1$$CREATEPROCEDUREsp_test1()top:BEGIN--错误标记,当sql执行出错的时候,设置标记等于1。DECLARE_errINTDEFAULT0;--错误标记处理,放到最后再声明,要放到游标后面。--不然会报错:Variableorcondit......
  • flex and bison usage in mysql
    queryparsinginmysqlmysqlsourcecodeversion:8.0.34(fromMYSQL_VERSIONfile)Thisanarticlefromquestionstounderstandings.whichfiledoesmysqlusetodefinesqlgrammar?sql/sql_yacc.yywhatisthenameyyparsereplacedwithinmysql?Sear......
  • mysql三种方案优化 2000w 数据大表
    摘录自当我们业务数据库表中的数据越来越多,如果你也和我遇到了以下类似场景,那让我们一起来解决这个问题数据的插入,查询时长较长后续业务需求的扩展在表中新增字段影响较大表中的数据并不是所有的都为有效数据需求只查询时间区间内的评估表数据体量我们可以从表容量/磁......
  • mysql 日期时间值中获取年、月、日等部分日期或时间值
    在MySQL中,可以使用一系列内置函数来从日期时间值中获取年、月、日等部分日期或时间值。以下是一些常用的函数:YEAR():用于从日期时间值中提取年份。例如,SELECTYEAR('2023-06-12')将返回2023。MONTH():用于从日期时间值中提取月份。例如,SELECTMONTH('2023-06-12')将返回6。DAY():......
  • mysql-备份还原
    mysqldump备份与恢复#导出的备份文件就是数据库脚本文件mysqldump-uroot-p[密码]--databases库名1[库名2]…>/备份路径/备份文件名.sql例:mysqldump-uroot-p123456--databasesschool>/opt/school.sqlmysqldump-uroot-p123456--databasesmysqlschool>/op......
  • 研发日常踩坑-Mysql分页数据重复 | 京东云技术团队
    踩坑描述:写分页查询接口,orderby和limit混用的时候,出现了排序的混乱情况在进行第N页查询时,出现与第一前面页码的数据一样的记录。问题在MySQL中分页查询,我们经常会用limit,如:limit(0,20)表示查询第一页的20条数据,limit(20,20)表示查询第二页的数据。业务上我们通常也会在分页的时......