当前位置: 首页 > news >正文

【数据库系统概论】数据定义之基本表的定义/创建、修改和删除

  • 前言 🚩
  • 定义/创建基本表
    • 语法
    • 示例
  • 修改基本表
    • 语法
    • 示例
  • 删除基本表
    • 语法
    • 示例
  • 感谢 💖

前言 🚩

SQL支持数据库系统的三级模式结构,其模式、外模式和内模式中的基本对象有表、视图和索引,因此,SQL的数据定义功能包括定义表、定义视图和定义索引。

前面【数据库系统概论】SQL是什么?它有什么特点?提到,SQL中只有三个数据定义动词,分别是:CREATE(创建)、DROP(删除)ALTER(修改)。虽然只有三个动词,但通过灵活的使用能够发挥强大的作用。

本篇文章介绍如何定义/创建、修改和删除基本表。

定义/创建基本表

定义表需要定义表名、列名、列的数据类型。还可以定义与该表有关的完整性约束条件。

语法

CREATE TABLE <表名><列名> <数据类型>[ <列级完整性约束条件> ][<列名> <数据类型>[ <列级完整性约束条件>] ][<表级完整性约束条件> ];
  • <表名>:所要定义的基本表的名字
  • <列名>:组成该表的各个属性(列)
  • <列级完整性约束条件>:涉及相应属性列的完整性约束条件
  • <表级完整性约束条件>:涉及一个或多个属性列的完整性约束条件

定义表的各个属性时需要指明数据类型和长度。不同的RDBMS中支持的数据类型不完全相同

SQL Server中常用的完整性约束:

  • 主码约束: PRIMARY KEY
  • 唯一性约束:UNIQUE
  • 非空值约束:NOT NULL
  • 参照完整性约束(外码约束):FOREIGN KEY……REFERENCES
  • 检查约束:CHECK
  • 默认值约束:DEFAULT

示例

