一.说明
Oracle登录方式(两种方式)
1.直接在SQL plus中登录 在此登录过程中密码默认不进行回显在输入过程中不显示任何东西但是可以成功登录
也可以用cmd命令行形式登陆 SQLplus 用户/密码
如果有命令的语句可以调用记事本, 有时候直接在命令行中操作比较麻烦,这个时候可以先在记事本里面弄好之后复制到命令框host copy 拷贝文件路径下一次打开文件可以直接用@调用文件 可以用Ed 命令启动记事本 如果不设置后缀默认.sql而且会保留在用户下,户可以直接在记事本中进行代码编写 而后保存执行@文件名称 就可以执行

2.在SQLdeveloper中创建用户并且连接建立数据库
打开sqlplus
第一步:以系统身份登录:
用户名:sys
密 码 :manager as sysdba
指令:sys/manager as sysdba;
第二步:创建新用户:
语法:create user 用户名 identified by 密码;
指令:create user C##zhangJun identified by zhangJun; (后面要加”;”)
第三步:为刚创建的用户解锁语法:
语法:alter user 用户名 account unlock;
指令:alter user C##zhangJun account unlock; //用户解锁
指令:alter user C##zhangJun account lock; //用户锁住
第四步:授予新登陆的用户创建权限
语法:grant create session to 用户名 ;
指令:grant create session to C##zhangJun;
授予新创建的用户数据库管理员权限:
语法:grant dba to 用户名;
指令:grant dba to C##zhangJun;
为用户授予其它权限:
指令:GRANT CREATE USER,DROP USER,ALTER USER ,CREATE ANY VIEW ,DROP ANYVIEW,EXP_FULL_DATABASE,IMP_FULL_DATABASE, DBA;

CONNECT,RESOURCE,CREATE SESSION TO C##zhangJun;
切换到新创建的用户登陆语法:connect 用户名/密码;
指令:connect C##zhangJun/zhangJun;
删除用户语法:drop user 用户名;
指令:drop user C##user;
如果用户拥有数据表,则不能直接删除,要用上关键字cascade:
指令:drop user user01 cascade;
注意所有操作都必须在结尾加上“;”才能执行成功。

修改用户和密码成功后再次用Oraclee SQL Developer连接,连接成功。

创建好用户之后就可以在SQLplus中创建表

二.在Oracle里面创建一个学生选课数据库

三.在Oracle里面建立表


表建立好之后可以直接在表中一个一个添加数据也可以在查询分析器里面插入数据。


四.具体操作
1.单表查询
(1)在课程表中找出学分大于3的课程
Select cname from course where credit >3;
(2)查询所有的学生的姓名,学号,年龄和所在系
select sname ,sno,sage,sdept from student;

(3)查询学生姓名及其派生属性出生年份
select sname ,2019-sage from student;

2.多表连接查询
(1)查询学生011的课程的总学分
select sum(credit) from sc,course where sno=‘011’ and sc.cno=course.cno;
3.多层嵌套查询
(1)查询“C09”课程比“C27”课程成绩高的学生
select t1.sname
from student t1
where t1.sno in
(
select a.sno
from (select sc.sno,sc.grade from sc where sc.cno=‘C09’) a, (select sc.sno,sc.grade from sc where sc.cno=‘C27’) b
where a.sno=b.sno and a.grade > b.grade )

(2)查询每门课程的最高分,最低分,平均分, 学选修的人数并且按照最高分进行降序排序
select t2.cno, t2.cname, max(t3.grade), avg(t3.grade), min(t3.grade), count(t2.cno)
from course t2, sc t3
where t2.cno=t3.cno
group by t2.cno, t2.cname
order by max(t3.grade) desc
(3)查询所有同学的学号、姓名、选课数、总成绩
select t1.sno, t1.sname, count(t3.sno), sum(t3.grade)
from student t1 ,course t2, sc t3
where t1.sno=t3.sno(+) --and t2.cno = t3.cno
group by t1.sno, t1.sname
order by t1.sno
4.复杂查询
(1)查询选修了3号课程的学生的学号及其成绩,结果按照分数降序排序
select sno,grade from sc where cno=‘003’ order by grade desc;
(2)选出选修学生人数最多的课程
select count(sc.cno) count, cno
from sc
group by sc.cno
order by count desc
(3)查询计算机科学系数学系和信息系的学生姓名和性别
select sname ,ssex from student where sdept in(‘CS’,‘MA’,‘IS’);
(4)查询平均成绩大于75分的同学的学号和平均成绩
select sno,avg(grade) from sc group by sno having avg(grade)>=75;
(5)查询平均成绩大于75分的同学的学号和名字
select t1.sno, t1.sname
from student t1, course t2, sc t3
where t1.sno=t3.sno and t2.cno=t3.cno
group by t1.sno, t1.sname
having avg(t3.grade)>75
5.视图创建和视图定义
(1)建立化学系学生的视图
create view C_student as select sno,sname,sage from student where sdept=‘C’;
6.视图查询
(1)查询化学系视图中年龄大于十八岁的同学的学号姓名
select sno,sname from C_student where sage>18
7.授权
(1)给C##yangxincui授予
Grant select,delete,insert, update on emp to C##yang

8.收回权限
(1)收回C##yangxincui对表的删除权限
Revoke delete on emp from C##yang

