超详细Oracle完整学习笔记

2018-11-27 16:03

Oracle学习笔记

1、创建表空间

Create tablespace 空间名 Datafile ?文件路径? Size 10M autoextend on Eg:

create tablespace ultraeos logging

datafile 'D:\\Data\\Oracle\\tablespace10g\%ultraeos.dbf' size 32m autoextend on

next 32m maxsize 2048m extent management local;

2、创建新用记并授予权限

Create user 用户名

Identified by 用户密码 // (不能以数字开头) Default tablespace 表空间名

Temporary tablespace temp;//临时表空间为temp,系统默认

Grant connect to duly;

CONNECT 角色将允许用户连接数据库并在数据库中创建表或其它对象

Grant resource to duly;

RESOURCE角色将允许用户使用数据库中的空间

Grant create sequence to duly;

CREATE SEQUENCE 权限将允许用户创建序列,此权限包含在CONNECT连接角色中

以下代码演示加一个用户SCOTT如何授权用户duly操作EMP表的对象权限 Grant select on EMP to duly;//授予查询权限 Grant update to EMP to duly,//授予修改权限

撤销已授权的用户

REVOKE 权限 on 表名或表空间名 FROM 用户名 如:revoke select,update on kxd FROM duly; Eg:

-- Create the user create user CQADMIN

identified by \

default tablespace CQULTRA temporary tablespace TEMP profile DEFAULT;

-- Grant/Revoke role privileges grant connect to CQADMIN; grant resource to CQADMIN;

-- Grant/Revoke system privileges grant unlimited tablespace to CQADMIN;

3、修改用户口令

Alter user 用户名 Identified by 新密码

4、删除用户

Drop user 用户名 cascade;

5、创建表并对表进行操作

create table dt_eatery (

eatery_id int primary key,//创建主键 eatery_name varchar2(30), eatery_number varchar2(20) ) 注意:

1、 表名首字符应该为字母 2、 不能使用oracle中保留字 3、 不能超过30个字符

4、 可以使用下划线,数字和字母,但不能使用空格和单引号

修改表名:

ALTER TABLE 旧表名 RENAME TO 新表名

更改现有列的数据类型

Alter table 表名 modify (列名 新类型) 给已有的表加主键

alter table 表名 add constraint 主键名 primary key(列名);

如:alter table dt_menu add constraint menu primary key(menu_id); 表中添加列

Alter table 表名 add (列名 新类型)

删除表中列

Alter table 表名 drop (column 列名) 删除表中的所以数据而保留表结构 Truncate table 表名 查看表结构 Desc 表名

6、SELECT

(1)、选择无重复的行

Select DISTINCT * from 表名

(2)、带条件和排序的SELECT命令

Select * from 表名 where 条件 ORDER BY 列名

如:select * from dt_eatery where eatery_id = 1 ORDER BY eatery_id; 默认为顺序,如要倒序可如下:

如:select * from dt_eatery where eatery_id = 1 ORDER BY eatery_id DESC; (3)、利用现有的表创建新表 Create table 新表名 as SELECT 列名 FROM 老表名 WHERE 条件

7、 INSERT命令

Insert into 表名(列名1,列名2?? 或*) VLAUES(值)

8、 UPDATE命令

Update 表名 SET 列名 = 值 WHERE 条件.

9、 DELETE命令

DELETE FROM 表名 WHERE 条件

10、COMMIT命令 Commit; 10、 算术操作符 11、 时间操作

一个月的第一天

SELECT to_date(to_char(SYSDATE,'yyyy-mm')||'-01','yyyy-mm-dd') FROM dual 一年的第一天

SELECT to_date(to_char(SYSDATE,'yyyy')||'-01-01','yyyy-mm-dd' ) FROM dual 季度的第一天

SELECT

to_date(to_char(SYSDATE,'yyyy-')||lpad(floor(to_number(to_char(SYSDATE,'mm'))/3)*3+1,2,'0')||'-01','yyyy-mm-dd') FROM dual

上个月的最后一天

SELECT trunc(last_day(add_months(SYSDATE,-1)))+1-1/24/60/60 FROM dual 本年的最后一天

SELECT trunc(last_day(to_date(to_char(SYSDATE,'yyyy')||'-12-01','yyyy-mm-dd')))+1-1/24/60/60 FROM dual 本月的最后一天

select trunc(last_day(sysdate))+1-1/24/60/60 from dual 本月的第一个星期一

SELECT next_day( to_date(to_char(SYSDATE,'yyyy-mm')||'-01','yyyy-mm-dd'),'星期一') FROM dual 去掉时分秒

SELECT trunc(sysdate) FROM dual 显示星期几

SELECT to_char(SYSDATE,'Day') FROM dual 取得某个月的天数

SELECT trunc(last_day(SYSDATE))-to_date(to_char(SYSDATE,'yyyy-mm')||'-01','yyyy-mm-dd')+1 FROM dual 判断是否闰年

SELECT decode(to_char(last_day(to_date(to_char(SYSDATE,'yyyy')||'-02-01','yyyy-mm-dd')),'dd'),'28','平年','闰年') FROM dual

一个季度多少天 SELECT

last_day(to_date(to_char(SYSDATE,'yyyy-')||lpad(floor(to_number(to_char(SYSDATE,'mm'))/3)*3+3,2,'0')||'-01','yyyy-mm-dd'))-to_date(to_char(SYSDATE,'yyyy-')||lpad(floor(to_number(to_char(SYSDATE,'mm'))/3)*3+1,2,'0')||'-01','yyyy-mm-dd')+1FROM dual

12、--oracal 自增主键的创建

create table example

( );

--建立一个序列 CREATE SEQUENCE emp_sequence INCREMENT BY 1 --每次加几 START WITH 1 --从几开始计数 NOMAXVALUE --不设置最大值 NOCYCLE --一直累加,不循环 NOCACHE --不建缓冲区 ;

ID NUMBER(10) NOT NULL PRIMARY KEY, USERNAME VARCHAR2(20), PHONE VARCHAR2(20), ADDRESS VARCHAR2(50)

INSERT INTO example

(USERNAME,PHONE,ADDRESS)VALUES('KXD','88888888','KXDSOFT')

INSERT INTO example VALUES(emp_sequence.nextval,'KXD','88888888','KXDSOFT') insert into example (id ) values (emp_sequence.nextval)

oracle sql (2)函数 ..........................................15.ABS

返回指定值的绝对值

SQL> select abs(100),abs(-100) from dual; ABS(100) ABS(-100) --------- --------- 100 100

16.ACOS 给出反余弦的值

SQL> select acos(-1) from dual; ACOS(-1)


超详细Oracle完整学习笔记.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:寝室文化节活动总结

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: