【数据库】SQL 表、索引、视图的创建修改与删除

SQL 表、索引、视图的创建修改与删除

  • 基本表操作
    • 创建表
    • 修改表
    • 删除表
  • 索引
    • 建立索引
    • 删除索引
  • 视图
    • 视图的创建
    • 视图的删除


SQL表操作,又称为SQL数据定义,包含对表、视图、索引的创建和删除。

基本表与视图:
基本表和试图都是表,有所不同的是基本表是实际存储在数据库中的表,视图是虚表,是从基本表或其他视图中导出的表。所以数据库中,存放的只有视图的定义,而不存放视图的数据。


基本表操作

创建表

-- 创建案例
CREATE TABLE S(Sno CHAR(5) NOT NULL UNIQUE,Sname CHAR(3) UNIQUE,City CHAR(20),PRIMARY KEY(Sno));

根据上述创建表案例,有如下创建表格式:

CREATE TABLE <表名>(<列名><数据类型>[列级完整性约束条件])

有如下对应键值:

<表名>: S
<列名>: Sno, Sname, City
<数据类型>: CHAR(5)
[列级完整性约束条件]: NOT NULL UNIQUE

列级完整性约束条件有 NULL(空) 和 UNIQUE(取值唯一)两种,上述 NOT NULL UNIQUE 则表示取值唯一且不为空。

此外,需要关注 PRIMARY KEY(Sno) 代码的含义,定义了 Sno 为主码,主码自带属性唯一不为空。


修改表

-- 修改表(增加列)
ALTER TABLE S ADD Zap CHAR(6);
-- 修改表(修改列)
ALTER TABLE S MODIFY City INT;

增加列案例中, 修改表 S 增加数据类型为 CHAR(6) 的新列 Zap
修改列案例中, 修改表 S 中字段 CityINT 类型;

ALTER TABLE <表名>[ADD<新列名><数据类型>[完整性约束条件]][MODIFY<列名><数据类型>];

删除表

-- 删除表S案例
DROP TABLE S;

删除表语句格式为:

DROP TABLE <表名>;

索引

数据库中的索引与书籍中的索引类似,在一本书中,利用索引可以快速地查找所需信息,而无须阅读整本书。在数据库中,索引使数据库程序无须对整个表进行扫描,就可以在其中找到所需数据。书中的索引是一个词语列表,其中注明了包含各个词的页码。而数据库的索引则是某个表中一列或者若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。

建立索引

-- 建立索引案例
CREATE UNIQUE INDEX S-SNO ON S(Sno);

上述建立索引案例中,供应商 SSno 按升序建立索引。索引建立规则如下;

CREATE [UNIQUE][CLUSTER] INDEX <索引名> ON <表名>(<列名>[<次序>])
次序:可选 ASC(升序)、DSC(降序),默认值为 ASC
UNIQUE:表明此索引的每一个索引值只对应唯一的数据记录;
CLUSTER:表明要建立的索引是聚簇索引,意为索引项的顺序是与表中记录的物理顺序一致的索引组织。

P.s. 建立索引的优点:

  • 大大加快数据的检索速度;
  • 使用 ORDER BY 和 GROUP BY 子句进行检索数据时,显著减少查询中分组和排序的时间;

删除索引

DROP INDEX <索引名>;

视图

视图是从一个或者多个基本表或视图中导出的表,其结构和数据建立在对表的查询基础上。所以视图不是真实存在的表,而是一个虚拟表。视图所对应的数据并不实际地存储在数据库中,而是存储在视图所引用的表中。视图的优点如下:

  • 使用视图集中数据,根据用户定制内容显示;
  • 屏蔽数据的复杂性,用户不必了解到数据库的结构就可以方便使用和管理数据;

视图的创建

-- 创建视图的案例
CREATE VIEW CS-STUDENT
AS SELECT Sno,Sname,Sage,Sex
FROM STUDENT
WHERE SD='CS'
WITH CHECK OPTION;

视图的子查询,可以是复杂的 SELECT 语句,但是不允许含有 ORDER BY 子句和 DISTINCT 短语;
WITH CHECK OPTION 表示在对视图进行更新或者插入操作时,保证更新或者插入的行满足定义的 WHERE 条件;