9.插入数据
(1)在学生表中添加一个学生记录杨艺灵女就读于化学系
insert into student values(‘022’,‘杨艺灵’,‘20’,‘f’,‘C’);
10.删除
(1)从课程表中删除数据结构课程的所有信息
delete from course where cname=‘数据结构’;
11.修改
(1)将高等数学的学分修改为6
update course set credit=credit+1 where cname=‘高等数学’;

Oracle SQL标准结构化语言练习相关推荐

  1. SQL标准结构化语言练习,SQL增删查改,SQL实现对bank数据的操作

    一.建立一个名称为bank的数据库 二.建立表 建立branch表,设置branch_name为主键 继续此操作建立customer,account,depositor,loan,borrower表 ...

  2. SQL:结构化查询语言(Structured Query Language)。

    SQL:结构化查询语言(Structured Query Language). 是关系型数据库标准语言. 特点:简单,灵活,功能强大. -------------------------------- ...

  3. python语言结构化语言_如何在python中处理结构化语言文件

    我有一个像这样的大型结构化语言文件:TASK SchM_Task { TYPE = AUTO; SCHEDULE = NON; PRIORITY = 160; ACTIVATION = 1; TIMI ...

  4. 三菱PLC CCD控制ST程序 本PLC程序中CCD控制用的ST结构化语言,程序都有注释

    三菱PLC CCD控制ST程序 本PLC程序中CCD控制用的ST结构化语言,程序都有注释.注释全面,用的三菱fx3u系列plc,可借鉴,本程序已经设备实际批量应用.稳定生产.成熟可靠,借鉴价值高,是三 ...

  5. 软考知识点——结构化语言描述加工逻辑

    目录 1.试题放置 2.三种语句 (1)顺序语句 (2)选择语句 (3)循环语句 1.试题放置 在中级软考中,这题总是放置在下午第一大题的数据流图的第4小问中,问法是:根据说明,采用结构化语言对&qu ...

  6. st语言 数组的常用方法_欧姆龙cp1h常用指令学习(九)结构化语言ST

    结构化语言ST是作用于功能块编程中. 这门语言对于梯形图中不善于处理的数值运算等逻辑算法,采用类似于高级语言的语法,使其变得简单. 下面先从功能块的相关知识说起: CP1H的功能块规格: 功能块定义数 ...

  7. oracle 结构化语言查询 DML DDL DCL

    --结构化查询语言 (Structured Query Language),具有定义. --查询.更新和控制等多种功能,是关系数据库的标准语言.--SQL分类: -- 数据操纵语言DML Data M ...

  8. python是结构化语言_NLP是如何工作的:把自然语言(尽可能)结构化

    NLP是如何工作的:把自然语言(尽可能)结构化 1)计算机非常擅长使用结构化数据,例如电子表格和数据库表.世界上很多信息是非结构化的--例如英语或其他人类语言中的原始文本. 2)阅读和理解英语的过程是 ...

  9. java结构化语言,如何让Java代码流畅和结构化

    说明:为了使逻辑更易懂,也为了可维护性更高,应该把代码按模块分割,而构成模块的类的方法,原则上只能有一个入口和一个出口.另外,关于嵌套的深度和模块的行数,也应该控制在一眼就能看清楚的程度上. 就Jav ...

最新文章

  1. 革命就是请客吃饭(案例分析吧)
  2. p20华为云电脑白屏_永别了电脑,华为大举动:华为云电脑,重新定义个人电脑...
  3. [原创][连载].基于SOPC的简易数码相框 - Nios II SBTE部分(软件部分) - 从SD卡内读取图片文件,然后显示在TFT-LCD上...
  4. python下载完以后是什么样子_python下载后怎么用
  5. SQL 查询数据库中包含指定字符串的相关表和相关记录
  6. Linux工作笔记-Linux常用命令(一)
  7. Less的@import指令
  8. 关于SQL Server 2005 的自动远程数据库备份
  9. 如何利用Webp和http缓存节省30%的网络流量
  10. C#:异步编程和线程的使用(.NET 4.5 )
  11. 【POJ2752】Seek the Name, Seek the Fame(hash)
  12. Android测试工具-Emmagee使用
  13. 还在用ListView?!OutMan!RecyclerView!
  14. linux上安装NVIDIA显卡驱动以及深度学习需要的cudn、cudnn、pytorch
  15. lpk劫持方式粘滞键后门后门T00ls Lpk Sethc v3.0 正式版下载
  16. 你是否同意放开二胎政策
  17. Solr面试回答思路
  18. pycharm 关闭右边黄色警告提示
  19. oracle 存储过程误删,Oracle中怎么恢复被删掉的存储过程
  20. 电动汽车电气及动力系统全解析

热门文章

  1. 玻利维亚java_BlogJava
  2. python数据结构与算法分析_数据结构与算法(Python版)
  3. win8计算机就一个盘,win8硬盘分区,详细教您win8硬盘怎么分区
  4. matlab噪声倍频带声压级,近海风电场水下打桩噪声传播特性
  5. m-orchastration system
  6. 我拷贝大文件的时候报“超过文件大小限制”错误,怎样突破这个限制?
  7. discuz x3插件开发傻瓜图文教程,用demo说话
  8. WinAPI: CreateFontIndirect - 根据字体结构建立逻辑字体
  9. php HASHTABLE 实现
  10. 实战Registry和RegistryKey类,一个简单的可疑文件扫描程序