SQL Server 数据操控,视图和索引

news2025/2/25 10:21:14

文章目录

  • 前言
  • 1.在student表中插入一行新记录,学号为,姓名为胡明月,性别为男,年龄为,系部为CS
  • 2.在student表中插入一条新记录,学号为,姓名为李红,性别为女
  • 3.将胡明月的年龄修改为19
  • 4.所有系部为CS改为计算机系
  • 5. 将student表中所有学生的年龄增加一岁
  • 6.删除student表中胡明月的信息
  • 7.删除student表中所有数据
  • 8.在student表的sdept列上创建一个非聚集索引index1
  • 9.为studnet表的ssex和sname列创建一个唯一索引index2,若student表已存在index2,则先删除之
  • 10.查看student表的索引信息
  • 11.删除student中的索引index2
  • 12.在XSCJ数据库中,创建视图view_grade,查询张文宝同学的成绩信息
  • 13.视图相当于一个虚表,可直接从视图查询
  • 14.创建视图 view_sc_count,统计课程号为的课程的选修人数,并对视图文本加密
  • 15.修改视图view_male,在student表中查询女同学的信息
  • 16.删除视图view_male
  • 17.查询年龄为岁的女学生信息
  • 18.利用视图view_male 将学生张楠的系部改为MA
  • 19.利用视图view_male 删除姓名为张楠的学生信息
  • 20.知识点总结
  • 总结


前言

1.在student表中插入一行新记录,学号为,姓名为胡明月,性别为男,年龄为,系部为CS

INSERT INTO student VALUES('0603140103','胡明月','男','20','CS')

在这里插入图片描述
在这里插入图片描述

2.在student表中插入一条新记录,学号为,姓名为李红,性别为女

INSERT INTO student(sno,sname,ssex) VALUES('95007','李红','女')

在这里插入图片描述
在这里插入图片描述

3.将胡明月的年龄修改为19

UPDATE student
set sage=19
WHERE sname='胡明月'
select * from student WHERE sname='胡明月'

在这里插入图片描述
在这里插入图片描述

4.所有系部为CS改为计算机系

UPDATE student
set sdept='计算机系'
where sdept='CS'
SELECT * FROM student

在这里插入图片描述
在这里插入图片描述

5. 将student表中所有学生的年龄增加一岁

UPDATE student 
SET sage=sage+1
SELECT * from student

在这里插入图片描述
在这里插入图片描述

6.删除student表中胡明月的信息

DELETE FROM student where sname='胡明月'

在这里插入图片描述
在这里插入图片描述

7.删除student表中所有数据

delete from student

在这里插入图片描述
在这里插入图片描述

8.在student表的sdept列上创建一个非聚集索引index1

use XSCJ
create nonclustered INDEX index1 ON student(sdept)

在这里插入图片描述

9.为studnet表的ssex和sname列创建一个唯一索引index2,若student表已存在index2,则先删除之

use XSCJ
go
IF EXISTS(SELECT * FROM sys.indexes where name='index2')
drop index student.index2
go
create UNIQUE INDEX index2 ON student(ssex,sname)

在这里插入图片描述

10.查看student表的索引信息

EXEC sp_helpindex student

在这里插入图片描述

11.删除student中的索引index2

drop INDEX student.index2

在这里插入图片描述

12.在XSCJ数据库中,创建视图view_grade,查询张文宝同学的成绩信息

create view view_grade
as
select student.sname,sc.grade from student,sc
where student.sno=sc.sno and student.sname='张文宝'

select * from view_grade

在这里插入图片描述
在这里插入图片描述

13.视图相当于一个虚表,可直接从视图查询

use XSCJ
go
create view view_male
as 
select * from student 
where ssex='男'

在这里插入图片描述

14.创建视图 view_sc_count,统计课程号为的课程的选修人数,并对视图文本加密

create view view_sc_count(课程号,人数)
with encryption 
as
select cno 课程号,count(cno) 选课人数  from sc
group by cno
having cno='2102'


exec sp_helptext view_sc_count

在这里插入图片描述

15.修改视图view_male,在student表中查询女同学的信息

alter view view_male
as select * from student 
where ssex='女'
select * from view_male