视图的删除

DROP VIEW CS-STUDENT;

删除视图 CS-STUDENT

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

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

相关文章

TiDB部署及常用命令

TiDB是一个分布式数据库系统&#xff0c;具有高可用性、可扩展性和兼容性等特点。下面是一个TiDB的部署方案及常用命令50条。 一、TiDB部署方案 安装TiUP&#xff1a;TiUP是一个TiDB生态系统的集成管理工具&#xff0c;你可以使用它来安装和管理各种TiDB组件。 curl --proto h…

LiveMedia视频中间件如何与第三方系统实现事件录像关联

一、平台简介 LiveMedia视频中间件是支持部署到本地服务器或者云服务器的纯软件服务&#xff0c;也提供服务器、GPU一体机全包服务&#xff0c;提供视频设备管理、无插件、跨平台的实时视频、历史回放、语音对讲、设备控制等基础功能&#xff0c;支持视频协议有海康、大华私有协…

Tomcat的安装和配置

一.Tomcat下载&#xff1a;去Tomcat官网地址 在左侧Download中选择你需要下载的版本&#xff0c;这里我选择Tomcat9 根据电脑系统是32位还是64位选择&#xff0c;这里我选择64-bit Windows zip&#xff0c;点击即可下载 下载后直接解压&#xff0c;这里我解压在E盘的computer…

使用scp把另外一台服务器上的文件夹/文件拷贝到当前服务器

1、复制文件夹 1.1 经常需要传输请做一个免密登录 cat >> /etc/hosts << EOF 192.168.186.128 ansible 192.168.186.129 node1 192.168.186.130 node2 192.168.186.131 node3 EOF#所有机器上都操作 ssh-keygen -t rsa #一路回车&#xff0c;不输入…

Python 简介

一、Python 简介 Python 是著名的“龟叔” Guido van Rossum 在 1989 年圣诞节期间&#xff0c;为了打发无聊的圣诞节而编写的一个编程语言。牛人就是牛人&#xff0c;为了打发无聊时间竟然写了一个这么牛皮的编程语言。 现在&#xff0c;全世界差不多有 600 多种编程语言&am…

性能测试之性能测试指标详解

前言 刚开始&#xff0c;以为做性能测试&#xff0c;就是做些脚本、参数化、关联&#xff0c;压起来之后&#xff0c;再扔出一个结果。 但实际上不止这些内容&#xff0c;还要加上性能分析&#xff0c;关注调优之后响应时间有多大的提升&#xff0c;TPS 有多大的提高&#xf…

文本生成解码策略

解码策略 1. sample实现了怎样的功能 不是直接选择概率最大的token&#xff0c;而是根据多项式分布进行采样获得下一个token 这里的概率通过设置一些策略&#xff0c;进行处理。例如&#xff0c;解码最小长度&#xff08;当长度小于该值的时候&#xff0c;eos的采样概率为0&am…

K8S云计算系列-(3)

K8S Kubeadm案例实战 Kubeadm 是一个K8S部署工具&#xff0c;它提供了kubeadm init 以及 kubeadm join 这两个命令来快速创建kubernetes集群。 Kubeadm 通过执行必要的操作来启动和运行一个最小可用的集群。它故意被设计为只关心启动集群&#xff0c;而不是之前的节点准备工作…

多校联测13 菜

题目大意 有一个长度为 n n n的序列 a a a&#xff0c;你每次可以选择 gcd ⁡ \gcd gcd不为一的两个数 a i a_i ai​和 a i 1 a_{i1} ai1​&#xff0c;将两个数合并&#xff0c;其值为两个数的 lcm \text{lcm} lcm&#xff0c;也就是删去 a i 1 a_{i1} ai1​&#xff0c;再…

算法专题-单调栈

定义&#xff1a; 一句话解释单调栈&#xff0c;就是一个栈&#xff0c;里面的元素的大小按照他们所在栈内的位置&#xff0c;满足一定的单调性。

GPT-4V的图片识别和分析能力

