主键:

primary key,主要的键,一张表只能有一个字段可以使用对应的键,用来唯一的约束该字段里面的数据,不能重复,这种称之为主键

增加主键:

方案一:在创建表的时候,直接在字段之后,跟primary key关键字(主键本身不允许为空)

方案二:在创建表的时候,在所有的字段之后,使用primary key(主键字段列表)来创建主键,如果有多个字段作为主键,可以是复合主键

方案三:当表已经创建好之后,额外追加主键,可以通过修改表字段属性,也可以直接追加

alter table 表名 add primary key(字段列表);

主键约束:

主键对应的字段中的数据不允许重复,一旦重复,数据操作(增和改)失败

更新主键 & 删除主键:

alter table 表名 drop primary key;

主键分类:

业务主键

逻辑主键:自增长:

auto_increment,当对应的字段,不给值,或给默认值、或给NULL值,会自动的被系统触发,系统会从当前字段中已有的最大值基础上,再进行+1操作,得到一个新的不同的数据

特点:

任何一个字段要做自增长,前提必须本身就是一个索引

自增长字段必须是数字,而且是整型

一张表最多只能有一个自增长

修改自增长:alter table 表名 auto_increment=值;

查看自增长对应的变量:show variables like 'auto_increment%';

删除自增长:alter table 表名 modify 字段 类型;

唯一键(unique key):

默认允许自动为空,而且可以多个为空

增加唯一键:

方案一:在创建表的时候,字段之后直接跟unique / unique key

方案二:在所有的字段之后增加unique key(字段列表);

方案三:在创建表之后增加唯一键

更新唯一键:

alter table 表名 drop index 索引名字;

MySQL中提供了多种索引:

主键索引:primary key

唯一索引:unique key

全文索引:fulltext index

普通索引:index

创建:

create [unique] index 索引名 on 表名(字段名(长度));

alter 表名 add [unique] index [索引名] on (字段名(长度));

删除:

drop index [索引名] on 表名;

查看:

show index from 表名\G

使用alter命令添加数据表的索引:

alter table 表名 add primary key (字段列表):添加一个主键,意味着索引值必须是唯一且不为空

alter table 表名 add unique 索引名 (字段列表):创建索引的值必须是唯一的,允许NULL,且NULL可能会出现多次

alter table 表名 add fulltext 索引名 (字段列表):添加全文索引

alter table 表名 add index 索引名 (字段列表):添加普通索引,索引值可出现多次

主键冲突(Duplicate key):

更新操作:insert into 表名 [(字段列表)] values(值列表) on duplicate key update 字段=新值;

替换:replace insert into 表名 [(字段列表)] values(值列表);

蠕虫复制:

insert into 表名[(字段列表)] select 字段列表/* from 数据表名;

mysql主键约束怎么写_MySQL----主键约束相关推荐

  1. mysql另外加外键约束怎么写_mysql外键约束怎么写

    mysql外键约束的写法:[[CONSTRAINT ] FOREIGN KEY 字段名 REFERENCES 主键列1].外键约束是表的一个特殊字段,经常与主键约束一起使用. 在 CREATE TAB ...

  2. mysql外键约束怎么写_mysql外键约束怎么写

    mysql外键约束的写法:[[CONSTRAINT ] FOREIGN KEY 字段名 REFERENCES 主键列1].外键约束是表的一个特殊字段,经常与主键约束一起使用. 在 CREATE TAB ...

  3. mysql主键是非空吗_mysql主键非空约束怎么设置?

    mysql主键约束 主键(PRIMARY KEY)的完整称呼是"主键约束",是 MySQL 中使用最为频繁的约束.一般情况下,为了便于 DBMS 更快的查找到表中的记录,都会在表中 ...

  4. mysql主键干嘛的_mysql主键是什么?

    在mysql中,主键全称"主键约束",是一个列或多列的组合,其值能唯一地标识表中的每一行,通过它可强制表的实体完整性:主键的作用是确定该数据的唯一性,主要是用于和其他表的外键关联, ...

  5. oracle和mysql主键有什么不同_mysql 主键与oracle 的不同

    InnoDB默认创建的主键索引是聚簇索引(Clustered Index),其它索引都属于辅助索引(Secondary Index),也被称为二级索引或非聚簇索引. 我们使用一个 表来详细说明 商品表 ...

  6. mysql外键约束使用场景_MySQL外键约束的使用

    软件工程试验二中要求建立如下数据库: 使用MySQL建立一个"图书数据库" BookDB,包含两张表: – Book {ISBN (PK), Title, AuthorID (FK ...

  7. mysql外键约束的作用_MySql外键约束作用

    NO ACTION 指定如果试图删除/修改某一行,而该行的键被其他表的现有行中的外键所引用,则产生错误并回滚 DELETE/UPDATE语句. CASCADE.SET NULL 和 SET DEFAU ...

  8. mysql 动态传入表名 存储过程_MySQL之常见约束以及事务和存储过程

    常见约束 数据库约束就是一种限制,用于限制表中行和列的数据,为了保证表中的数据准确和可靠 约束分类 六大约束 NOT NULL :       非空约束,用于保证该字段的值不能为空DEFAULT:   ...

  9. mysql外键检查的作用_MySQL外键使用及说明详解

    一.外键约束 MySQL通过外键约束来保证表与表之间的数据的完整性和准确性. 外键的使用条件: 1.两个表必须是InnoDB表,MyISAM表暂时不支持外键(据说以后的版本有可能支持,但至少目前不支持 ...

  10. mysql 外键有啥用途_Mysql外键是什么?有哪些用处?(图文+视频)

    本篇文章主要给大家介绍mysql外键是什么以及mysql数据库中的外键的作用. 首先大家要简单了解下什么mysql? MySQL是一个关系型数据库管理系统,也是最流行的关系型数据库管理系统之一,在 W ...

最新文章

  1. 发送快递:配置静态路由
  2. vscode+eslint自动格式化vue代码的方法
  3. ssm中怎么用location.href跳到controller层_聊聊自动驾驶中的功能开发
  4. jeewx-api.jar入门教程
  5. 本地部署Bootstrap3
  6. Jetson TX2开发板的调试笔记
  7. Qt 学习之路 :Qt 线程相关类
  8. 轻量级linux iso,antiX 17.2 发布,基于Debian的轻量级Linux发行版
  9. Android播放器基础封装库PlayerBase
  10. 开源:Http接口测试程序
  11. audio语音相关的基础知识-VAD,ASR,AEC,AGC,BF等
  12. filezillaserver使用教程(filezilla搭建ftp服务器步骤)
  13. 5脚耳机插座原理图_拆解报告:JLab Go Air 真无线运动耳机
  14. filco的pin码_Filco圣手二代双模蓝牙机械键盘连接方法
  15. 如何管理一个外包团队小总结
  16. vue后台管理开发所遇到的问题及解决办法
  17. chrome浏览器崩溃,设置也崩溃的解决办法
  18. 微信聊天记录丢失后的记录(二)
  19. 电磁阀的分类及应用范围
  20. 【Electronics】基于锁相环CD4046的数字频率合成器

热门文章

  1. 经典啊!空当接龙-1,-2,11982局解法
  2. 关于Linux服务器上部署tomcat项目,输入数据乱码解决
  3. 概率论笔记5.2中心极限定理
  4. 华为系统鸿蒙多少个月不卡,华为鸿蒙系统正式领证!你会支持华为手机吗?
  5. 翻转数组(flip()函数)--numpy
  6. CAD关联标注是什么意思?
  7. 关于Java项目中,word和Excel类型文件的预览功能实现
  8. EF中查看上下文执行的Sql语句
  9. 从分布式系统的设计理念说起
  10. 数学建模之线性规划(含MATLAB代码)