IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> mysql建表约束_主键/索引约束 -> 正文阅读

[大数据]mysql建表约束_主键/索引约束

01.主键约束:

-- 主键约束
-- 使某个字段不重复且不得为空,确保表内所有数据的唯一性

CREATE table user(
	id int primary key,
	name varchar(20)
);

show tables;

describe user ;

?-- 联合主键
-- 联合主键中的每个字段都不能为空,并且加起来不能和已设置的联合主键重复

DROP table user ;
CREATE table user (
	id int ,
	name varchar (20),
	passward varchar (20),
	primary key(id,name)
);

describe user ;

可以看到下面两个字段都为primary?

?-- 自增约束
-- 自增约束的主键由系统自动递增分配

DROP table user ;
CREATE table user (
	id int auto_increment,
	name varchar (20),
	primary key (id)
);

describe user ;

?

-- 添加主键约束
-- 如果忘记设置主键,还可以通过SQL语句设置(两种方式):

DROP table user ;
CREATE table user (
	id int ,
	name varchar (20)
);
describe user ;

?

添加主键约束:

ALTER table user add primary key (id);

或者ALTER table user modify id int primary key ;

ALTER table user add primary key (id);

describe user ;

?

删除一下表

DROP table user ;

?02.索引约束:

-- 建表时创建唯一索引

CREATE table user (
	id int ,
	name varchar (20),
	unique(name)
);
describe user ;

?

?-- 添加唯一索引
-- 如果建表时没有设置唯一索引,还可以通过SQL语句设置(两种方式):

DROP table user ;
CREATE table user (
	id int ,
	name varchar (20)
);
describe user ;

使用ALTER table user add unique (name)或者?ALTER table user modify name varchar (20) unique添加索引

ALTER table user add unique (name);
describe  user ;

-- 删除索引

ALTER table user drop index name ;
describe  user ;

?

? ? ? ? ?插入一条数据进行查看:

INSERT into user values (12,null);
SELECT * FROM user ;

?

? ? ? ? 这边发现索引是可以为NULL的,注意区分主键和索引的区别

主键是一种约束,唯一索引是一种索引,两者在本质上是不同的。

主键创建后一定包含一个唯一性索引,唯一性索引并不一定就是主键。

唯一性索引列允许空值,而主键列不允许为空值。

主键列在创建时,已经默认为非空值 + 唯一索引了。

主键可以被其他表引用为外键,而唯一索引不能。

一个表最多只能创建一个主键,但可以创建多个唯一索引。

主键和唯一索引都可以有多列。

?

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-03-08 22:34:18  更:2022-03-08 22:37:30 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 9:53:04-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码