GPT-4V是OpenAI开发的大型语言模型&#xff0c;是GPT-4的升级版本。GPT-4V在以下几个方面进行了改进&#xff1a; 模型规模更大&#xff1a;GPT-4V的参数量达到了1.37T&#xff0c;是GPT-4的10倍。训练数据更丰富&#xff1a;GPT-4V的训练数据包括了1.56T的文本和代码数据。算…

【22】c++设计模式——>享元模式

享元模式的定义 1.结构型设计模式 2.旨在通过共享对象来最小化内存使用和提高性能 3.享元模式将对象分为可共享的内部状态和不可共享的外部状态&#xff0c;以便多个对象可以共享相同的内部状态。 实现步骤 1.定义抽象享元类&#xff1a;定义一个抽象享元类&#xff0c;它声…

【沧元图】玉阳宫主是正是邪,和面具人有勾结吗?现在已有答案了

Hello,小伙伴们&#xff0c;我是小郑继续为大家深度解析沧元图。 沧元图这部动漫中&#xff0c;有一个很特殊的人物&#xff0c;也是一个让人看不透的人物&#xff0c;因为很多人都不知道这个人是正还是邪&#xff0c;这个人就是玉阳宫主。 因为这个人明面上是掌管东宁府维护东…

【爬虫实战】用pyhon爬百度故事会专栏

一.爬虫需求 获取对应所有专栏数据&#xff1b;自动实现分页&#xff1b;多线程爬取&#xff1b;批量多账号爬取&#xff1b;保存到mysql、csv&#xff08;本案例以mysql为例&#xff09;&#xff1b;保存数据时已存在就更新&#xff0c;无数据就添加&#xff1b; 二.最终效果…

SecureCRT 自动测试脚本的使用方法

脚本示例&#xff08;get_batteryifo_interval_2s.vbs&#xff09;&#xff1a; Sub Main Do While(1)crt.Screen.Send "pm_client batteryinfo" & chr(13)crt.Sleep 2000 Loop End Sub 1. 解压 SecureCRT 压缩包&#xff08;网上下载&#xff09;&#xff1b…

机器学习 Q-Learning

对马尔可夫奖励的理解 看的这个教程 公式&#xff1a;V(s) R(s) γ * V(s’) V(s) 代表当前状态 s 的价值。 R(s) 代表从状态 s 到下一个状态 s’ 执行某个动作后所获得的即时奖励。 γ 是折扣因子&#xff0c;它表示未来奖励的重要性&#xff0c;通常取值在 0 到 1 之间。…

Maven项目,进行编译,使用idea的 编译功能,就是正常的,但是在终端中执行 mvn clean compile 报错

一、背景&#xff1a; Maven项目&#xff0c;进行编译&#xff0c;使用idea的 编译功能&#xff0c;就是正常的&#xff0c;但是在终端中执行 mvn clean compile 报错 报错信息&#xff1a; [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin…

XGBoost+LR融合

1、背景简介 xgboostlr模型融合方法用于分类或者回归的思想最早由facebook在广告ctr预测中提出&#xff0c;其论文Practical Lessons from Predicting Clicks on Ads at Facebook有对其进行阐述。在这篇论文中他们提出了一种将xgboost作为feature transform的方法。大概的思想…

Qt如何实现动态背景-视频背景

前言 需求&#xff1a;加载视频作为视频背景&#xff0c;在上层可以进行图片的动画化&#xff0c;或是进行其他操作。 几种方法&#xff1a; 1、直接将视频弄成一个QDialog&#xff0c; 然后再上层在弄一个QDialog,背景透明即可。但遇到一个问题&#xff0c;QDialog没办法局…

ffmpeg的重采样计算

最近在看ffmpeg的重采样计算逻辑&#xff0c;有一句话没大看懂 dst_nb_samples av_rescale_rnd(swr_get_delay(swr_ctx, src_rate) src_nb_samples, dst_rate, src_rate, AV_ROUND_UP); &#xff0c;各种请教之后&#xff0c;记录如下。 重采样后的总样本数 为什么要涵盖重采…