数据库相关知识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) 
);

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CSS 滚动容器与固定 Tabbar 自适应的几种方式

问题 容器高度使用 px 定高时,随着页面高度发生变化,组件展示的数量不能最大化的铺满,导致出现底部留白。容器高度使用 vw 定高时,随着页面宽度发生变化,组件展示的数量不能最大化的铺满,导致出现底部留白…

数学建模(四)整数规划—匈牙利算法

目录 一、0-1型整数规划问题 1.1 案例 1.2 指派问题的标准形式 2.2 非标准形式的指派问题 二、指派问题的匈牙利解法 2.1 匈牙利解法的一般步骤 2.2 匈牙利解法的实例 2.3 代码实现 一、0-1型整数规划问题 1.1 案例 投资问题: 有600万元投资5个项目&…

Android——基本控件(下)(十九)

1. 菜单:Menu 1.1 知识点 (1)掌握Android中菜单的使用; (2)掌握选项菜单(OptionsMenu)的使用; (3)掌握上下文菜单(ContextMenu&am…

Windows10 系统安装教程

多虚不如少实。 一、 下载安装包 下载前景:网上下载的 windows10 系统一般都有捆绑软件,用户体验不爽,所以建议到 正规渠道下载 windows10 系统的不同版本。另外网上也有一些 windows10 系统的镜像文件 可以直接一键安装,…

C# Emgu.CV 条码检测

效果 项目 代码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using Emgu.CV; using Emgu.CV.Util; using static Emgu.C…

webrtc学习(七)-媒体协商

一.概述 媒体协商嘴主要的作用就是看通信双方都支持那些编解码器,这些编解码器又包含那些参数,比如音频的参数包括采样率,采样大小,通道数,对于视频的参数包括分辨率帧率等一系列参数,此外传输中用的payloa…

20 MySQL(下)

文章目录 视图视图是什么定义视图查看视图删除视图视图的作用 事务事务的使用 索引查询索引创建索引删除索引聚集索引和非聚集索引影响 账户管理(了解非DBA)授予权限 与 账户的相关操作 MySQL的主从配置 视图 视图是什么 通俗的讲,视图就是…

电子仓库预测水浸事件,他怎么做到的?

仓库环境中水浸事件可能导致严重的损失,不仅对货物造成损害,还可能影响设备的正常运行甚至威胁安全。 因此,为了应对这一挑战,引入一套完善的仓库水浸监控系统成为了不可或缺的措施。 客户案例 广东某电子公司是一家领先的电子设…

加油站【贪心算法】

加油站 在一条环路上有 n 个加油站,其中第 i 个加油站有汽油 gas[i] 升。 你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i1 个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发,开始时油箱为空。 给定两个整数数组 gas 和…

uni.uploadFile上传 PHP接收不到

开始这样,后端$file $request->file(file);接收不到 数据跑到param中去了 去掉Content-Type,就能接收到了 param只剩下

openGauss学习笔记-49 openGauss 高级特性-索引推荐

文章目录 openGauss学习笔记-49 openGauss 高级特性-索引推荐49.1 单query索引推荐49.2 虚拟索引49.3 workload级别索引推荐 openGauss学习笔记-49 openGauss 高级特性-索引推荐 openGauss的索引推荐的功能,共包含三个子功能:单query索引推荐、虚拟索引…

.NET Core 实现日志打印输出在控制台应用程序中

在本文中,我们将探讨如何在 .NET Core 应用程序中将日志消息输出到控制台,从而更好地了解应用程序的运行状况。 .NET Core 实现日志打印输出在控制台应用程序中 在 .NET Core 中,日志输出打印是使用 Microsoft.Extensions.Logging 命名空间…

phpspreadsheet导出excel自动获得列,数字下标

安装composer require phpoffice/phpspreadsheetuse PhpOffice\PhpSpreadsheet\Spreadsheet; use PhpOffice\PhpSpreadsheet\Writer\Xlsx; use PhpOffice\PhpSpreadsheet\Style\Border;$spreadsheet new Spreadsheet(); $sheet $spreadsheet->getActiveSheet();//从65开&a…

谷歌浏览器调试技巧

一、概述 记录谷歌浏览器实用的调试技巧。 二、详解 技巧1:打开F12调试工具的前提下按下Ctrl Shift P 如下图所示,按下组合键,可打开命令面板。 技巧2:调试工具的Element面板下,按照Alt 鼠标左键可以将目标节点全部…

redis应用 2:延时队列

我们平时习惯于使用 Rabbitmq 和 Kafka 作为消息队列中间件,来给应用程序之间增加异步消息传递功能。这两个中间件都是专业的消息队列中间件,特性之多超出了大多数人的理解能力。 使用过 Rabbitmq 的同学知道它使用起来有多复杂,发消息之前要…

【网络】多路转接——五种IO模型 | select

🐱作者:一只大喵咪1201 🐱专栏:《网络》 🔥格言:你只管努力,剩下的交给时间! 五种IO模型 | select 🍧五种IO模型🍧select🧁认识接口&#x1f9c1…

网工内推 | IT网工,华为、华三认证优先,15k*13薪

01 广东善能科技发展股份有限公司 招聘岗位:IT网络工程师 职责描述: 1、负责公司项目售后技术支持工作; 2、负责项目交付实施,配置调试、运维等; 3、参加合作厂商产品技术知识培训; 4、参加合作厂商工程师…

flink on yarn with kerberos 边缘提交

flink on yarn 带kerberos 远程提交 实现 flink kerberos 配置 先使用ugi进行一次认证正常提交 import com.google.common.io.Files; import lombok.extern.slf4j.Slf4j; import org.apache.commons.io.FileUtils; import org.apache.flink.client.cli.CliFrontend; import o…

大数据(四)主流大数据技术

大数据(四)主流大数据技术 一、写在前面的话 To 那些被折磨打击的好女孩(好男孩): 有些事情我们无法选择,也无法逃避伤害。 但请你在任何时候都记住: 你可能在一些人面前,一文不值&a…

nacos服务器启动报错集合

报错1 Error creating bean with name ‘user‘: Unsatisfied dependency expressed through field ‘jwtTokenManage 开启鉴权之后,你可以自定义用于生成JWT令牌的密钥,application.properties中的配置信息为: ### Since 1.4.1, worked when…