建立一个学生表Student,其中包括学号(Sno),姓名(Sname),性别(Ssex),年龄(Sage),入学时间(Sdate)5个属性。其中学号为主键,姓名唯一,入学时间不能为空。

 CREATE TABLE Student(Sno CHAR(6) PRIMARY KEY,Sname CHAR(10) UNIQUE,        Ssex CHAR(2) CHECK(Ssex IN (’男’,’女’)),Sage SMALLINT,Sdate DATE NOT NULL;

建立一个课程表Course,其中包括课程号(Cno),课程(Cname),先修课(Cpno),学分(Ccredit)4个属性。其中课程号为主键,学分不能为空。

CREATE TABLE Course(Cno  CHAR(3) PRIMARY KEY,Cname CHAR(20),Cpno  CHAR(3),Ccredit  SMALLINT  NOT NULL);

建立学生选课表SC,其中包括学号(Sno),课程号(Cno)和成绩(Grade)。学号和课程号为主键。

CREATE TABLE SC (Sno  CHAR(6),Cno  CHAR(3),Grade  SMALLINT,PRIMARY KEY(Sno,Cno), /*表级完整性约束条件,(Sno,Cno)为主键*/FOREIGN KEY (Sno) REFERENCES Studnet(Sno),/*表级完整性约束条件,Sno为外键,参照Student表中的Sno*/FOREIGN KEY (Cno) REFERENCES Course(Cno)/*表级完整性约束条件,Cno为外键,参照Course表中的Cno*/);

修改基本表

语法

修改表包括:添加新的属性列、删除列、添加完整性约束、删除完整性约束、修改列的数据类型。

 ALTER TABLE <表名>
[ADD <新列名> <数据类型> [完整性约束]]
[ADD <表级完整性约束>]
[DROP [COLUMN ] <列名> ]
[DROP  CONSTRAINT <完整性约束名>]
[ALTER COLUMN <列名> <数据类型> ]

示例

向Student表中增加 “所在系(Sdept)”列:

ALTER TABLE Student ADD Sdept CHAR(20);
/* 注意当向表中新增加一列后,表中相应列的值为空值 */

将年龄的数据类型改为长整型:

ALTER TABLE Student ALTER COLUMN Sage INT;

删除基本表

基本表删除后,表中的数据以及此表上建立的索引、视图、触发器等都将自动被删除。另外,DROP TABLE不能用于删除由外键约束引用的表,必须先删除有外键约束条件的表,然后才能删除其引用的表。

语法

DROP TABLE <表名>;

示例

删除Student表:

DROP TABLE Student;

感谢 💖

好啦,这次的分享就到这里,感谢大家看到这里🤞

相关文章:

【数据库系统概论】数据定义之基本表的定义/创建、修改和删除

前言 &#x1f6a9;定义/创建基本表语法示例 修改基本表语法示例 删除基本表语法示例 感谢 &#x1f496; 前言 &#x1f6a9; SQL支持数据库系统的三级模式结构&#xff0c;其模式、外模式和内模式中的基本对象有表、视图和索引&#xff0c;因此&#xff0c;SQL的数据定义功能…...

面试算法22:链表中环的入口节点(1)

题目 如果一个链表中包含环&#xff0c;那么应该如何找出环的入口节点&#xff1f;从链表的头节点开始顺着next指针方向进入环的第1个节点为环的入口节点。 例如&#xff0c;在如图4.3所示的链表中&#xff0c;环的入口节点是节点3。 分析 第1步&#xff1a;确认是否包含环…...

蓝桥杯---第二讲---二分与前缀和

文章目录 前言Ⅰ. 数的范围0x00 算法思路0x00 代码书写 Ⅱ. 数的三次方根0x00 算法思路0x01代码书写 Ⅲ. 前缀和0x00 算法思路0x01 代码书写 Ⅳ. 子矩阵的和0x00 算法思路0x01 代码书写 Ⅴ. 机器人跳跃问题0x00 算法思路0x01 代码书写 Ⅵ. 四平方和0x00 算法思路0x01 代码书写 …...

d3dx9_39.dll如何修复?最新修复d3dx9_39.dll方法分享

大家好&#xff01;今天我要和大家分享的主题是“d3dx9_39.dll丢失的修复方法”。我们都知道&#xff0c;在使用电脑的过程中&#xff0c;经常会遇到各种问题&#xff0c;而其中最常见的就是文件丢失。d3dx9_39.dll就是其中一个常见的丢失文件。那么&#xff0c;如何修复这个丢…...

阿里云轻量应用服务器月流量限制说明(部分套餐不限流量)

阿里云轻量应用服务器部分套餐限制月流量&#xff0c;轻量应用服务器按照套餐售卖&#xff0c;有的套餐限制月流量&#xff0c;有的不限制流量。像阿里云轻量2核2G3M带宽轻量服务器一年108元和轻量2核4G4M带宽一年297.98元12个月&#xff0c;这两款是不限制月流量的。阿里云百科…...

项目设计:YOLOv5目标检测+机构光相机(intel d455和d435i)测距

1.介绍 1.1 Intel D455 Intel D455 是一款基于结构光&#xff08;Structured Light&#xff09;技术的深度相机。 与ToF相机不同&#xff0c;结构光相机使用另一种方法来获取物体的深度信息。它通过投射可视光谱中的红外结构光图案&#xff0c;然后从被拍摄物体表面反射回来…...

WPF中DataContext的绑定技巧

先看效果&#xff1a; 上面的绑定值都是我们自定义的属性&#xff0c;有了以上的提示&#xff0c;那么我们可以轻松绑定字段&#xff0c;再也不用担心错误了。附带源码。 目录 1.建立mvvm项目 2.cs后台使用DataContext绑定 3.xaml前台使用DataContext绑定 4.xaml前台使用Da…...

【Spring MVC研究】MVC原理:DispatcherServlet的初始化,初始化好等于MVC准备好

文章目录 1. EnableWebMVC 开启 MVC 功能2. 初始化自定义的 MVC 组件2.1. 初始化过程2.2. 如何分析复杂的 Spring 组件注册 3. 容器启动后会初始化 DispatcherServlet4. DispatcherServlet 初始化过程总结5. 资料参考 把DispatcherServlet 准备好意味着服务器已经可以处理请求了…...

Kafka的分布式架构与高可用性

导语 一开始我们就说过Kafka是一款开源的高吞吐、分布式的消息队列系统&#xff0c;那么今天我们就来说下它的分布式架构和高可用性以及双/多中心部署。 Kafka 体系架构简介 以下是 Kafka 的软件架构&#xff0c;整个 Kafka 体系结构由 Producer、Consumer、Broker、ZooKeepe…...

Spring Cloud学习笔记【分布式请求链路跟踪-Sleuth】

文章目录 Spring Cloud Sleuth概述概述主要功能&#xff1a;Sleuth中的术语和相关概念官网 zipkin配置下载运行zipkin下载zipkin运行 demo配置服务提供者 lf-userpom.xmlapplication.ymlUserController 服务调用者 lf-authpom.xmlapplication.ymlAuthController 测试 Spring Cl…...

Java开发中的操作日志详解(InsCode AI 创作助手)

Java开发中的操作日志详解 一、操作日志的作用 故障排除和调试&#xff1a; 操作日志可以记录应用程序的各种活动&#xff0c;包括错误、异常、警告和信息性消息。这有助于开发人员快速定位和解决问题。性能分析&#xff1a; 通过记录关键操作和性能指标&#xff0c;操作日志…...

FutureTask和CompletableFuture的模拟使用

模拟了查询耗时操作&#xff0c;并使用FutureTask和CompletableFuture分别获取计算结果&#xff0c;统计执行时长 package org.alllearn.futurtask;import com.google.common.base.Stopwatch; import com.google.common.collect.Lists; import lombok.AllArgsConstructor; imp…...

Redis作为缓存,mysql的数据如何与redis进行同步?

Redis作为缓存&#xff0c;mysql的数据如何与redis进行同步&#xff1f; 一定要设置前提&#xff0c;先介绍业务背景 延时双删 双写一致性:当修改了数据库的数据也要同时更新缓存的数据&#xff0c;缓存和数据库的数据要保持一致 读操作:缓存命中&#xff0c;直接返回;缓存未…...

申请免费 SSL 证书为您的小程序加密通信

在今天的网络环境中&#xff0c;数据安全和隐私保护变得尤为重要。无论是网站还是应用程序&#xff0c;为其提供安全的通信渠道都是至关重要的。对于小程序开发者来说&#xff0c;使用 SSL&#xff08;Secure Sockets Layer&#xff09;证书可以有效地保障用户数据的安全&#…...

Go 并发编程

并发编程 1.1 并发与并⾏ 并⾏与并发是两个不同的概念&#xff0c;普通解释&#xff1a; 并发&#xff1a;交替做不同事情的能⼒并⾏&#xff1a;同时做不同事情的能⼒ 如果站在程序员的⻆度去解释是这样的&#xff1a; 并发&#xff1a;不同的代码块交替执⾏并⾏&#xf…...

鱼眼相机去畸变(图像拉直/展开/矫正)算法及实战总结

本文介绍两种方法 1、经纬度矫正法 2、棋盘格矫正法 一、经纬度矫正法 1、算法说明 经纬度矫正法&#xff0c; 可以把鱼眼图想象成半个地球&#xff0c; 然后将地球展开成地图&#xff0c;经纬度矫正法主要是利用几何原理&#xff0c; 对图像进行展开矫正。 经过P点的入射光线…...

es6 数据类型

​ es6 数据类型 map 数据类型 >Map 对象保存键值对。 用途 &#xff1a; Object的key无法支持该数据时需要了解对象大小时 map 数据类型任何值(对象或者原始值) 都可以作为一个键。 Object 的键只能是字符串 let myMap new Map(); let myMap1 new Map(); var keyStrin…...

【postgresql】

看到group by 1&#xff0c;2 和 order by 1&#xff0c; 2。看不懂&#xff0c;google&#xff0c;搜到了Stack Overflow 上有回答 What does SQL clause “GROUP BY 1” mean? 大概意思就是&#xff0c;group by&#xff0c; order by 后面跟数字&#xff0c;指的是 selec…...

【C++】空间配置器 allocator:原理及底层解析

文章目录 空间配置器一级空间配置器二级空间配置器1. 内存池2. SGI-STL中二级空间配置器设计 - - 哈希桶3. 二级空间配置器的空间申请 空间配置器的默认选择空间配置器的在封装&#xff1a;添加了数据类型大小空间配置器对象的构造与析构 容器中的 allocator 空间配置器 提到空…...

微信小程序 movable-area 区域拖动动态组件演示

movable-area 组件在小程序中的作用是用于创建一个可移动的区域&#xff0c;可以在该区域内拖动视图或内容。这个组件常用于实现可拖动的容器或可滑动的列表等交互效果。 使用 movable-area 组件可以对其内部的 movable-view 组件进行拖动操作&#xff0c;可以通过设置不同的属…...

【NotebookLM知识图谱构建权威白皮书】:基于127个企业POC验证的4层语义对齐框架

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;NotebookLM知识图谱构建概览 NotebookLM 是 Google 推出的面向研究者与开发者、基于用户自有文档构建可推理知识体的 AI 工具。其核心能力并非依赖通用语料&#xff0c;而是围绕上传文档&#xff08;PD…...

环境科学论文降AI工具免费推荐:2026年环境科学研究生毕业论文降AI知网维普99.26%4.8元完整指南

环境科学论文降AI工具免费推荐&#xff1a;2026年环境科学研究生毕业论文降AI知网维普99.26%4.8元完整指南 整理了一份环境科学论文降AI的完整选购指南&#xff0c;按性价比排序。 首推嘎嘎降AI&#xff08;www.aigcleaner.com&#xff09;&#xff0c;4.8元&#xff0c;99.2…...

避坑指南:从ADS导入DXF到Altium Designer时,如何解决封装丢失和铺铜失败的常见问题

从ADS到Altium Designer的工程迁移&#xff1a;封装与铺铜问题的深度解决方案 在射频与微波电路设计领域&#xff0c;工程师常常面临一个典型困境&#xff1a;如何在ADS&#xff08;Advanced Design System&#xff09;中完成高频仿真后&#xff0c;将设计无缝迁移到Altium Des…...

SillyTavern角色卡片系统:从图片到智能伙伴的魔法之旅

SillyTavern角色卡片系统&#xff1a;从图片到智能伙伴的魔法之旅 【免费下载链接】SillyTavern LLM Frontend for Power Users. 项目地址: https://gitcode.com/GitHub_Trending/si/SillyTavern 你是否曾想过&#xff0c;一张普通的图片如何能变成一个会思考、会对话、…...

Gita异步执行机制详解:高效管理大型项目的核心技术

Gita异步执行机制详解&#xff1a;高效管理大型项目的核心技术 【免费下载链接】gita Manage many git repos with sanity 从容管理多个git库 项目地址: https://gitcode.com/gh_mirrors/gi/gita 在现代软件开发中&#xff0c;开发者经常需要同时管理多个Git仓库。随着项…...

【审计领域-监督监管】【信息科学与工程学】【会计领域】第十三篇 云计算业务-财务-会计-审计-税务融合模03

云计算各层服务招投标围标串标审计模型详表(续30项:I-455至I-484) 编号 类型 财务/会计/审计领域 行业类型 产品/服务/其他的财务/会计/审计/税收类型 函数/算法/规则逐步推理思考的数学方程式表达级业务财务-会计-审计融合模型 时序方程式 参数列表及参数的数学特征…...

别再手动算q值了!用Excel地理探测器软件包,5分钟搞定空间分异分析

别再手动算q值了&#xff01;用Excel地理探测器软件包&#xff0c;5分钟搞定空间分异分析 地理空间数据分析中&#xff0c;识别变量间的分异特征和驱动因子一直是研究难点。传统方法依赖复杂公式推导和编程实现&#xff0c;让许多研究者望而却步。而地理探测器&#xff08;Geod…...

从沙子到车辙(1.5):从图灵机到 ECU

1.5 从图灵机到 ECU 一座恶魔般的机房 1945 年&#xff0c;费城&#xff0c;宾夕法尼亚大学摩尔工程学院。 一座 30 吨重的巨兽蹲在一间约 167 平方米的机房里。它的名字叫 ENIAC&#xff08;Electronic Numerical Integrator and Computer&#xff09;——世界上第一台通用…...

分布式学习中的个性化算法与通信优化实践

1. 分布式学习与个性化算法概述在当今数据爆炸式增长的时代&#xff0c;分布式机器学习已成为处理大规模数据的重要范式。传统集中式学习面临数据孤岛、隐私泄露和通信瓶颈等挑战&#xff0c;而分布式学习通过将计算任务分散到多个节点协同完成&#xff0c;为解决这些问题提供了…...

抠图软件推荐哪个好用?我用了这么多工具后,终于找到最顺手的

最近工作中需要频繁处理证件照和商品图&#xff0c;我试遍了市面上十几款抠图软件&#xff0c;从专业的Photoshop到各种在线工具&#xff0c;最后发现一款微信小程序彻底改变了我的工作效率。今天就来分享一下我的真实使用体验。为什么要专门用抠图工具&#xff1f;你可能会想&…...