【SQL实验】数据库、表、模式的SQL语句操作

完整代码在文章末尾

1、数据库的建立、删除和修改操作

(1)使用SQL语句创建数据库EDUC,并进行如下设置:

数据库文件和日志文件的逻辑名称分别为:Student_data和Student_log;数据文件的物理文件名为‘C:\DATABASE\Student_data.MDF';数据文件的初始大小为5MB,文件增长量为1MB;日志文件的增长方式初始大小为2MB,文件增长量为10%;日志文件的物理文件名为‘C:\DATABASE\Student_log.LDF'。

将要执行的语句高亮可以单独执行

如果像这样没有出现的话,

右击刷新

通过数据库属性查看操作结果

(2)使用SQL语句在数据库EDUC添加一个数据文件,逻辑名称:Student_data1,物理文件名为‘C:\DATABASE\Student_data1.NDF'文件夹中,数据文件的初始大小为2MB,文件增长量为10%

 

通过数据库属性查看操作结果

(3)使用SQL语句修改数据文件"Student_data1",初始大小为5MB,文件增长量为2MB,最大值为1GB

通过数据库属性查看操作结果

(4)使用SQL语句将新添加数据文件"Student_data1"删除。

通过数据库属性查看操作结果

2、数据表的建立、删除和修改操作

(1)使用SQL语句在EDUC数据库中创建三个基本表(表名为“student”、“course”和“sc”)。

通过数据库属性查看操作结果

(2)使用SQL语句将student表中“sname”列的数据类型为CHAR(40)

通过数据库属性查看操作结果

(3)使用SQL语句在student表中添加新列,列名为“高考成绩”,数据类型为int

通过数据库属性查看操作结果

(4)使用SQL语句删除“高考成绩”列

通过数据库属性查看操作结果

(5)使用SQL语句设置student中的“sage”为not null

通过数据库属性查看操作结果

ALTER COLUMN 指定要修改的列

ADD CONSTRAINT 用于添加新约束,约束名称为 check_ccredit

CHECK (ccredit BETWEEN 1 AND 3)

CHECK 是一种约束,用于限制列中的值。

(ccredit BETWEEN 1 AND 3) 表示 ccredit 列的值必须在 1 和 3 之间(包括 1 和 3),确保数据在有效范围内。

(6)使用SQL语句设置course中的“ccredit”的取值范围为1-3

通过数据库属性查看操作结果

--  添加新列,指定数据类型和是否允许为空
ALTER TABLE 表名
ADD 列名 数据类型[(长度)] [NULL | NOT NULL];  -- NULL:允许空值,NOT NULL:不允许空值-- 添加自增列 (IDENTITY)
ALTER TABLE 表名
ADD 列名 数据类型[(长度)] IDENTITY(标识种子, 标识增量);  -- IDENTITY:自动递增-- 修改列的数据类型、长度或是否允许为空
ALTER TABLE 表名
ALTER COLUMN 列名 数据类型[(长度)] [NULL | NOT NULL];  -- ALTER COLUMN 修改现有列--  删除列
ALTER TABLE 表名
DROP COLUMN 列名 [, …n];  -- DROP COLUMN 删除一个或多个列--  添加约束
ALTER TABLE 表名
ADD CONSTRAINT 约束名 约束定义;  -- ADD CONSTRAINT 添加约束-- 添加外键约束,引用其他表的主键
-- 例如:在 "sc" 表中为 "sno" 列添加外键,引用 "student" 表中的 "sno"
ALTER TABLE sc
ADD CONSTRAINT fk_sc_sno FOREIGN KEY (sno) REFERENCES student(sno);--  删除约束
ALTER TABLE 表名
DROP CONSTRAINT 约束名;  -- DROP CONSTRAINT 删除约束--  禁用约束
ALTER TABLE 表名
NOCHECK CONSTRAINT 约束名;  -- NOCHECK 暂时禁用约束-- 8启用约束
ALTER TABLE 表名
CHECK CONSTRAINT 约束名;  -- CHECK 重新启用已禁用的约束

3、模式的建立、删除和修改操作

(1)使用SQL语句:在EDUC数据库下,为guest用户创建ST模式,在该模式下面创建一张STUDENT表(列信息如上面的student表)

这个错误的意思需要将 CREATE SCHEMA 和其他操作分开处理,单独建一个文件,但这样运行不影响

或者

再运行:

   (2)使用SQL语句删除ST模式,若不能删除,为什么?如何才能删除?

  • 模式不能直接删除,如果其中包含对象(如表),必须先删除模式下的所有对象,才能删除模式。
  • 先删除模式中的对象,再删除模式本身,才能成功删除模式。

完整运行代码:

