数据库相关知识2

数据库知识2

关系完整性

在这里插入图片描述
数据完整性 指的是数据库中的数据的准确性和可靠性

实体完整性约束:

目的: 在表中至少有一个唯一的 标识,主属性字段中,不为空,不重复

主键约束:唯一 不重复 不为空 primary key,一个表中只可以有一个主键约束
在这里插入图片描述

  1. 创建表的同时创建主键约束
    create table 表名(
    列名 数据类型 primary key,
    列名2 数据类型
    );
  2. 主键约束名字的写法:PK_列名
    create table 表名(
    列名1 数据类型,
    列名2 数据类型,
    constraint 主键约束的名字 primary key(列名)
    );

create table 表名(
列名1 数据类型,
列名2 数据类型,
primary key(列名)
);
4. 对已经存在的表

在这里插入图片描述
在这里插入图片描述

--对id添加主键约束
  alter table teacher modify id int(6) primary key;

-- 商品编号添加主键约束
alter table 商品信息表 add constraint PK_编号 primary key(商品编号);

-- 商品编号添加主键约束
alter table 商品信息表 add primary key(商品编号);

--删除主键约束
alter table teacher drop primary key;

联合主键

指把两个列堪称一个整体,这个整体不为空,唯一,不重复

  1. 创建表的同时创建联合主键
  2. 主键约束名字的写法:PK_列名
    create table 表名(
    列名1 数据类型,
    列名2 数据类型,
    constraint 主键约束的名字 primary key(列名1,列名2)
    );

create table 表名(
列名1 数据类型,
列名2 数据类型,
primary key(列名1,列名2)
);

-- 创建一个员工 员工编号姓名 年龄 部门编号 员工编号和部门编号当作联合主键
create table stuff(
			snum varchar(10),
			name char(10),
			age int,
			snnum int,
			constraint PK_员工部门 primary key (snum,snnum)		
);
-- 删除联合主键
alter table stuff drop primary key;
-- 对已经存在的表添加联合主键
alter table stuff add constraint PK_yuangpngbumen primary key(snum,snnum);

唯一约束

在这里插入图片描述
在这里插入图片描述

唯一约束 unique

  1. 不允许有重复的值,保证数据的唯一性

  2. 可以用空值

  3. 在一个表中可以有多个唯一约束

  4. 默认情况下唯一约束的名字和列名保持一致

  5. 添加唯一约束的列,系统也会默认给这个列添加一个唯一索引

  6. 创建表的同时创建唯一约束 UN_列名
    create table 表名(
    列名1 数据类型,
    列名2 数据类型,
    constraint 唯一约束的名字 unique(列名1)
    );

create table 表名(
列名 数据类型 unique,
列名2 数据类型
);

在这里插入图片描述
在这里插入图片描述
2. 对已经存在的表添加唯一约束
格式:alter table 表名 add unique(列名1,列名2);

  1. 删除唯一约束
    格式: alter table 表名 drop index 唯一约束的名字
    (唯一约束的删除是使用名字来删除的,不是根据关键字来删的)

域完整性约束:保证在表中不会输入无校的数据

在这里插入图片描述
默认约束:default 当默认约束来修饰某个列的时候,修饰的列即使不写数据也会默认一个值的

  1. 创建表的同时创建默认约束
    create table 表名(
    列名1 数据类型 default ‘字符串类型或日期类型的默认值’,
    列名2 数据类型 default 数值
    ) ;

在这里插入图片描述

在这里插入图片描述

alter table 成绩表 modify 成绩 int default 60;

在这里插入图片描述

非空约束 not null

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

CREATE TABLE StudentStudent(
       sno varchar(10) primary key,
       sname varchar(15) unique,
       sdept varchar(10) not null,
       sage int not null
);

参照完整性

在这里插入图片描述
在这里插入图片描述

外键约束 foreign key

  1. 创建表的同时创建外键约束
    主表(创建新表时要参照的表)
    create table 表1 (
    列名1 数据类型 primary key,
    列名2 数据类型
    );

在这里插入图片描述
从表(外键约束所在的表)FK_列名
create table 表1 (
列名1 数据类型 primary key,
列名2 数据类型,
constraint 外键约束的名字 foreign key(从表的列名1) references 主表表名1(列名1)
);

