SQL语言之CREATE/DROP/ALTER 语句

CREATE/DROP/ALTER 语句,表的创建、删除、修改语句

文章目录

一、模式

1、定义模式 CREATE SCHEMA

2、删除模式 DROP SCHEMA

二、基本表

1、定义基本表 CREATE TABLE

(1)数据类型

(2)列级完整性约束条件

(3)表级完整性约束条件

2、在模式中定义表

3、修改基本表 ALTER TABLE

4、删除基本表 DROP TABLE

三、索引

1、建立索引 CREATE UNIQUE/CLUSTER INDEX

2、修改索引(重命名) ALTER INDEX

3、删除索引 DROP INDEX

一、模式

1、定义模式 CREATE SCHEMA

CREATE SCHEMA 模式名 AUTHORIZATION 用户名;
eg.为用户 WANG 定义一个 S-T 模式
CREATE SCHEMA 'S-T" AUTHORIZATION WANG;
e9.为用户 WANG 定义一个模式
CREATE SCHEMA AUTHORIZATION WANG; //未定义模式名的情况下,默认模式名为用户名

2、删除模式 DROP SCHEMA

DROP SCHEMA 模式名 CASCADE: //级联:把该模式中所有的表、视图之类的一起删除DROP SCHEMA 模式名 RESTRICT: //限制:若该模式下已定义了表或者视图等等,则拒绝执行删除语句

二、基本表

1、定义基本表 CREATE TABLE

CREATE TABLE 表名

(列名1 数据类型 列级完整性约束条件,//如没有列级完整约束条件,可以不写
列名 n 数据类型 列级完整性约束条件,
表级完整性约束条件 1,
表级完整性约束条件 n
);

(1)数据类型
CHAR(n) 长度为 n的字符型
VARCHAR(n)最大长度为n的变长字符型
NUMBER(n)长度为n的数字型
INT长整型(4B)
SMALLINT短整型(2B)
BIGINT大整型(8B)
FLOAT(n)精度至少为 n 位数字的浮点数
DATE日期,格式为 YYYY-MM-DD
TIME 时间,格式为 HH:MM:SS
(2)列级完整性约束条件
PRIMARY KEY主码:当只有一个主码时,可直接在对应的属性列标注
NOT NULL非空:表示该属性列不能取空值
UNIQUE唯一值:表示该属性列只能取唯一值
CHECK(条件)检查:检查该列是否满足某个条件,如 CHECK(某属性>20)
(3)表级完整性约束条件

PRIMARY KEY(列名 1,列名 n) //实体完整性:当主码由多个属性构成时,必须作为表级完整性进行定义
FOREIGN KEY(列名 1)REFERENCES 被参照表(列名 1)//参照完整性
eg:
CREATE TABLE TAB1
(Sno VARCHAR(10),
Cno NUMBER(10),
Grade INT NOT NULL,
PRIMARY KEY(Sno, Cno),
FOREIGN KEY(SnO) REFERENCES TAB2(Sno)
);

2、在模式中定义表

一个模式包含多种基本表,有三种方式在模式中定义基本表。

(1)创建表时指出模式
CREATE TABLE 模式名.表名
(列定义语句,
完整性约束语句
);

(2)1创建模式时直接定义表
CREATE SCHEMA 模式名 AUTHORIZATION 用户名CREATE TABLE 表名
(列定义语句,
完整性约束语句
);

(3)设置所属的模式
这样在创建表的时候不用给出模式名

3、修改基本表 ALTER TABLE

(1)增加新的属性列
ALTER TABLE 表名 ADD新列名 数据类型 完整性约束条件;
eg.向 SC 表中增加时间列,数据类型为日期型
ALTER TABLE SC ADD COLUMN Time DATE;

(2)增加列级完整性约束条件
ALTER TABLE 表名 ADD 列级完整性约束条件;
eg.向 SC 表中增加 Cname 列必须取唯一值的约束条件
ALTER TABLE SC ADD UNIQUE(Cname);

(3)增加表级完整性约束条件
ALTER TABLE 表名 ADD 表级完整性约束条件;
eg.向 SC 表中增加 Cno 为外码,参照表是 Student 表
ALTER TABLE SC ADD FOREIGN KEY(CnO) REFERENCES Student(Cno);

