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 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> sql数据库 主键、自增约束、唯一约束、非空约束、默认约束、外键约束 -> 正文阅读

[大数据]sql数据库 主键、自增约束、唯一约束、非空约束、默认约束、外键约束

primary key主建

唯一标识表中的每一条数据
不能重复,不能为空

create table if not exists stu(
    id int primary key, <------#主建
    name varchar(20)
);

auto_increment自增约束

自增长字段的值从1开始,每次增加1;
数据不重复,生成唯一的id
自增长字段必须是主键

create table if not exists stu(
    id int auto_increment primary key, <------#主建
    name varchar(20)
);

自增约束可以和逐渐结合在一起使用

如果说我们创建表的时候,忘记创建主键约束

create table user4(
	id int,
	name verchar(20)
);
alter table user4 add primary key(id);

如何删除主键

alter table user4 drop primary key

修改主键约束

使用modify修改字段,添加约束

alter table user4 modify id int primary key;

唯一约束

约束修饰字段的值不可以重复

create table user5(
	id int,
	name varchar(20)
);

alter table user5 add unique(name);
create table user6(
	id int,
	name varchar(20) unique
);
create table user6(
	id int,
	name varchar(20),
	unique(name)
);
create table user6(
	id int,
	name varchar(20),
	unique(id,name)#id和name都不可以重复
);

删除唯一约束

alter table  user7 drop index name;
#不加index会直接把name这个字段删除没

modify添加

alter table user7 modify name varchar(20) unique;

注意

  1. 建表的时候就添加约束
  2. 可以使用alter 。。。。。add。。。
  3. alter。。。modify
  4. 删除alter。。。。 drop

not null非空约束

修饰的字段不能为空

create table user9(
	id int,
	name varchar(20) not null
);

default默认约束

当我们插入字段值的时候,如果没有传值,就会使用默认值

create table user10(
	id int,
	name varchar(20),
	age int default 10
)

在这里插入图片描述

foreigin_key 外键约束

涉及到两个表:父表、子表
主表、副标

#班级表
create table classes(
	id int primary key,
	name varchar(20)
);
#学生表
create table students(
	id int primary key,
	name varchar(20),
	class_id int,
	foreign key(class_id) reference classes(id)
);

在这里插入图片描述

insert into classes value (1,'一班')
insert into classes value (2,'二班')
insert into classes value (3,'三班')
insert into classes value (4,'四班')

在这里插入图片描述

insert into students values(1001,'张三',1)
insert into students values(1002,'张三',2)
insert into students values(1003,'张三',3)
insert into students values(1004,'张三',4)


insert into students values(1005,'张三',5)

在这里插入图片描述
主表中classes中没有的数据值,在副表中,是不可以使用的。
主表中的记录被副表引用,是不可以被删除的。
在这里插入图片描述
参考
参考笔记

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-10-09 16:21:04  更:2021-10-09 16:23: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 1:31:39-

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