注意:关于引用的列的要求,从表和主表中的列,列名可以不一样,但这两个列的数据类型和内容必须保持一致。
在这里插入图片描述

CREATE TABLE StudentStudent(
       sno varchar(10) primary key,
       sname varchar(15) unique,
       sdept varchar(10) not null,
       sage int not null
);

CREATE TABLE stu(
        sno varchar(10),
        name char(10),
        age int,
        constraint FK_sno foreign key(sno) references StudentStudent(sno)
)

–给学生表添加一个外键约束
–主表

CREATE TABLE StudentStudent(
       sno varchar(10), 
       sname varchar(15) unique,
       sdept varchar(10) not null,
       sage int not null
);
CREATE TABLE chengji(
        sno varchar(10),
        chengji int
);
ALTER TABLE StudentStudent ADD constraint FK_xuehao foreign key(sno) references chengji(sno);
  1. 删除外键约束
    在这里插入图片描述
    格式: alter table 表明 drop foreign key 外键约束的名字;

练习题:
在这里插入图片描述

CREATE database 教师授课管理;
use 教师授课管理;
CREATE TABLE Teacher(
       Tno varchar(7) primary key,
       Tname varchar(10) not null,
       Tsex char(2) default '男',
       Birthday datetime,
       Dept varchar(20),
       Sid char(18) 
);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/93125.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

系统架构设计高级技能 · Web架构

现在的一切都是为将来的梦想编织翅膀,让梦想在现实中展翅高飞。 Now everything is for the future of dream weaving wings, let the dream fly in reality. 点击进入系列文章目录 系统架构设计高级技能 Web架构 一、Web架构介绍1.1 Web架构涉及技术1.2 单台服务…

docker-compose管理创建LNMP服务并运行Wordpress网站平台

文章目录 一.项目环境1. 环境描述2.项目需求 二.部署过程1.安装Docker2.安装Docker加速器3.Docker-Compose安装部署4.准备依赖文件、配置nginx5.配置mysql6.配置php7.编写docker-compose.yml8.验证 三.容器快照,然后将Docker镜像打包成tar包备…

十人拼购消费全返,全民拼购模式

传统的消费模式已经满足不了消费者们的消费心理,企业要去琢磨大众的消费心理,对于消费者来说,实际性的购物是必须的,但是平台商家吸引的亮点莫过于就是消费返利,不少商城平台包括店面都存在这种消费返利的形式&#xf…

Python 包管理(pip、conda)基本使用指南

Python 包管理 概述 介绍 Python 有丰富的开源的第三方库和包,可以帮助完成各种任务,扩展 Python 的功能,例如 NumPy 用于科学计算,Pandas 用于数据处理,Matplotlib 用于绘图等。在开始编写 Pytlhon 程序之前&#…

在云原生时代,构建高效的大数据存储与分析平台

文章目录 1. **选择适当的数据存储技术:**2. **采用分布式架构:**3. **数据分区和索引:**4. **采用列式存储:**5. **数据压缩和编码:**6. **使用缓存技术:**7. **数据分片和复制:**8. **自动化运…

ssm端游游戏账号销售管理系统源码和论文

ssm端游游戏账号销售管理系统源码和论文069 开发工具:idea 数据库mysql5.7 数据库链接工具:navcat,小海豚等 技术:ssm 摘 要 互联网发展至今,无论是其理论还是技术都已经成熟,而且它广泛参与在社会中的方方面面…

高忆管理:历次“回购潮”后市场怎么走?且看A股大数据

8月16日至现在,A股商场发表回购事项的公司数量算计现已超越200家,数量和密度较之前显着增加,构成最新一波“回购潮”。 若从提议回购的计算口径来看,8月16日至现在不到10天的时间里,超越60家公司发表提议回购公告&…

Windows平台Unity下播放RTSP或RTMP如何开启硬解码?

我们在做Windows平台Unity播放RTMP或RTSP的时候,遇到这样的问题,比如展会、安防监控等场景下,需要同时播放多路RTMP或RTSP流,这样对设备性能,提出来更高的要求。 虽然我们软解码,已经做的资源占有非常低了…

2.3 【MySQL】命令行和配置文件中启动选项的区别

在命令行上指定的绝大部分启动选项都可以放到配置文件中,但是有一些选项是专门为命令行设计的,比方说defaults-extra-file 、 defaults-file 这样的选项本身就是为了指定配置文件路径的,再放在配置文件中使用就没啥意义了。 如果同一个启动选…

