【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语言的培训平台+学习平台+在线学习培训系统+教育平台+教育学习系统+课程学习平台

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

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

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

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 标志创建的,图像将以原…

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

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

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

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

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

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

vcenter的使用

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

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

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

C#学习笔记(三)

C#学习笔记(三) 第 二 章 命名空间和类、数据类型、变量和代码规范二、类的组成和使用分析1. 基本概念2. 类的内容组成3. 方法的初步理解 第 二 章 命名空间和类、数据类型、变量和代码规范 二、类的组成和使用分析 1. 基本概念 类是程序的基本单元&a…

OpenCV高级图形用户界面(6)获取指定窗口中图像的矩形区域函数getWindowImageRect()的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 提供窗口中图像的矩形区域。 该函数 getWindowImageRect 返回图像渲染区域的客户端屏幕坐标、宽度和高度。 函数原型 Rect cv::getWindowImage…

STM32_实验1_建立新工程

1、使用STM32CubeIDE建立一个新工程 1.1选择时钟源为外部晶振时钟。 1.2选择调试方式为 serial wire(串行线)。 1.3配置时钟树. 1.4选择以 c 和 h 文件型式管理工程文件。 1.5生成 hex 可执行文件。(完成后点击锤子) 2.串口输出调…

Windows环境NodeJS下载配置安装运行

Windows环境NodeJS下载配置安装运行 (1)下载 Node.js — Run JavaScript Everywhere 安装文件。 一路傻瓜式安装。 如果安装正常,输入命令可显示版本号: (2)可以查询nodejs默认的后续依赖安装包位置及缓存…

地方门户分类信息网站源码系统 用户可以自由发帖 PHP+MySQL组合开发 带完整的安装代码包以及搭建部署教程

系统概述 地方门户分类信息网站源码系统是一个基于PHP和MySQL开发的强大平台,旨在帮助用户轻松搭建地方性的分类信息网站。该系统集成了众多实用功能,支持用户自由发帖、浏览和搜索各类信息,如二手交易、求职招聘、房屋租售、生活服务、商家…

Winform和WPF的技术对比

WinForms(Windows Forms)和WPF(Windows Presentation Foundation)是用于创建桌面应用程序的两种技术。尽管两者都可以用于开发功能强大的Windows应用程序,但它们的设计理念、功能和开发体验都有显著区别。在本文中&…

三、ElementPlus下拉搜索加弹窗组件的封装

近期产品提出了一个需求,要求一个form的表单里面的一个组件既可以下拉模糊搜索,又可以弹窗搜索,我就为这个封装了一个组件,下面看效果图。 效果大家看到了,下面就看组件封装和实现方法 第一步,组件封装&…

Scratch图形化编程等级考试4级真题试卷(202409)

2024年9月Scratch图形化编程等级考试四级真题试卷 题目总数:24 总分数:100 选择题 第 1 题 单选题 Scratch运行下列程序,依次输入8、2、6后,角色说出的内容是?( ) A.26862 B.62862 …

uni-app 开发微信小程序,实现图片预览和保存

1.使用 uni.previewImage() 预览图片 1.1 图片列表 1.2 预览 1.2.1 样式无法调整 1.2.2 微信小程序不支持预览本地文件路径图片(图片上传到小程序的临时文件存储或云服务存储) 1.3 无法绑定 longpress"saveImage(item)" 长按保存图片事件 …