104----oracle基本概念,启动,连接, 数据类型,常见案例,集合操作符

一、           Oracle基本概念:

1)       表空间:

2)       全局数据库名: 用于区分一个数据库的内部标识;

     全局数据库名=数据库名+域名

     使数据库的取名在整个网络环境中唯一

3)       模式和模式对象

模式为模式对象的集合

每一个用户对应一个模式

模式对象是用户拥有的对象

非模式对象与用户无关,如表空间

二、     启动数据库服务

 

OracleService<SID>:数据库服务

OracleOraDb11g_hom1TNSListener:数据库监听服务

OracleDBConsole<SID>:企业管理器服务

 

三、     连接数据库

 

4)       SYS和SYSTEM用户

     SYS和SYSTEM用户都是Oracle 的系统用户,它们都使用SYSTEM表空间,SYS拥有更大的权限

     通过SQL*Plus方式连接

     通过PL/SQL Developer方式连接

四、     数据类型

 

Oracle中伪列就像一个表列,但是它并没有存储在表中

伪列可以从表中查询,但不能插入、更新和删除它们的值

5)       常用的伪列有ROWID和ROWNUM

ROWNUM是查询返回的结果集中行的序号,可以使用它来限制查询返回的行数

 

五、     SQL简介

 

一、     常见案例

1)       按照姓名升序,如果姓名相同按照年龄降序排序

SQL>SELECTstuNo,stuName, stuAge

          FROM stuInfo

          WHERE stuAge>17

          ORDER BY stuName  ASC, stuAge DESC;

SQL>SELECTDISTINCT stuName,stuAge

           FROM stuInfo;

SQL>SELECT stuName as "姓  名", stuAge as "年 龄", stuID as 身份证号

              FROM StuInfo;

SQL>CREATE TABLE newStuInfo1

           AS

             SELECT * FROM StuInfo;

SQL>CREATE TABLE newStuInfo2

           AS

             SELECT stuName,stuNo,stuAge   FROM StuInfo;

SQL>CREATE TABLE newStuInfo2

           AS

             SELECT stuName,stuNo,stuAge   FROM StuInfo

              WHERE  1=2;

 

2)       查看表中行数,取出stuName,stuAge列不存在重复数据的记录

SQL>SELECT stuName,stuAge

             FROM stuInfo

           GROUP BY stuName,stuAge

          HAVING(COUNT(stuName||stuAge) <2);

SQL>SELECTCOUNT (*)  FROM stuInfo;

3)       删除stuName、stuAge列重复的行(保留一行)

SQL>DELETE

          FROM stuInfo

          WHERE ROWID NOT IN(

                                 SELECT MAX(ROWID)

                                 FROM stuInfo

                         GROUP BY stuName,stuAge

                            HAVING(COUNT(stuAge||stuAge)>1)

                                  UNION

                                  SELECT max(ROWID)

                                 FROM Stuinfo

                                  GROUP BY stuName,stuAge

                                 HAVING(COUNT(stuAge||stuAge)=1)    

4)       用于事务控制的语句

COMMIT

ROLLBACK

SAVEPOINT

ROLLBACKTO <SavePoint_Name>

 

SQL>INSERTINTO dept VALUES(50,'a',null);

SQL>INSERTINTO dept VALUES(60,'b',null);

SQL>SAVEPOINTa;

SQL>INSERTINTO dept VALUES(70,'c',null);

SQL>ROLLBACKTO SAVEPOINT a;

SQL>COMMIT;

SQL>SELECT* FROM dept;

 

二、     集合操作符

     UNION(联合)

     UNION ALL(联合所有)

     INTERSECT(交集)

     MINUS(减集)

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值