在这里插入图片描述

16.删除视图view_male

drop VIEW view_male

在这里插入图片描述

17.查询年龄为岁的女学生信息

select * from view_male 
where sage=19

此查询过程相当于:

select * from student 
where sage=19 and ssex='女'

在这里插入图片描述

18.利用视图view_male 将学生张楠的系部改为MA

update view_male
SET sdept='MA'
WHERE sname='张楠'

select * from   view_male   where sname='张楠'

在这里插入图片描述

19.利用视图view_male 删除姓名为张楠的学生信息

delete from view_male
where sname='张楠' 
select * from view_male where sname='张楠'

在这里插入图片描述

20.知识点总结

(1)理解索引的概念:
当表的数据量比较大时,查询操作会比较耗时。这时候建立索引是加快查询速度的有效手段,它能快速定位到需要查询的内容。用户可以根据需要在基本表上建立一个或多个索引,用来提供多种存取路径,加快查找速度。
(2)建立索引核心语句:
CREATE (UNIQUE) INDEX <索引名> ON 表名(列名 ASC/DESC,列名 ASC/DESC)
注意:ASC为升序,DESC为降序。默认为ASC升序。
修改索引核心语句:ALTER INDEX <old索引名> RENAME TO <new索引名>
删除索引核心代码:DROP INDEX <索引名>
(3)理解视图的概念:
视图是关系数据库系统为用户提供从不同角度观察和使用数据库中数据的一种机制。视图是一个虚表,在数据库中只存放视图的定义,而不存放对应数据。这些数据仍然存在在原来的表中,其变化可以通过视图而反应出来,我们可以对视图进行查询操作。
(4)建立视图核心语句为:
CREATE VIEW <视图名> (<列名>,<…>)
AS
SELECT<子查询>
(5)删除视图核心语句:DROP VIEW <视图名>
(6)SQL 语言的数据操纵语句DML主要包括插入数据,修改数据 和删除数据三种语句。
(7)插入数据记录:
INSERT INTO <表名> [(<列名 1> [,<列名 2>···])] VALUES (<值>)
其中:
<表名>是指要插入新纪录的表
<列名>是可选项,指定待添加数据的列,列出列名,则 VALUES 子句中值的排列顺序必须和列名名表中的列名排列顺序一致,个数相等,数据 类型一一对应;若省略列名,则 VALUES 子句中值的排列顺序必须和定义表时的列名顺序一致,个数相等,数据类型 一一对应。
VALUES 子句指定待添加数据的具体值。
(8)
在student表中插入一条学生记录:
INSERT INTO student VALUES (‘1’,‘小马’,‘女’,‘2002-06-18’,‘1102’,‘商务’)
插入部分值:
INSERT INTO sc (Sno, Cno) VALUES (‘14852345’,‘5876255’)
插入多行记录:
可以从一个表中抽取数据插入另一个表中,这通过子查询来实现。
INSERT INTO <表名> [(<列名>[,<列名2>···])]
子查询
建一张表 studentlist(Sno, Sname, Ssex),其中字段含义分别是学号,姓名,性别,并把学生表中的相关数据插入到点名表中。
CREATE TABLE studentlist
(Sno CHAR(10)),
Sname VARCHAR(20),
Ssex VARCHAR(10));
INSERT INTO studentlist (Sno, Sname, Ssex) SELECT Sno, Sname,Ssex FROM student;
(9)修改数据记录:
UPDATE <表名>
SET <列名>=<表达式> [,<列名>=<表达式>…]
[WHERE <条件>]
(10)
删除数据记录:
DELETE
FROM <表名>
[WHERE <条件>]


总结

今天的学习内容就分享到这里啦,如果对大家有帮助的话,记得点赞收藏博客,关注后续的SQL Server学习内容哦~😉😉
请添加图片描述

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

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

相关文章

R语言实践——ggplot2+ggrepel绘制散点+优化注释文本位置

简介 书接adjustText实践——调整matplotlib散点图标签&#xff0c;避免重复 上文中&#xff0c;matplotlibadjustText对于我的实例来说并没有起到很好的效果。所以&#xff0c;博主决定在R中利用gglot2ggrepel绘制&#xff0c;期待效果。 操作过程 博主不常使用R&#xff…

