创建用户:
CREATE USER [USERNAME] IDENTIFIED BY [PASSWORD]
DEFAULT TABLESPACE --为该用户指定默认表空间
分配权限和角色:
GRANT [权限名] OR ROLE TO [用户名]
撤销权限或角色:
REMOVE [权限名] OR ROLE FROM [用户名]
表空间的创建:
1.创建一个简单的表空间
create tablespace test datafile 'f:\database\oracle\test_data.dbf' size 20M
2.指定数据文件的可扩展性
------------ autoextend on
3.指定数据文件的增长幅度
-------autoextend On Next 5m
4.指定数据文件的最大尺寸
-------autoextend On Next 5m Maxsize 500M
5.查看表空间是否创建成功:
select file_name, tablespace_name from dba_data_files order by file_name
修改表空间名称:
alter tablespace [tablespaceName]rename to [UserName]
说明:表空间重命名并不对数据文件产生影响,需要注意的是,不能对数据的系统表空间进行重命名,例如SYSTEM, SYSAUX等无法进行重命名。
删除表空间:
1.删除表空间中的记录
drop tablespace [tablespcename]
2.删除表空间中的记录及其物理文件
drop tablespace [tablespcename] including contents and datafiles
创建表:
CREATE TABLE [表名]
(
ID NUMBER(4) NOT NULL,
NAME VARCHAR2(10) NOT NULL
)
删除表:
DROP TABLE [表名]
创建序列:
CREATE SEQUENCE [序列名]
INCREMENT BY [增长量]
START WITH [开始数]
NOMAXVALUE --不设置最大值 或者使用MAXVALUE 设置最大值
NOCYCLE --一直累加不循环
删除序列:
DROP SEQUENCE [序列名]
约束:
主键约束:
1.为表添加主键
alter table 约束名 add primary key (id)
2.为表添加多列主键
alter table 约束名 add primary key (id, name)
3.删除主键
alter table 约束名 drop primary key
4.启用/禁用主键
Alter table 约束名 disable primary key
外键约束:
1.建立约束
alter table [外键表] add constraint 约束名 customers foreign key (外键列) references 主键表(被引用的列)
2.级联更新与级联删除
在具有外键的情形下,尝试修改主表中的数据并不一定能够成功。但是有时又的确有这种需求,即修改主表中的主键列的值。当然,子表中的数据也应该同时更新。对于主表中的记录删除亦是如此。但是因为外键约束,造成了两种操作都不能成功进行。这就是级联更新与级联删除问题的提出背景。
级联更新
alter table orders add constraint 约束名 foreign key (customer_id) references customers (customer_id) deferrable initially deferred
级联删除
alter table orders add constraint 约束名 foreign key (customer_id) references customers (customer_id) on delete cascade
唯一性约束:
Create table only_test(id number primary key, name varchar2(20) unique)
添加唯一性约束:
alter table [表名]
add constraint 约束名 unique(列名)
检查约束:
create table only_test (id number primary key, name varchar2(20), check (id<20));
添加检查约束:
Alter table [表名]
Add constraint 约束名 check(约束内容);
默认约束:
create table only_test (id number primary key, name varchar2(20) default (约束内容));
添加默认约束:
alter table student
add constraint DF_Address default('地址不详') for Address
游标:
显示游标:
1.声明游标:必须使用 SELECT … FOR UPDATE语句 才能进行更新
cursor 游标名is 查询语句
2.打开游标
Open 游标名
3.提取游标(单行)
Fetch 游标名 into 行变量
4.关闭游标
Close 游标名
隐士游标:
示例:(以Student表为例)
For i in (select * from student) loop
--i代码Student表中的一行数据
End loop;
Oracle中流程控制以及循环
控制结构:
条件控制:
If elsif else
循环控制
Loop while for
If语法:
If Boolean表达式 then
--Sql语句
Elsif 其他Boolean表达式 then
--sql语句
Else
--sql语句
End if;
Case表达式:
Case 条件表达式
When 表达式结果1 then
When 表达式结果2 then
......
Else
End case;
Loop语法:
Loop
--sql语句
Exit when <条件语句> --终止循环条件
End loop;
While语法:
While <布尔表达式> loop
--sql语句
End loop;
For循环:
For i in 1..6 loop
--同样可以使用exit when 语句结束循环;
End loop;
异常处理:
Exception 异常类型 then
--异常处理语句
When OTHER then --其他异常
--异常处理
自定义异常:
Declare 异常名 exception;
触发异常:
Raise 异常名
存储过程:
1.创建存储过程:
Create or pedlace procedure
存储过程名
(
--定义输入输出参数
)
Is
--此处可申明普通变量
Begin
--sql语句
End;
调用存储过程:
Declare
--接收输出参数变量
Begin
存储过程名(参数)
End;
删除存储过程:
Drop procedure 存储过程名;
ps:小编整理这些资料也很辛苦,希望大家保存下来以便查看