(4)删除列
ALTER TABLE 表名 DROP 列名 CASCADE; //级联:引用了该列的其他对象(例如视图)一起删除
ALTER TABLE 表名 DROP 列名 RESTRICT; //限制:若该列被其他对象引用,则拒绝删除

(5)删除指定的完整性约束条件
ALTER TABLE 表名 DROP CONSTRAINT 完整性约束名 CASCADE; //级联
ALTER TABLE 表名 DROP CONSTRAINT 完整性约束名 RESTRICT; //限制

(6)修改列
ALTER TABLE 表名 ALTER COLUMN 列名 数据类型;
eg.将 SC 表中原有的 Sage(假设是字符型)修改为整型
ALTER TABLE SC ALTER COLUMN Sage INT;

4、删除基本表 DROP TABLE

(1)DROP TABLE 表名 CASCADE; //级联:删除该表时,相关的依赖对象,例如视图,都会被删除
(2)DROP TALBE 表名 RESTRICT; //限制:删除该表时,若被其他表的约束所引用(例如其他表的CHECK.FOREIGN KEY 等等),或者有视图等等,都不能被删除

三、索引

1、建立索引 CREATE UNIQUE/CLUSTER INDEX

(1)建立唯一索引
CREATE UNIQUE INDEX 索引名 ON 表名(列名 1 次序,列名 n 次序);
eg.为 SC 表按学号升序和课程号降序建立唯一索引
CREATE UNIQUE INDEX SCnO ON SC(Sno ASC, Cno DESC);
(2)建立聚簇索引
CREATE CLUSTER INDEX 索引名 ON 表名(列名 1 次序,列名 n 次序);

2、修改索引(重命名) ALTER INDEX

ALTER INDEX IB索引名 RENAME TO新索引名;
eg.将 SC 表的 SCno 索引名改为 SCSno
ALTER INDEX SCnO RENAME TO SCSno;

3、删除索引 DROP INDEX

DROP INDEX 索引名:
eg.删除 SC 表的 SCSno 索引;
DROP INDEX SCSno;

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

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

相关文章

openEuler 欧拉系统nginx正向代理 http https —— 筑梦之路

正向代理 Nginx正向代理,通过服务器代理客户端去重定向请求访问到目标服务器的一种代理服务。对于目标服务器来说浏览器/客户端是隐藏的。Nginx 正向代理默认只支持http 协议,不支持 https 协议,需借助"ngx_http_proxy_connect_module&q…

面试算法-49-缺失的第一个正数

题目 给你一个未排序的整数数组 nums ,请你找出其中没有出现的最小的正整数。 请你实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案。 示例 1: 输入:nums [1,2,0] 输出:3 解释:范围 [1,2] 中的数字都…

Linux docker7--私有镜像仓库registry和UI搭建及使用

一、对于开源的镜像,如redis,nginx等,可以通过官方仓库Docker Hub,或者国内的阿里云等共有仓库下载获取到镜像。但是企业内对于自己的研发产品不可能往公共仓库去发布镜像的,一般都会搭建私有的镜像仓库,保…

力扣练习题

1. 两数之和 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。 你可以按…

string类型的使用以及编码方式

Redis 中所有的键的类型都是字符串类型,⼀个字符串的最⼤值不能超过 512 MB。 由于 Redis 内部存储字符串完全是按照⼆进制流的形式保存的,所以 Redis 是不处理字符集编码问题的,客⼾端传⼊的命令中使⽤的是什么字符集编码,就存储…

Marin说PCB之电源完整性之直流压降仿真CST--03

本期内容主要讲解的是关于在CST软件上电源直流压降仿真VRM的一些相关参数设置,小编我在之前文章中有说到过如何利用CST仿真电源信号的直流压降,不过有一些问题我这边再去补充一些。 首先就是VRM芯片的设置了,小编我还是按照之前那样设置&…

智能合约 之 ERC-20介绍

什么是ERC20 ERC20全称为Ethereum Request for Comment 20,是一种智能合约标准,用于以太坊网络上的代币发行 姊妹篇 - 如何部署ERC20 ERC20的应用场景 代币化资产,例如:USDT 是一种以美元为背书的ERC20代币,每个USDT代…

如何解决MySQL死锁(看懂MySQL锁日志)

有时候系统在生产运行着,会突然爆出 [40001][1213] Deadlock found when trying to get lock; try restarting transaction 这个时候每个人都会很紧张,因为死锁会影响DB性能,严重时甚至拖垮整个系统。在实际的环境中,很多服务会共…