尚融宝14-集成redis缓存

目录 一、简介 1、场景 2、RedisTemplate 二、引入Redis 1、项目中集成Redis 2、添加Redis连接配置 3、启动Redis服务 三、测试RedisTemplate 1、存值测试 2、Redis配置文件 3、取值测试 四、将数据字典存入redis 一、简介 1、场景 由于数据字典的变化不是很频繁&#xff0c;而…

Unity 热更新技术 | (四) Lua语言基本语法及关键知识介绍

🎬 博客主页:https://xiaoy.blog.csdn.net 🎥 本文由 呆呆敲代码的小Y 原创,首发于 CSDN🙉 🎄 学习专栏推荐:Unity系统学习专栏 🌲 游戏制作专栏推荐:游戏制作 🌲Unity实战100例专栏推荐:Unity 实战100例 教程 🏅 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬…

python ——批量读取相同格式文件(多个文件夹/单个文件夹)---nc文件为例

在处理多个相同格式的文件时&#xff0c;python中的许多模块可以为我们提供很多遍历。 比如&#xff0c;我们想读取一个文件夹下多个相同格式的文件时 可以使用os模块&#xff0c; import os以下有几个常见用法&#xff1a; 1、os.path.abspath(path) #返回绝对路径 2、os.pat…

【周末闲谈】畅想AR,AR领域迎来新风口

个人主页&#xff1a;【&#x1f60a;个人主页】 系列专栏&#xff1a;【❤️周末闲谈】 周末闲谈 ✨第一周 二进制VS三进制 ✨第二周 文心一言&#xff0c;模仿还是超越&#xff1f; 文章目录周末闲谈前言AR?&#x1f914;&#x1f914;&#x1f914;AR的发展&#x1f463;&…

Matplotlib数据可视化

Matplotlib是⼀个Python 2D&#xff0c;3D绘图库&#xff0c;它以多种硬拷⻉格式和跨平台的交互式环境⽣成出版物质量的图形。 MatplotlibMatplotlib中文网、Matplotlib官方中文文档。https://www.matplotlib.org.cn/ 1.模块导⼊ import matplotlib.pyplot as plt #使⽤py…

分布式事务详解

&#x1f3c6;今日学习目标&#xff1a; &#x1f340;分布式事务详解 ✅创作者&#xff1a;林在闪闪发光 ⏰预计时间&#xff1a;30分钟 &#x1f389;个人主页&#xff1a;林在闪闪发光的个人主页 &#x1f341;林在闪闪发光的个人社区&#xff0c;欢迎你的加入: 林在闪闪发光…

Web 攻防之业务安全:密码找回安全案例总结.

Web 攻防之业务安全&#xff1a;密码找回安全案例总结 业务安全是指保护业务系统免受安全威胁的措施或手段。广义的业务安全应包括业务运行的软硬件平台&#xff08;操作系统、数据库&#xff0c;中间件等&#xff09;、业务系统自身&#xff08;软件或设备&#xff09;、业务所…

微软New Bing初体验:AI时代的搜索引擎(内含体验方法)

&#x1f4cb; 个人简介 &#x1f496; 作者简介&#xff1a;大家好&#xff0c;我是阿牛&#xff0c;全栈领域优质创作者。&#x1f61c;&#x1f4dd; 个人主页&#xff1a;馆主阿牛&#x1f525;&#x1f389; 支持我&#xff1a;点赞&#x1f44d;收藏⭐️留言&#x1f4d…

AI未来十年新范式,生成式人工智能的挑战与机遇

目录0 写在前面1 什么是生成式模型&#xff1f;2 生成式模型的挑战3 自主智能新架构4 持续学习与表征解耦4.1 学习范式4.2 学习架构5 生成式AI与元宇宙6 智慧文档&#xff1a;赋能数字化转型7 结语0 写在前面 2023年3月18日&#xff0c;由中国图象图形学学会&#xff08;CSIG&…

【李老师云计算】HBase+Zookeeper部署及Maven访问

