104----oracle基本概念,启动,连接, 数据类型,常见案例,集合操作符
2016-07-09 16:27
573 查看
一、 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(减集)
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(减集)
相关文章推荐
- oracle语句 trunc()、to_char()、to_date()、add_months()和误删恢复操作
- 名师对Oracle放弃Java EE的看法
- VitrualBox 安装Linux5.4+oracle 11gr2(碰到的3个问题)
- Oracle与mysql相关函数对应表
- ORACLE的控制文件
- Python cx_Oracle & Oracle Client for Mac OS
- 如何彻底卸载oracle
- 快速熟悉oracle新坏境
- Oracle密码过期the password has expired解决办法
- oracle视图 v$type_size
- 关于Oracle PL\SQL代码的wrapper与unwrapper
- JDBC oracle 错误总结
- 安装oracle后不能连接问题
- exp导出数据提示数据块损坏的处理办法
- 常用的pdo操作类,支持mysql、sqlserver、oracle,有实例
- ORACLE-数据抽取及备份
- ORA-01033ORACLE initialization or shutdown in progress
- oracle函数简单例子有返回值
- oracle利用包向JDBC返回结果集
- Oracle 11G Client 客户端安装步骤(图文详解)