代码学习记录23--回溯算法第四天

随想录日记part23 t i m e : time: time: 2024.03.19 主要内容:回溯算法在代码学习中尤其重要,所以今天继续加深对其的理解:1:复原IP地址 ;2.子集 ;3.子集II 93.复原IP地…

shopee无货源出单了怎么发货?shopee怎么做无货源?

在Shopee的电商大舞台上,“无货源出单”就像是一场神奇的魔术表演。你的店铺是舞台,买家的订单是观众的掌声,而你,就是那位神秘的魔术师。订单来了,你却没有货?这可不是什么障碍,因为你有着更为…

前端学习从0到1:再见HTML(1)

阅读须知: 探索者安全团队技术文章仅供参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作,由于传播、利用本公众号所提供的技术和信息而造成的任何直接或者间接的后果及损失,均由使用者 本人负责,作者不为此承担任何责任,如…

AI系统性学习05—向量数据库

文章目录 1、Chroma向量数据库1.1 安装Chroma1.2 初始化Chroma客户端1.3 创建一个合集1.4 添加数据1.5 查询数据1.6 持久化数据1.7 集合操作1.7.1 创建集合1.7.2 获取集合1.7.3 删除集合1.7.4 其他操作1.8 向集合添加数据1.9 查询集合数据1.10 更新集合数据1.11 删除集合数据1.…

JavaSE(上)-Day5

JavaSE(上)-Day5 流程控制语句顺序结构分支结构循环结构 流程控制语句练习逢7过题目平方根质数判断随机数猜测 流程控制语句 顺序结构 Java代码执行是自上而下的顺序结构 分支结构 if分支(已掌握) (多应用范围)switch分支(有限…

基于51单片机智能鱼缸控制系统

一、系统方案 1、本设计采用51单片机作为主控器。 2、液晶1602显示。 3、采集温度值,水质大小、水位值、DS1302显示年月日时分秒。 4、自动加热、定时喂食,自动换水、水泵加热。 5、按键设置。 二、硬件设计 原理图如下: 三、单片机软件设…

【教学类-44-08】20240319 “(幼儿用)数字练习簿1.0”(A4版)

背景需求: 我一直想把 “(幼儿用)数字练习簿”的内容复刻出来——这里面的字体始终找不到,是一种已经做成图片的手写数字字体 素材准备: 1、买了一本(幼儿用)数字练习簿,把每一页扫…

java 通过 microsoft graph 调用outlook(二)

这次提供一些基础调用方式API 一 POM文件 <!-- office 365 --><dependency><groupId>com.google.guava</groupId><artifactId>guava</artifactId><version>32.1.3-jre</version></dependency><dependency>&…

网络编程:多点通信+域套接字

一、多点通信 1.网络属性 getsockopt和setsockopt int getsockopt(int sockfd, int level, int optname, void *optval, socklen_t *optlen); int setsockopt(int sockfd, int level, int optname, const void *optval, socklen_t optlen); 功能&#xff1a;获取或设置套接字…

微信小程序登录后根据code获取APP_ID和APP_SECRET与火狐信息

话不多说&#xff0c;直接上代码。 session_key是与用户微信客户端之间通信的密钥&#xff0c;获取用户信息时会用到。 调用&#xff1a;getSessionKeyAndOpenId方法传入code值&#xff0c;返回openid与session_key&#xff0c; 这里的&#xff1a; appid: 应用唯一标识&am…

SSH服务

目录 一. 熟悉SSH服务 1.1 何为SSH协议 1.2 SSH服务优点 1.3 常见的SSH协议 1.4 SSH服务的功能 1.5 为何使用SSH服务 1.6 SSH服务的工作原理 1.6.1 公钥传输原理 1.6.2 ssh加密通讯原理 1.7 SSH服务的最佳应用场景 1.8 SSH服务远程登录的方式 1.8.1 方法一&#…

自动驾驶决策 - 规划 - 控制 (持续更新!!!)

总目录 Frenet与Cartesian坐标系 Apollo基础 - Frenet坐标系 车辆模型 车辆运动学和动力学模型 控制算法 PID控制器轨迹跟随实现 Pure Pursuit控制器路径跟随 路径跟踪算法Stanley 实现 c 无人驾驶LQR控制算法 c 实现 MPC自动驾驶横向控制算法实现 c 双环PID控制详细讲解 …