索引前言1. Zookeeper1.1 主机下载Zookeeper安装包1.2 主机解压Zookeeper1.3 ★解决解压后文件缺失1.4 主机配置Zookeeper文件1.4.1 配置zoo_sample.cfg文件1.4.2 配置/data/myid文件1.5 主机传输Zookeeper文件到从机1.6 从机修改Zookeeper文件1.6.1 修改zoo.cfg文件1.6.2 修改…

生成器设计模式(Builder Design Pattern)[论点:概念、图示、示例、框架中的应用、场景]

文章目录概念相关图示代码示例框架中的应用场景多个生成器&#xff08;Concrete Builder&#xff09;&#xff1a;单个生成器概念 生成器设计模式&#xff08;Builder Design Pattern&#xff09;是一种创建型设计模式&#xff0c;用于处理具有多个属性和复杂构造过程的对象。生…

【Linux学习】信号——信号保存 | 信号处理 | 不可重入函数,volatile,SIGCHLD信号

&#x1f431;作者&#xff1a;一只大喵咪1201 &#x1f431;专栏&#xff1a;《Linux学习》 &#x1f525;格言&#xff1a;你只管努力&#xff0c;剩下的交给时间&#xff01; 信号的产生以及详细讲解了&#xff0c;有兴趣的小伙伴可以去看看&#xff0c;传送门。接下来介绍…

快速尝鲜Oracle 23c免费开发者版,惊喜多多

&#x1f4e2;&#x1f4e2;&#x1f4e2;&#x1f4e3;&#x1f4e3;&#x1f4e3; 哈喽&#xff01;大家好&#xff0c;我是【IT邦德】&#xff0c;江湖人称jeames007&#xff0c;10余年DBA及大数据工作经验 一位上进心十足的【大数据领域博主】&#xff01;&#x1f61c;&am…

hive数据仓库--Hive介绍

1 什么是HiveHive是基于Hadoop的⼀个数据仓库⼯具&#xff0c;⽤来进⾏数据提取、转化、加载&#xff0c;这是⼀种可以存储、查询和分析存储在Hadoop中的⼤规模数据的机制。Hive数据仓库⼯具能将结构化的数据⽂件映射为⼀张数据库表&#xff0c;并提供类SQL的查询功能&#xff…

spring(七):事务操作

spring&#xff08;七&#xff09;&#xff1a;事务操作前言一、什么是事务二、事务四个特性&#xff08;ACID&#xff09;三、事务操作&#xff08;搭建事务操作环境&#xff09;四、事务操作&#xff08;Spring 事务管理介绍&#xff09;五、事务操作&#xff08;注解声明式事…

SpringBoot整合Redis、以及缓存穿透、缓存雪崩、缓存击穿的理解分布式情况下如何添加分布式锁 【续篇】

文章目录前言1、分布式情况下如何加锁2、具体实现过程3、测试3.1 一个服务按照多个端口同时启动3.2 使用jmeter进行压测前言 上一篇实现了单体应用下如何上锁,这一篇主要说明如何在分布式场景下上锁 上一篇地址:加锁 1、分布式情况下如何加锁 需要注意的点是: 在上锁和释放…

C/C++每日一练(20230412)

目录 1. 二维数组找最值 &#x1f31f;&#x1f31f; 2. 排序 &#x1f31f; 3. 二叉树展开为链表 &#x1f31f;&#x1f31f; &#x1f31f; 每日一练刷题专栏 &#x1f31f; Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练 专栏 1. 二维…

使用ebpf 监控golang 应用

一、背景 使用ebpf 监控grpc-go的应用&#xff0c;grpc-go http2 client的处理点 func (l *loopyWriter) writeHeader(streamID uint32, endStream bool, hf []hpack.HeaderField, onWrite func()) error { ...... }// operateHeaders takes action on the decoded headers. f…

大数据 | Hadoop集群搭建(完全分布式)

知识目录一、前言二、配置三台虚拟机2.1 克隆三台虚拟机2.2 配置克隆的虚拟机2.3 使用Xshell连接虚拟机2.4 配置SSH免密登录三、Hadoop集群准备3.1 安装 rsync3.2 安装xsync分发脚本3.3 安装JDK和安装Hadoop3.4 配置环境变量3.5 分发四、Hadoop集群搭建4.1 修改配置文件4.2 配置…