MYSQL 索引 主键 外键

解释:

  1. 索引可分为普通索引和唯一索引,主要用于提高访问速度,普通索引允许索引列内容重复,唯一索引不允许重复;

  2. 主键具有唯一索引的特性,用于唯一标识记录,一个表只能一个主键;

  3. 外键具有普通索引的的特性,是关联表的主键,用于多表级联,维护多表数据一致性。

注意:外键必须是一个索引,数据库引擎必须是InnoDB;

索引:

创建:①直接创建:例如:create [unique]index index_nameon table_name(column_name,... [desc/asc]);②修改表结构添加:例如:alter table table_nameadd [unique]index index_name (column_name,...[desc/asc]);
删除:①直接删除:例如:drop index index_name on table_name;②修改表结构删除:例如:alter table table_namedrop index index_name;

主键:

创建:① 创建表的时候创建:例如:create table table_name(id int not null auto_increment,name varchar(20)not null,primary key(id));或:create table table_name(id int not null auto_increment primary key,name varchar(20)not null,);② 修改表结构添加:例如:alter table table_name add primary key (id);
删除:① 修改表结构删除:例如:alter table table_name drop primary key;

外键:

创建:①创建表的时候创建:例如:create table table_name(id int not null auto_increment,foreign_id varchar(20)not null,primary key(id),constraint constraint_name foreign key (column_name)references relation_table_name(relation_table_column_name)on [delete|update][no action|cascade|set null|restrict|set default]);或:create table table_name(id int not null auto_increment,foreign_id varchar(20)not null,primary key(id),foreign key (column_name)references relation_table_name(relation_table_column_name)on [delete|update][no action|cascade|set null|restrict|set default]);②修改表结构添加:例如:alter table table_nameadd foreign key (column_name)references relation_table_name(relation_table_column_name)on[delete|update][no action|cascade|set null|restrict|set default];或:alter table table_nameadd constraint constraint_nameforeign key (column_name)references relation_table_name(relation_table_column_name);删除:①修改表结构删除:例如:alter table table_namedrop foreign key constraint_name;

delimiter :分隔符

触发器trigger:

说明:①tri是触发器名字②ball是表名③score是ball表中的字段④”-“ 是使用的limiter 定义的分隔符,为了begin ···end 语句的使用 ⑤此触发器的目的是当更新ball表中score列数据,如果新值<旧值,拒绝更新;

delimiter -

create trigger tri after update on ball
for each row
begin
if old.score> new.score
then
update ball set score=old.score where id= old.id;
end if;
end-

delimiter ;

MYSQL 索引 主键 外键相关推荐

  1. 约束,MySQL约束,非空默认值,主键外键唯一自增,完整详细可收藏

    文章目录 1. 约束(constraint)概述 2. 非空约束 3. 唯一性约束 4. PRIMARY KEY 约束 5. 自增列:AUTO_INCREMENT 6. FOREIGN KEY 约束 ...

  2. MySQL数据库基础(外键约束、添加索引)

    文章目录 一.外键约束 1.外键概念 2.关联约束 3.添加与删除外键 4.集联删除 二.MySQL索引 1.创建唯一索引(三种方法) 2.索引查询 3.全文索引 4.联合索引 5.删除索引 一.外键 ...

  3. [数据库03]-约束(唯一性-主键-外键/存储引擎/事务/索引/视图/DBA命令/数据库设计三范式

    [数据库03]-约束(唯一性-主键-外键)/存储引擎/事务/索引/视图/DBA命令/数据库设计三范式 一.约束 1.1 唯一性约束(unique) 1.2 主键约束 1.3 外键约束 二.存储引擎 2 ...

  4. mysql 主键外键sql_SQL外键VS主键说明了MySQL语法示例

    mysql 主键外键sql A Foreign Key is a key used to link two tables. The table with the Foreign Key Constra ...

  5. mysql中表的约束,主键外键唯一键

    mysql2 表的约束 空属性(NULL) 默认值 列描述 zerofill 主键 主键属性 复合主键 追加主键 删除主键 自增长 唯一键 外键 表的约束 空属性(NULL) 此时 name 的 Nu ...

  6. 主键主键外键和索引_主键和外键的目的/用途是什么?

    主键主键外键和索引 Primary and foreign keys are a way in which to constrain related data together to ensure d ...

  7. mysql修改外键字段报异常_mysql修改索引时,外键约束造成的奇怪问题_MySQL

    Mysql外键 bitsCN.com mysql修改索引时,外键约束造成的奇怪问题 事情是这样的,在Windows的mysql5.5 ,我想修改一个表的索引,于是执行 [sql] ALTER TABL ...

  8. mysql 高版本检索外键_第05期:外键到底能不能用?

    外键的设计初衷是为了在数据库端保证对逻辑上相关联的表数据在操作上的一致性与完整性. 外键在大部分企业写的开发规范里会直接规避掉!外键有优缺点,也并不是说每种场景都不适用,完全没有必要一刀切.外键到底能 ...

  9. MySql数据库主键外键与数据库设计

    MySql数据库主键外键与数据库设计 首先要指出的: 列.字段.属性是一个概念 行.记录.元组是一个概念 MySQL数据库CONSTRAINT约束:非空约束,唯一约束,主键约束,外键约束 show c ...

  10. MySQL为表添加外键约束

    为表添加外键约束的语法 Alter table 表名 add constraint FK_ID foreign key(外键字段名) REFERENCES 外表表名(主键字段名): 为表student ...

最新文章

  1. 从Hive导出数据到Oracle数据库--Sqoop
  2. 俄罗斯自研Elbrus CPU参数曝光,CEO年近九旬仍未退休
  3. 【pyqt5学习】——最新版:配置external tools(designer、pyuic、pqrcc)
  4. 《移动App测试的22条军规》—第1章1.2节移动App的生命周期
  5. Qt文档阅读笔记-windowOpacity官方解析及实例(两种方法使得程序渐变出现)
  6. 5月22日晚间,阿里巴巴集团发布2020财年业绩……
  7. java manager 如何使用_java – Android:如何使用AlarmManager
  8. Android so库动态加载总结
  9. Python学习笔记——变量(图灵学院)
  10. Crafted Item - 合成装备
  11. Android Studio编写Xposed模块
  12. HIT CSAPP LAB1
  13. @NotBlank的使用以及效果
  14. 京东校招java笔试题_试卷: 京东2019校招笔试Java开发工程师笔试题(1-)
  15. 龙城0772信息门户网设计制作
  16. 如何解决Namespace declaration statement has to be the very first statement or after any declare call
  17. 小程序获取微信运动步数并集成echarts报表显示
  18. 选生物化学历史能不能报计算机专业,化学生物历史组合被禁:新高考为啥不能选化学生物历史?...
  19. 计算机类在职博士学科,武汉理工大学计算机专业在职博士招生简章
  20. 如何用python写一个接口

热门文章

  1. 社交网络分析的 R 基础:(五)图的导入与简单分析
  2. CodeGenerator代码生成器使用
  3. 能耗监测管理系统服务器,能源管理系统:能耗监测系统解决方案
  4. 用java异或的方式去实现简单的视频加密
  5. 2021年塔式起重机司机考试报名及塔式起重机司机免费试题
  6. win8 上如何真正禁用UAC
  7. Python入门教程之安装MyEclipse插件和安装Python环境
  8. IAST 技术进阶系列(二):全场景多核驱动
  9. 【滤波跟踪】基于多源信息融合算法实现多旋翼无人机组合导航系统含Matlab源码
  10. 动作捕捉助力无人车多源传感器信息融合导航技术