常用数据库

模式的定义于删除

1.定义模式

CREATE SCHEMA [ <模式名> ]  AUTHORIZATION < 用户名 >;

要创建模式,调用该命令的用户必须拥有数据库管理员权限,或者获得了DBA授权


eg:为用户WANG定义一个模式S-C-SC

CREATE SCHEMA "S-C-SC" AUTHORIZATION WANG;

定义模式实际上定义了一个命名空间,在这个空间中可以进一步定义该模式包含的数据库对象,如基本表、视图、索引等。

2.删除模式

DROP SCHEMA <模式名><CASCADE|RESTRICT>

其中CASCADE和RESRICT两者必选其一。CASCADE(级联),表示在删除模式的同时把该模式中所有的数据库对象全部删除。RESTRICT(限制),表示如果该模式中已经定义了数据库对象,则拒绝该删除语句的执行。


eg: 删除创建的模式Test

DROP SCHEMA Test CASCADE;

基本表的定义、删除与修改

1.定义基本表

CREATE TABLE <表名>(<列名><数据类型>[列级完整性限制])……[,<表级完整性约束>];

eg:建立一个学生表Student

CREATE TABLE Student(Sno CHAR(8) PRIMARY KEY,//列级完整性约束,Sno是主码Sname VARCHAR(20) UNIQUE,//Sname取唯一值Ssex CHAR(6),Sbirthday Date,Smajor VARCHAR(40));

每一个基本表都属于某一个模式,一个模式包含多个基本表。

2.修改基本表

ALTER TABLE <表名>[ADD[COLUMN]<新列名><数据类型>[完整性约束] //增加新的一列[DROP[COLUMN]<列名>[CASCADE|RESREICT]]	//删除一列[RENAME COLUMN <列名> TO <新列名>]		//重命名列[ALTER COLUMN <列名> TYPE <数据类型>]//修改列的数据类型

3.删除基本表

DROP TABLE <表名>[RESTRICT|CASCADE]

如果选择RESTRICT,则该表的删除有限制条件,即该表不能被其他表的约束所引用,不能有视图,不能有触发器,不能有存储过程或函数等。

索引的建立与删除

1.索引(空间换时间)

当表的数据量很大时,查询操作会比较耗时。建立索引可以加快查询速度

常见的索引结构包括顺序表索引、B+树索引、哈希索引、位图索引等。索引文件由属性值和相应的元组指针组成。

索引需要占用一定的存储空间,当基本表更新时,索引需要进行相应的维护。

2.建立索引

CREATE [UNIQUE][CLUSTER] INDEX <索引名> 
ON <表名>(<列名>[次序]……)

eg:按学生姓名升序建立唯一索引

CREATE UNIQUE INDEX Idx_StuSname ON Student(Sname);

3.修改索引

ALTER INDEX <旧索引名> RENAME TO <新索引名>

4.删除索引

DROP INDEX <索引名>

数据查询

SELECT[ALL|DISTINCT]<目标列表达式>[别名]……
FROM <表名或视图名>[别名]
[WHERE <条件表达式>]
[GROUP BY <列名1>[HAVING <条件表达式>]]
[ORDER BY <列名2>[ASC|DESC]]
[LIMIT <行数1>[ OFFSET<行数2>]];

例子:


查询全体学生的学号与姓名

SELECT Sno,Sname FROM Student;

查询全体学生的详细记录

SELECT * FROM Student;

去掉结果中的重复行

SELECT DISTINCT Sno
FROM SC;

查询主修计算机科学与技术专业全体学生的姓名

SELECT Sname
FROM Student
WHERE Smajor='计算机科学与技术';

查询计算机科学与技术专业和信息安全专业的学生的姓名及性别

SELECT Sname,Ssex
FROM Student
WHERE Smajor IN ('计算机科学与技术','信息安全');

字符匹配

  • %代表任意长度(长度可以为0)的字符串
  • _代表任意单个字符

查询所有姓刘的学生的姓名、学号和性别

SELECT Sname,Sno,Ssex
FROM Student
WHERE Sname LIKE '刘%';

涉及空值的查询

查询缺少成绩的学生的学号和相应的课程号

SELECT Sno,Cno
FRON SC
WHERE Grade IS NULL;

注意这里的IS不能用=替代


聚集函数

COUNT (*)						//统计元组个数
COUNT([DISTINCT|ALL]<列名>)		//统计一列的值的个数
SUM([DISTINCT|ALL]<列名>)		
AVG([DISTINCT|ALL]<列名>)
MAX([DISTINCT|ALL]<列名>)
MIN([DISTINCT|ALL]<列名>)

WHERE子句不能直接用聚集函数作为条件表达式。聚集函数只能用于SELECT子句和GROUP BY子句中的HAVING短语。


GROUP BY
查询平均成绩大于或等于90分的学生学号和平均成绩

SELECT Sno,AVG(Grade)
FROM SC
GROUP BY Sno
HAVING AVG(Grade)>=90;

数据更新

1.插入数据

INSERT INTO <表名>[(<属性列1>)]
VALUES (<常量1>……);

2.修改数据

UPDATE <表名>
SET <列名>=<表达式>
[WHERE <条件>];

eg:将学生2018001的出生日期改为2001-3-18

UPDATE Student
SET Sbirthday='2001-3-18'
WHERE Sno='2018001';

3.删除数据

DELETE FROM <表名>
[WHERE <条件>];

eg: 删除计算机科学与技术专业所有学生的选课记录

DELETE FROM SC
WHERE Sno IN(SELECT SnoFROM StudentWHERE Smajor='计算机科学与技术');

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

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

相关文章

Processor System Reset IP 核 v5.0(vivado)

这个IP的作用&#xff0c;我的理解是&#xff0c;比普通按键复位更加高效灵活&#xff0c;可以配置多个复位输出&#xff0c;可以配置复位周期。 1、输入信号&#xff1a; 重要的信号有时钟clk信号&#xff0c;一般连接到系统时钟&#xff1b;输入复位信号&#xff0c;一般是外…

3月29日星期六今日早报简报微语报早读

3月29日星期六&#xff0c;农历三月初一&#xff0c;早报#微语早读。 1、全国公立医疗机构自3月31日起全面停止收取门诊预交金&#xff1b; 2、永辉超市“胖东来调改店”已达47家店 一线员工薪酬涨幅50%以上&#xff1b; 3、两孩家庭补10万&#xff0c;三孩家庭补20万&#…

pyinstaller 对 pyexecjs模块打包老会有终端框闪烁

解决办法&#xff1a; 修改 execjs 源代码 具体步骤 1. 在 execjs 源文件中&#xff0c;找到 _external_runtime.py 文件中的以下代码 p Popen(cmd, startupinfostartupinfo, stdinPIPE, stdoutPIPE, stderrPIPE, cwdself._cwd,universal_newlinesTrue)2. 修改为&#xff…

代码随想录day2 数组总结

1.二分查找 2.快慢 双指针 代码随想录day1-CSDN博客 3.滑动窗口 滑动窗口就是有一个起始位置&#xff0c;一个终止位置&#xff0c;通过调节起始位置和终止位置得到我们想要的结果。 外面一层for循环 用来更新终止位置 不满足条件 终止位置右移 里面一层while循环 …

MAC安装docker 后提示com.docker.vmnetd”将对您的电脑造成伤害

出现“com.docker.vmnetd”将对您的电脑造成伤害的提示&#xff0c;通常是由于文件签名问题导致 macOS 的安全系统误判 Docker 为恶意软件。以下是解决方法&#xff1a; 停止相关服务并删除文件 运行以下命令停止相关服务并删除有问题的文件 停止 Docker 服务 sudo pkill ‘…

Redis-常用命令

目录 1、Redis数据结构 2、命令简介 2.1、通用命令 DEL EXISTS EXPIRE 2.2、String命令 SET和GET MSET和MGET INCR和INCRBY和DECY SETNX SETEX 2.3、Key的层级结构 2.4、Hash命令 HSET和HGET HMSET和HMGET HGETALL HKEYS和HVALS HINCRBY HSETNX 2.5、List命…

每日一题之既约分数

题目描述 本题为填空题&#xff0c;只需要算出结果后&#xff0c;在代码中使用输出语句将所填结果输出即可。 如果一个分数的分子和分母的最大公约数是 1&#xff0c;这个分数称为既约分数。 例如 3/4,1/8,7/1​&#xff0c; 都是既约分数。 请问&#xff0c;有多少个既约分…

Java 图片压缩:高效压缩方案解析

目录 一、基于OpenCV的智能尺寸压缩(一)代码示例(二)技术亮点(三)适用场景二、WebP高效格式转换(一)代码示例(二)核心优势(三)性能对比三、基于Thumbnailator的简单压缩(一)代码示例(二)技术亮点(三)适用场景四、方案选型建议一、基于OpenCV的智能尺寸压缩 …

鸿蒙Next-集成HmRouter的路由模式

第一步&#xff1a;全局安装hmrouter依赖 ohpm install hadss/hmrouter第二步&#xff1a;修改全局的hvigor-config.json5(加入hm-router插件) hvigor/hvigor-config.json5 {"modelVersion": "5.0.1","dependencies": {"hadss/hmrouter-…

uni-app:指引蒙层

组件说明 指引蒙层组件: 通过id标签,突出对应id中的模块; 可以自定义提示词。 点击任意位置关闭蒙层 效果展示和使用示例 切换id之后的效果: 代码实现 <template><view class="guide-mask" v-if="showMask" @click="hideMask"&g…

基于Java与Go的下一代DDoS防御体系构建实战

引言:混合云时代的攻防对抗新格局 2024年某金融平台遭遇峰值2.3Tbps的IPv6混合攻击,传统WAF方案在新型AI驱动攻击面前全面失效。本文将以Java与Go为技术栈,揭示如何构建具备智能决策能力的防御系统。 一、攻击防御技术矩阵重构 1.1 混合攻击特征识别 攻击类型Java检测方案…

大数据Spark(五十五):Spark框架及特点

文章目录 Spark框架及特点 一、Spark框架介绍 二、Spark计算框架具备以下特点 Spark框架及特点 一、Spark框架介绍 Apache Spark 是一个专为大规模数据处理而设计的快速、通用的计算引擎。最初由加州大学伯克利分校的 AMP 实验室&#xff08;Algorithms, Machines, and Pe…

ubuntu 升级补丁,备份备份备份

一、常规软件包更新&#xff08;安全补丁和软件升级&#xff09; 更新软件包列表 从软件源服务器获取最新的软件包信息&#xff1a; sudo apt update升级已安装的软件包 安装所有可用的更新&#xff08;安全补丁、功能更新&#xff09;&#xff1a; sudo apt upgrade处理依赖…

CubeMx——串口与 printf 打印

CubeMx 配置 fputc 实现 /* USER CODE BEGIN 0 */ #include <stdio.h> /* USER CODE END 0 *//* USER CODE BEGIN 1 */ int fputc(int ch, FILE *f) {/* Place your implementation of fputc here *//* e.g. write a character to the USART */uint8_t send_data ch;HA…

多线程 -- Thread类

Thread 的常见构造方法 最后一个构造方法中的 ThreadGroup 线程组是 Java 中的概念&#xff0c;和系统内核中的线程组不是一个东西。我们自己创建的线程&#xff0c;默认是按照 Thread- 0 1 2 3 4...命名。但我们也可以给不同的线程&#xff0c;起不同的名字&#xff08;不同的…

Java基础关键_032_反射(二)

目 录 一、反射 Class 的 Method 1.反编译 String 类的方法签名 2.通过反射调用方法 3.反编译 String 类的构造方法签名 4.通过反射调用构造方法 二、类加载过程 1.装载&#xff08;Loading&#xff09; &#xff08;1&#xff09;说明 &#xff08;2&#xff09;双亲委…

《数据结构:单链表》

“希望就像星星&#xff0c;或许光芒微弱&#xff0c;但永不熄灭。” 博主的个人gitee&#xff1a;https://gitee.com/friend-a188881041351 一.概念与结构 链表是一种物理存储上非连续、非顺序的存储结构&#xff0c;数据元素的顺序逻辑是通过链表中的指针链接次序实现的。 单…

蓝桥杯 - 中等 - 绝美宋词

介绍 “今宵酒醒何处&#xff0c;杨柳岸晓风残月”&#xff0c;“蓦然回首&#xff0c;那人却在灯火阑珊处”&#xff0c;“试问闲愁都几许&#xff1f;一川烟草&#xff0c;满城风絮&#xff0c;梅子黄时雨” ...... 宋词可谓是古代文学桂冠上一颗璀璨的明珠&#xff0c;本题…

JDBC、excute()、DriveManager、Connection、Statement、自建JDBC工具类、占位符

DAY19.2 Java核心基础 JDBC JDBC&#xff1a;Java database Connectivity JDBC是java程序连接各种数据库的组件 Mybatis就是基于JDBC的封装&#xff0c;是独立于数据库的管理系统&#xff0c;通用的SQL数据库存取和操作的公共接口 定义了一套标准&#xff0c;为访问 不同数…

21天Python计划:函数简单介绍

文章目录 前言一、函数知识体系二、函数基础函数的定义和调用函数参数 三、函数对象、函数嵌套、名称空间与作用域、装饰器函数对象函数嵌套名称空间与作用域装饰器 四、迭代器、生成器、面向过程编程迭代器生成器面向过程编程 五、三元表达式、列表推导式、生成器表达式、递归…