广告
返回顶部
首页 > 资讯 > 数据库 >数据库sql语句(视图的创建)
  • 864
分享到

数据库sql语句(视图的创建)

sqlmysql数据库 2023-09-27 14:09:39 864人浏览 泡泡鱼
摘要

例题:  建表:要注意各表之间的索引联系,建表先后顺序很重要,不然建不了,例如先建dept,在建其他表,先在dept插入数据,再在其他表插入数据 (1) create table week8student(SNO int primary

例题: 

建表:要注意各表之间的索引联系,建表先后顺序很重要,不然建不了,例如先建dept,在建其他表,先在dept插入数据,再在其他表插入数据

(1)

 create table week8student(SNO int primary key, SNAME char(8) not null unique,SEX char(2), DEPTNO int foreign key references week8dept(DEPTNO)) 

(2) 

 create table week8course(CNO int, CNAME char(20) not null,TNO int,CREDIT int, primary key(CNO,TNO), foreign key (TNO) references week8teacher(TNO)) 

(3) 

 create table week8sc(SNO int,CNO int,GRADE int, primary key(SNO,CNO), foreign key (SNO) references week8student(SNO))

(4)

 create table week8teacher(TNO int primary key, TNAME char(8) not null, DEPTNO int foreign key references week8dept(DEPTNO)) 

(5) 

 

 create table week8dept(DEPTNO int primary key, DEPTNAME char(20) not null) 

插入数据如下图

sql语句:

Student 表中加入属性 SAGE(INT )
alter table week8student add sage int
 将 Student 表中的属性 SAGE 类型改为 SMALLINT
alter table week8student alter column sage smallint

关于alter语句的总结

向表中添加字段

Alter table [表名] add [列名] 类型

删除字段

Alter table [表名] drop column [列名]

修改表中字段类型 (可以修改列的类型,是否为空)

Alter table [表名] alter column [列名] 类型

添加主键

Alter table [表名] add constraint [ 约束名] primary key( [列名])

添加唯一约束

Alter table [表名] add constraint [ 约束名] unique([列名])

6:添加表中某列的默认值

Alter table [表名] add constraint [约束名] default(默认值) for [列名]
7:添加约束

Alter table [表名] add constraint [约束名] check (内容)

添加外键约束

Alter table [表名] add constraint [约束名] foreign key(列名) referencese 另一表名(列名)

删除约束

Alter table [表名] drop constraint [约束名]

重命名表

exec sp_rename ‘[原表名]’,’[新表名]’

重命名列名

exec sp_rename ‘[表名].[列名]’,’[表名].[新列名]’

删除主键,以及主键上的索引

alter table table_name drop constraint clusteredName
————————————————

原文链接:https://blog.csdn.net/slb190623/article/details/117199931

Course 表上建立关于 CNO 降序 的唯一索引
create unique index cno_index on week8course(CNO desc)
查询数据结构这门课的平均成绩
 select avg(sc.GRADE)'数据结构的平均成绩'  from week8sc sc,week8course c where sc.CNO = c.CNO and c.CNAME='数据结构' group by sc.CNO

为计算机系的学生记录建立一个视图CS_STUDENT(create view....as)

补充:

create table:建表

create index:建立索引

 create view CS_STUDENT as select s.SNO,s.SNAME,s.SEX,s.DEPTNO,d.DEPTNAME from week8student s,week8dept d where s.DEPTNO=d.DEPTNO and d.DEPTNAME='计算机'
利用视图,列出所有计算机学生的姓名,选课名和成绩
 select cs.SNAME 姓名,c.CNAME 课程名,sc.GRADE 成绩 from CS_STUDENT cs,week8sc sc,week8course c where c.CNO=sc.CNO and cs.SNO = sc.SNO

查询各个系的学生人数
 select count(s.DEPTNO)'人数',d.DEPTNAME'系名' from week8student s,week8dept d where s.DEPTNO=d.DEPTNO group by s.DEPTNO,d.DEPTNAME

查询选修总学分在 10 学分以上的学生姓名
 select s.SNAME 选修总学分在10分以上 from week8course c,week8sc sc,week8student s where c.CNO=sc.CNO and s.SNO=sc.SNO  group by s.SNAME  having sum(c.CREDIT)>10

查询各门课程取得最高成绩的课程号、学生姓名及其成绩
 select m.CNO,s.SNAME,m.maxG from week8sc sc2,week8student s, (select sc1.CNO,max(sc1.GRADE)'maxG' from week8sc sc1 group by sc1.CNO)m where m.CNO=sc2.CNO and sc2.GRADE=m.maxG and sc2.SNO=s.SNO

其中构建了一个新表m,里面包含的元素有cno,maxG

查询选修了学号为 1002 的学生选修的全部课程的学生学号
 select distinct SNO from week8sc sc1 where not exists(   select * from week8sc sc2   where sc2.SNO='1002'   and not exists(     select * from week8sc sc3     where sc3.SNO = sc1.SNO     and sc3.CNO = sc2.CNO))

查询选修了张星老师开设的全部课程的学生姓名(双重否定,没有哪一门课,张星老师开设了,学生x没有选)
select s.SNAME from week8student s where not exists (   select * from week8course c   where c.TNO in(     select t.TNO from week8teacher t     where t.TNAME='张星'     and not exists(       select * from week8sc sc       where sc.SNO=s.SNO and sc.CNO=c.CNO)) )

查询选修张星老师数据结构课的学生的姓名和成绩
 select s.SNAME,sc1.GRADE from week8sc sc1,week8student s where sc1.CNO in  (select c.CNO from week8teacher t,week8course c where t.TNAME='张星' and t.TNO=c.TNO and c.CNAME='数据结构') and sc1.SNO = s.SNO

将张星老师数据结构课的学生成绩全部加2
 update week8sc set GRADE = GRADE+2 where SNO in ( select sc1.SNO from week8sc sc1,week8student s where sc1.CNO in  (select c.CNO from week8teacher t,week8course c where t.TNAME='张星' and t.TNO=c.TNO and c.CNAME='数据结构') and sc1.SNO = s.SNO)

两个条件:张星老师,数据结构

从内往外看

select c.CNO from week8teacher t,week8course c where t.TNAME='张星' and t.TNO=c.TNO and c.CNAME='数据结构' 

检索课程名称为数据结构,老师为张星的课程号

select sc1.SNO from week8sc sc1,week8student s where sc1.CNO in  (select c.CNO from week8teacher t,week8course c where t.TNAME='张星' and t.TNO=c.TNO and c.CNAME='数据结构') and sc1.SNO = s.SNO

检索该课程号对应的学生学号,就是上这门课的学生学号

update week8sc set GRADE = GRADE+2 where SNO in ( select sc1.SNO from week8sc sc1,week8student s where sc1.CNO in  (select c.CNO from week8teacher t,week8course c where t.TNAME='张星' and t.TNO=c.TNO and c.CNAME='数据结构') and sc1.SNO = s.SNO)

最后为这个学号执行grade+2操作

再次查询选修张星老师数据结构课的学生的姓名和成绩

select s.SNAME,sc1.GRADE from week8sc sc1,week8student s where sc1.CNO in  (select c.CNO from week8teacher t,week8course c where t.TNAME='张星' and t.TNO=c.TNO and c.CNAME='数据结构') and sc1.SNO = s.SNO
 删除马朝阳同学的所有选课记录(delete from)
 delete from week8sc where SNO in (select SNO  from week8student  where SNAME='马朝阳')

来源地址:https://blog.csdn.net/weixin_69884785/article/details/130585743

您可能感兴趣的文档:

--结束END--

本文标题: 数据库sql语句(视图的创建)

本文链接: https://www.lsjlt.com/news/419796.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 数据库sql语句(视图的创建)
    例题:  建表:要注意各表之间的索引联系,建表先后顺序很重要,不然建不了,例如先建dept,在建其他表,先在dept插入数据,再在其他表插入数据 (1) create table week8student(SNO int primary...
    99+
    2023-09-27
    sql mysql 数据库
  • SQL创建视图的语句怎么写
    小编给大家分享一下SQL创建视图的语句怎么写,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!SQL创建视图的语句是什么使用crea...
    99+
    2022-10-18
  • sql数据库视图如何创建
    要创建一个SQL数据库视图,需要使用CREATE VIEW语句。以下是创建视图的语法:CREATE VIEW view_name A...
    99+
    2023-09-29
    sql数据库
  • SQL数据库如何创建视图
    创建视图的语法:```CREATE VIEW view_name ASSELECT column1, column2, .....
    99+
    2023-09-07
    SQL数据库
  • 使用SQL语句创建数据库与创建表
    前言 🎈个人主页:🎈 :✨✨✨初阶牛✨✨✨ 🐻推荐专栏: 🍔🍟🌯 c语言初阶 🔑个...
    99+
    2023-09-29
    数据库 sql
  • 创建数据库与删除数据库的sql语句
    这篇文章主要介绍“创建数据库与删除数据库的sql语句”,在日常操作中,相信很多人在创建数据库与删除数据库的sql语句问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”创建数据库与...
    99+
    2022-10-18
  • navicat使用SQL语句创建视图的方法
    这篇文章主要介绍了navicat使用SQL语句创建视图的方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。navicat是一款非常好用的数据...
    99+
    2022-10-18
  • sql数据库中视图的创建方法
    这篇文章主要介绍sql数据库中视图的创建方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!sql数据库创建视图的方法:1、登录“sql server managment”;2、在指定...
    99+
    2022-10-18
  • 简单的创建数据库sql语句分析
    今天小编给大家分享的是简单的创建数据库sql语句分析,相信很多人都不太了解,为了让大家更加了解,所以给大家总结了以下内容,一起往下看吧。一定会有所收获的哦。创建数据库的sql语句是“CREATE DATAB...
    99+
    2022-10-18
  • 数据库怎么用SQL语句创建表
    要使用SQL语句创建表,你可以按照以下步骤进行操作:1. 使用CREATE TABLE语句创建一个新的表,并指定表的名称。例如:CR...
    99+
    2023-08-12
    SQL
  • 如何利用SQL语句创建数据库详解
    目录前言建立数据库总结前言 SQL语言是集DDL、DML和DCL于一体的数据库语言 SQL语言主要由以下9个单词引导的操作语句来构成,但每一种语句都能表达复杂的操作请求 DDL语句引导词:Create(建立),Alter...
    99+
    2022-06-16
    sql语句创建数据库用户 sql如何创建数据库 sql语句创建数据库步骤
  • 怎么用SQL语句创建视观表
    本篇内容介绍了“怎么用SQL语句创建视观表”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!视观表(Views...
    99+
    2022-10-18
  • mysql创建视图的语句怎么写
    这篇文章将为大家详细讲解有关mysql创建视图的语句怎么写,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在mysql中,可以使用“CREATE VIEW”语句来创建视图,...
    99+
    2022-10-18
  • 视图模式及T-SQL语句操作管理SQL Server数据库
    关于SQL Server数据库相关理论概念请参考:SQL Server数据库、表、数据类型基本概念 一、视图模式管理表 SQL Server对数据库的操作有两种方式,即可视化操作界面和SQL语言。下面介绍在...
    99+
    2022-10-18
  • SQL server 数据库的表的创建与使用T-SQL语句操控数据表
    表的创建与T-SQL语句的使用 一,表的创建与基本概念 表是包含数据库中所有数据的数据库对象,表定义是一个集合。数据在表中组织...
    99+
    2022-10-18
  • MySQL创建数据库(CREATE DATABASE语句)
     在 MySQL 中,可以使用 CREATE DATABASE 语句创建数据库,语法格式如下: CREATE DATABASE [IF NOT EXISTS] [[DEFAULT] CHARACTER SET ] [[DEFAULT] CO...
    99+
    2023-08-31
    数据库 mysql sql
  • MySQL 数据库SQL语句---DDL语句
    SQL语句---DDL语句==============================================================================概述:=========...
    99+
    2022-10-18
  • mysql创建表的sql语句
    这篇文章主要介绍mysql创建表的sql语句,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!mysql创建表的sql语句mysql建表常用sql语句:连接:mysql -h主机地址 -...
    99+
    2022-10-18
  • 猿创征文 |【MySQL数据库一SQL 语句】
    🍁博客主页:👉@不会压弯的小飞侠 ✨欢迎关注:👉点赞👍收藏⭐留言✒ ✨系列专栏:👉MySQL数据库专栏 ✨欢迎加...
    99+
    2023-09-11
    数据库 mysql sql
  • 如何实现MySQL中创建视图的语句?
    如何实现MySQL中创建视图的语句?MySQL中的视图(View)是一种虚拟表,它是基于SELECT查询语句的结果集的可视化表示,提供了一种方便的方式来对复杂的查询结果进行重用和简化。在MySQL中,创建视图的语句遵循一定的语法规则...
    99+
    2023-11-08
    创建 视图 编程关键词:mySQL
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作