- 1. 创建新用户并授予权限
1) 创建用户 create user maoqiang identified by yaoyao;
修改用户口令 alter user maoqiang identified by hello;
删除用户 drop user maoqiang cascade;
2) 授权,oracle用户权限有两种类型:系统权限(如创建表空间)和对象权限(允许用户对某一特定对象(如表、视图、序列等)执行特定操作)
- Connect 角色允许用户链接到Oracle数据库并在数据库创建表和其他对象
grant connect to maoqiang; - Resource 角色允许用户使用数据库中的表空间
grant resource to maoqiang; - Create Sequence 权限允许用户创建序列,此权限包含在Connect链接角色中
grant create sequence to maoqiang; - 演示scott用户如何授予maoqiang对Emp表的对象权限
grant select on emp to maoqiang;分配查询权限
grant update on emp to maoqiang;分配更新权限
3) 连接到Oracle数据库
- 解锁 alter user maoqiang account unlock;
- connect maoqiang/yaoyao;
- Oracle常用数据类型:
1) Char 1~2000个字节,需要固定长度字符串时使用,用户输入小于指定长度时,用空格填充
2) Varchar2 1~4000个字节,支持可变长度的字符串
3) Long 最多能存储2G,存储可变长度字符数据,列上使用long数据类型时,遵循以下限制:
- 一个表中只有一列可以为Long
- Long列不能定义为唯一约束或者主键约束
- Long列上不能建立索引
- 过程或者存储过程不能接受Long类型参数
4) Date 存储日期和时间数据
5) timestamp 存储日期的年、月、日以及时间的小时、分和秒数
- Oracle的SQL支持如下类别的命令:
数据定义语言:create(创建),alter(修改),drop(删除)
数据操纵语言:insert(插入),select(查询),update(更新),delete(删除)
事务控制语言:commit(提交),savepoint(保存点),rollback(回滚)
数据控制语言:grant(授予),revoke(回收)
1) 数据定义语言
- 创建表,语法同SQLServer创建表语法
create table book(
id number(6),
bookName varchar2(20),
bookPrice number(4,2)
); - 修改表,重命名
alter table liu rename to jin; - 修改表结构,修改列
alter table book modify(bookPrice number(6,2)); - 修改表结构,添加列
alter table book add(publisher varchar2(20)); - 修改表结构,删除列
alter table book drop column publisher; - 修改列,重命名
alter table bookrename column bookName to bookNames; - 修改表结构,添加和删除约束
alter table book add constraint un_book_isbn unique(isbn);
alter table book drop constraint un_book_isbn;
select * from user_cons_columns where table_name = 'BOOK';//区分大小写 - 删除表
drop table book; - 创建序列
create sequence book_guid increment by 1;
insert into book values(book_guid.nextval,'.net',21,'cde');
10. 分页查询
11. 创建索引
select index_name from user_indexs;
2) 数据控制语言
- Grant命令,授予对象权限,基本语法如下
grant privilege(特权)[,…] on object[,…] to {public|GROUP group|username}
a) (scott用户登录),授予maoqiang对emp对象的查询和修改权限
grant select,update on emp to maoqiang;
grant all on emp to maoqiang;//授予对emp的所有操作权限
b) 也可以只允许更新某些列
grant update(empNo,empName) on emp to maoqiang;
c) 使用with grant option,接受该权限的用户可以将此权限授予其他用户
grant select on emp to maoqiang with grant option;
- Revoke命令,撤销已授予用户的权限,基本语法如下:
REVOKE privileges on object-name from username;
a) 撤销授予用户maoqiang对emp的查询权限
revoke select on emp from maoqiang;
3) 其他
- 声明变量和赋值
游标
©原创文章,转载请注明来源: 赵伊凡's Blog
©本文链接地址: Oracle学习笔记
“Oracle学习笔记”的28个回复