--创建数据库EDUC并设置数据库文件和日志文件【这里路径自己设定了一下】
CREATE DATABASE EDUC
ON 
(NAME = 'Student_data',FILENAME = 'D:\code files\SQL DATA\Student_data.MDF',SIZE = 5MB,FILEGROWTH = 1MB
)LOG ON
(NAME = 'Student_log',FILENAME = 'D:\code files\SQL DATA\Student_log.LDF',SIZE = 2MB,FILEGROWTH = 10%
);--在数据库EDUC中添加数据文件ALTER DATABASE EDUC
ADD FILE 
(NAME = 'Student_data1',FILENAME = 'D:\code files\SQL DATA\Student_data1.NDF',SIZE = 2MB,FILEGROWTH = 10%
);
--修改数据文件
ALTER DATABASE EDUC
MODIFY FILE
(NAME = 'Student_data1',SIZE = 5MB,FILEGROWTH = 2MB,MAXSIZE = 1GB
);
--删除数据文件
ALTER DATABASE EDUC
REMOVE FILE Student_data1;--数据表的建立、删除和修改操作-- 创建 student 表
CREATE TABLE student (sno CHAR(9) NOT NULL,  sname CHAR(20) NOT NULL, ssex CHAR(2),           sage SMALLINT,           sdept CHAR(20),          PRIMARY KEY (sno)
);-- 创建 course 表
CREATE TABLE course (cno CHAR(4) NOT NULL,   cname CHAR(40) NOT NULL, cpno CHAR(4),           ccredit SMALLINT,        PRIMARY KEY (cno)
);-- 创建 sc 表
CREATE TABLE sc (sno CHAR(9) NOT NULL,   cno CHAR(4) NOT NULL,   grade SMALLINT,         PRIMARY KEY (sno, cno),FOREIGN KEY (sno) REFERENCES student(sno),FOREIGN KEY (cno) REFERENCES course(cno)
);--修改ALTER TABLE student
ALTER COLUMN sname CHAR(40) NOT NULL;ALTER TABLE student
ADD 高考成绩 INT;ALTER TABLE student
DROP COLUMN 高考成绩;ALTER TABLE student
ALTER COLUMN sage SMALLINT NOT NULL;ALTER TABLE course
ADD CONSTRAINT check_ccredit
CHECK (ccredit BETWEEN 1 AND 3);go
-- 在 EDUC 数据库中为 guest 用户创建 ST 模式
CREATE SCHEMA ST AUTHORIZATION guest;
go-- 在 ST 模式下创建 STUDENT 表
CREATE TABLE ST.STUDENT (sno CHAR(9) NOT NULL,      sname CHAR(20) NOT NULL,    ssex CHAR(2),              sage SMALLINT,              sdept CHAR(20),            PRIMARY KEY (sno)
);-- 尝试删除 ST 模式
DROP SCHEMA ST;--运行结果:无法对 'ST' 执行 drop schema,因为对象 'PK__STUDENT__DDDF64467444FCB1' 正引用它。-- 要删除 ST 模式中的 STUDENT 表
DROP TABLE ST.STUDENT;
-- 删除 ST 模式
DROP SCHEMA ST;

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

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

相关文章

基于Java语言的培训平台+学习平台+在线学习培训系统+教育平台+教育学习系统+课程学习平台

简述 企业培训平台企业考试系统培训平台考试系统企业大学企业视频网站视频学习平台 介绍 企业培训平台支持企业培训考试全流程,在线学习、在线考试,成熟的企业培训考试解决方案,充分满足企业培训需求。 独立部署,仅内部员工登录…

20240817 全志 笔试

文章目录 1、选择题1.11.21.31.41.51.61.71.81.91.101.111.121.131.141.151.161.171.181.191.202、填空题2.12.23、问答题3.14、编程题4.14.2岗位:NO2510 嵌入式软件设计工程师(珠海/广州/西安/深圳) 题型:20 道选择题,2 道填空题,1 道问答题,2 道编程题 1、选择题 1.…

【热门】智慧果园管理系统解决方案

随着科技的进步,原有农业种植方式已经不能满足社会发展的需要,必须对传统的农业进行技术更新和改造。经过多年的实践,人们总结出一种新的种植方法——温室农业,即“用人工设施控制环境因素,使作物获得最适宜的生长条件,从而延长生产季节,获得最佳的产出”。这种农业生产方式…

AI的作用和应用领域

AI AI的作用 本质:处理文字/图像/音频数据,本质上是使用统计模仿人类思考的能力。所有人类可胜任的地方都可做。 输入输出:文字/图像/音频。 效率提升:AI技术在各个领域的应用目标都是提高效率和精度。自动化:AI技术…

笔试强训day37

旋转字符串 描述 字符串旋转: 给定两字符串A和B,如果能将A从中间某个位置分割为左右两部分字符串(可以为空串),并将左边的字符串移动到右边字符串后面组成新的字符串可以变为字符串B时返回true。 例如:如果A‘youz…

发动机冷却系统排空气

发动机冷却系统排空气的几种常见方法 发动机冷却系统是汽车发动机的重要组成部分,它的主要作用是通过循环冷却液来吸收和散发发动机产生的热量,确保发动机在正常工作温度下运行。然而,在冷却系统的运行过程中,由于各种原因&#…