喜报|星瑞格荣获“2022-2023年度国产数据库应用优秀解决方案”奖项

近日,赛迪网为表彰数字赛道上的先行者,联合《数字经济》杂志社和北京科创互联,共同组织以“树立行业标杆,引领服务创新”为中心的“2022-2023年度产业数字服务案例及创新成果征集活动”。该活动旨在鼓励各行业数字化应用技术创新树…

【Java 中级】一文精通 Spring MVC - 数据验证(七)

👉博主介绍: 博主从事应用安全和大数据领域,有8年研发经验,5年面试官经验,Java技术专家,WEB架构师,阿里云专家博主,华为云云享专家,51CTO 专家博主 ⛪️ 个人社区&#x…

uniapp 实现切换tab锚点定位到指定位置

1.主要使用uniapp scroll-view 组件的scroll-into-view属性实现功能 2.代码如下 <scroll-view:scroll-into-view"intoView"><u-tabsclass"tabs-list"change"tabChange":list"tabList"></u-tabs><view id"1&…

运算符(个人学习笔记黑马学习)

算数运算符 加减乘除 #include <iostream> using namespace std;int main() {int a1 10;int a2 20;cout << a1 a2 << endl;cout << a1 - a2 << endl;cout << a1 * a2 << endl;cout << a1 / a2 << endl;/*double a3 …

Java“牵手”天猫淘口令转换API接口数据,天猫API接口申请指南

天猫平台商品淘口令接口是开放平台提供的一种API接口&#xff0c;通过调用API接口&#xff0c;开发者可以获取天猫商品的标题、价格、库存、商品快递费用&#xff0c;宝贝ID&#xff0c;发货地&#xff0c;区域ID&#xff0c;快递费用&#xff0c;月销量、总销量、库存、详情描…

【OpenCV • c++】图像对比度调整 | 图像亮度调整

&#x1f680; 个人简介&#xff1a;CSDN「博客新星」TOP 10 &#xff0c; C/C 领域新星创作者&#x1f49f; 作 者&#xff1a;锡兰_CC ❣️&#x1f4dd; 专 栏&#xff1a;【OpenCV • c】计算机视觉&#x1f308; 若有帮助&#xff0c;还请关注➕点赞➕收藏&#xff…

MR混合现实石油化工课堂情景实训教学演示

MR&#xff08;混合现实&#xff09;技术是一种结合了虚拟现实&#xff08;VR&#xff09;和增强现实&#xff08;AR&#xff09;优势的新型技术&#xff0c;在教育领域具有广阔的应用前景。在石油化工课堂中&#xff0c;MR混合现实情景实训教学的应用可以大大提高学生的学习效…

AI时代,程序员需要焦虑吗?

原文来自 微信公众号"互联网技术人进阶之路". 目录 前言一、程序员会被 AI 取代么&#xff1f;二、服务端开发尚难被 AI 取代三、服务端开发何去何从&#xff1f;四、业界首部体系化、全景式解读服务端开发的著作第一部分&#xff1a;服务端开发的技术和方法第二部分…

OVRL-V2: A simple state-of-art baseline for IMAGENAV and OBJECTNAV 论文阅读

论文信息 题目&#xff1a;OVRL-V2: A simple state-of-art baseline for IMAGENAV and OBJECTNAV 作者:Karmesh Yadav&#xff0c; Arjun Majumdar&#xff0c; Ram Ramrakhya 来源&#xff1a;arxiv 时间&#xff1a;2023 代码地址&#xff1a; https://github.com/ykarmesh…

好用的可视化大屏适配方案

1、scale方案 优点&#xff1a;使用scale适配是最快且有效的&#xff08;等比缩放&#xff09; 缺点&#xff1a; 等比缩放时&#xff0c;项目的上下或者左右是肯定会有留白的 实现步骤 <div className"screen-wrapper"><div className"screen"…

细说GNSS模拟器的RTK功能(一)

什么是RTK&#xff1f; 实时动态载波相位差分技术&#xff08;RTK&#xff09;是通过测试来纠正当前卫星导航&#xff08;GNSS&#xff09;系统常见误差的应用。RTK定位基于至少两个GNSS接收机——参考站和一个或多个流动站。 参考站在可视卫星中获取测量数据&#xff0c;然后…