常用sql命令@oracle数据类型概括@权限、角色、用户的创建于使用@伪列及其注意事项(二)

2014-11-24 15:23:20 · 作者: · 浏览: 1
startup shutdown必须是sys system用户才能够执行;其它用户不能使用.并且此命令只能在sqlplus中执行.不能在客户端工具中使用。
数据是信息数字表现形式,信息的加工处理是以大量的结构化数据为载体进行的,数据库管理系统的核心是数据库,数据库的主要对象是表,表是结构化数据存储的地方.
Oracle系统也提供了大量的数据类型主要包括两大类:用户自定义的数据类型、置的数据类型
数据类型:
A、字符型
字符数据类型可以用于声明包含了多个字母数字数据的字段。固定长度的字符类型
char:用于存储固定长度的字符,一旦声明长度固定(不论你存储的实际大小,但是大小绝对不能大于声明的长度)长度不足时,采用空格补充。1B的默认大小,最大尺寸为2000B。
nchar与char的解析是一样的,不过ncarh存储的是Unicode字符数据。
可变长度的字符类型varchar与char类似,但是它是用于存储可变的字符串,而char用于存储固定的字符串。
nvarchar与varchar解析是一样的,不过nvarchar用于存储的数据位双字节的数据。
B、日期型
date 短日期格式(1990-10-10)
Timestamp长日期格式(1990-10-10 10:10:10)
C、数字型
Number(2),代表:声明一个2位数字的整数。
Number(3,2)代表:声明为3数字位,并且小数后有2位。
D、文本型-àlob数据类型
Blob:可以存储图像,音频文件及视频等文件。
Clob:字符格式的大型对象,oracle数据àunicode格式的编码
Bfile:用于存储二进制格式的文件。
E、rowid 伪劣类型
用于在oracle内部保存表中的每条记录的物理地址。
4.创建表命令与过程再现
插入语句:
向表中插入一条新的(全字段)记录
insert into emp(empno,ename,job,mgr,hiredate,sal,comm,deptno) values(1111,'test','test','7369',to_date('1992-12-12','yyyy-mm-dd'),100,100,20);
或者写成:insert into emp values(2222,'test','test','7369',to_date('1992-12-12','yyyy-mm-dd'),100,100,20);
向表中插入一条新的(部分字段)记录
SQL> insert into emp(empno,ename,hiredate,deptno) values(3333,'test',to_date('1992-12-12','yyyy-mm-dd'),30);
注意:在插入操作的时候如果有关联,一定要插入相应关联的字段的值.备注:插入之后都需要手动的提交 commit;
SQL是structured Query Language(结构化查询语言)的缩写。可以使用sql语句建立或删除数据库的对象,插入,修改和更新数据库中的数据,并且可以对数据库执行各种日常管理的操作。它是所有关系数据库管理系统的标准语言.换句话说使用sql可以对所有的关系数据库进行操作。
5. SQL按照功能分类:
数据库定义语言
DDL(Data Definition Language):用于创建、修改、删除数据库对象。
数据库操作语言
DML(Data Manipulation Language)用于:查询,添加修改或删除存在数据库对象中的数据。
数据库控制语言
DCL(Data Control Language)用于控制访问数据库中特定对象的用户、grant revoke
Oracle系统中经过对Sql语言扩展被称为PL/SQL语言。
数据查询语言
DQL:(Data Query Language) SELECT 数据查询语言
6.集合运算符
UNION 并集 并去掉重复的行
UNION ALL 并集 不去除重复的行
MINUS 差集
INTERSECT 交集(oracle特有的)
7、伪列
1)、rowNum的伪列
SQL> select ename, rownum from emp; //rownum为查询的结果加上序列号
ENAME ROWNUM
---------- ----------
SMITH 1
ALLEN 2
WARD 3
SQL> select ename,rownum from emp where rownum<=5; //查询记录的前五条记录
ENAME ROWNUM
---------- ----------
SMITH 1
ALLEN 2
WARD 3
JONES 4
MARTIN 5
注意:如果把rownum用于比较条件时,只能用于小于、小于等于。
对于等于、大于 、大于等于不使用.
但有个特殊值就是大于等于1 或者等于1的时候可以。这就与rownum的产生原理有关.就是每当从磁盘拿出结果时,加上序列号。通过测试分析
测试:
SQL> select ename,rownum from emp where rownum >5;//当使用大于判断时,没有查询出任何结果.
ENAME ROWNUM
---------- ----------
分析:当从磁盘读取的数据时,加上序列号为1,1>5不成立,读取数据,加上序号为1(这里很关键 ),>5不成立,读取数据…….因此说1是特殊值.
RowNUM与Order By连接的问题
SQL> select ename,sal,rownum from emp order by sal; //注意观察 rownum的输出结果.
ENAME SAL ROWNUM
---------- --------- ----------
test 100.00 15
SMITH 800.00 1
JAMES 950.00 12
ADAMS 1100.00 11
WARD 1250.00 3