数据压缩(5)——上下文转换编码

统计压缩编码基于单个字符,字典编码基于单词;上下文变换基于具有联系的上下文,例如: RLE编码针对重复字符:AAAABCCC可以记为[A,4]B[C,3] 增量编码针对数值型数据:通过一些运算以减少数值的变化范围&#…

03.顺序表实现

顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存储,在数组上完成数据的增删改查。一般见到的顺序表都是在结构体中定义的数组,只是比普通数组多了增删改查等一些其他功能函数。 上节已经介绍了顺序表有…

【android studio】Gradle和Gradle插件版本关系/配置/常见ERR示例

参考链接: Android之Gradle和Gradle插件区别及联系 grdle 的安装与配置 、gradle和jdk版本对应关系 Android Gradle Plugin与Gradle版本、JDK版本对应关系 配置示例 常见err 主要原因 1.编译版本未设定 2.有多个module而且gradle 版本设置不一致 修改如下&#xf…

虚幻闪烁灯光材质

创建一个材质 材质域改成光照函数 , Time让材质动起来 参数B用来控制速度 , Sine 让灯光闪烁 , Frac 增加了闪烁细节 把材质放到灯光材质上 效果还是挺不错的! 可以用于一些恐怖游戏~

OpenCV高级图形用户界面(8)在指定的窗口中显示一幅图像函数imshow()的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 在指定的窗口中显示一幅图像。 函数 imshow 在指定的窗口中显示一幅图像。如果窗口是以 cv::WINDOW_AUTOSIZE 标志创建的,图像将以原…

仕考网:国考笔试没进面还有机会吗?

在国家公务员考试及各省公务员考试中,除了常规的招录程序之外,还有调剂、递补和补录多重机会。 调剂:于笔试结束之后至面试启动之前.针对因报名人数不足未达到预定面试比例的岗位,将开放公开调剂。只要考生的笔试成绩超越了国考设…

React面试题笔记(一)

一、react基础面试题 1.react中keys的作用是什么? key是是用于追踪哪些列表被修改,被添加或者被移除的辅助标识。 在开发过程中,我们需要保证某个元素的 key 在其同级元素中具有唯一性。在 React Diff 算法中 React 会借助元素的 Key 值来判断该元素是…

如何查看默认网关地址:详细步骤

在日常的网络配置与故障排查中,了解并正确查看默认网关地址是一项基础且至关重要的技能。默认网关是连接本地网络与外部网络(如互联网)的关键节点,它扮演着数据包转发的重要角色。无论是家庭网络、办公室网络还是更复杂的网络环境…

Chromium html<iframe>对应c++接口定义

HTML <iframe> 标签 使用 <iframe> 标签 在当前 HTML 文档中嵌入另一个文档&#xff1a; <!DOCTYPE html> <html> <body><h1>iframe 元素</h1><iframe src"https://www.w3school.com.cn" title"W3School 在线教…

一些简单的编程题(Java与C语言)

引言&#xff1a; 这篇文章呢&#xff0c;小编将会举一些简单的编程题用来帮助大家理解一下Java代码&#xff0c;并且与C语言做个对比&#xff0c;不过这篇文章所出现的题目小编不会向随缘解题系列里面那样详细的讲解每一到题&#xff0c;本篇文章的主要目的是帮助小编和读者们…

vcenter的使用

1 配置 1.1 时间配置 报错原因&#xff1a;ESXI主机没有配置DNS无法解析NTP服务器网址。 解决办法&#xff1a;配置ESXI主机DNS&#xff0c;操作如下图。 点击【配置】、【服务】 【编辑启动策略】 我们可以看到当前的【NTP服务状态】处于 已停止的状态 点击【配置】、【时间…

基于直播美颜SDK的实时美颜平台开发指南

随着直播平台的快速发展&#xff0c;用户对视频质量的要求越来越高&#xff0c;尤其是对于美颜效果的需求。为满足这一市场需求&#xff0c;基于直播美颜SDK的实时美颜平台应运而生。本文将探讨如何开发这样一个平台&#xff0c;助力开发者在激烈的竞争中脱颖而出。 一、理解美…

前端容易错的题2

v-if 和 v-show 区别 使用了 v-if 的时候&#xff0c;如果值为 false &#xff0c;那么页面将不会有这个 html 标签生成。 v-show 则是不管值为 true 还是 false &#xff0c;html 元素都会存在&#xff0c;只是 CSS 中的 display 显示或隐藏 $route和$router的区别 $rou…

PHP DateTime基础用法

PHP DateTime 的用法详解 一、引言 在开发 PHP 应用程序时&#xff0c;处理日期和时间是一个至关重要的任务。PHP 提供了强大的日期和时间处理功能&#xff0c;其中 DateTime 类是最常用的工具之一。DateTime 类提供了丰富的方法来创建、格式化、计算和比较日期时间&#xff…