oracle学习笔记(二)
2016-06-29 00:00
465 查看
表操作
#修改一个列的数据类型(一般限于修改长度,修改为一个不同类型时,需要当前列为空)
oracle最常用的字符类型有三个:char,varchar ,varchar2(推荐使用)
最长字符长度分别是:2000,4000,4000
date类型定义:TODAY DATE "YYYY-MM-DD HH24:MI:SS"
ALTER TABLE 表名 MODIFY(列名 数据类型);
如:
ALTER TABLE emp MODIFY(weight NUMBER(3,0) NOT NULL);
#给列改名:
ALTER TABLE 表名 RENAME COLUMN 当前列名 TO 新列名;
如:
ALTER TABLE emp RENAME COLUMN weight TO weight_new;
#将一个表改名:
ALTER TABLE 当前表名 RENAME TO 新表名;
如:
ALTER TABLE bouns RENAME TO bonus_new
给某用户指定权限
比如用户A想操作用户B下的某一个表,那么可以登录用户B输入以下指令:
grant all on tablename to A;
这样,A就拥有了B下面 tablename 这个表的所有权限。
同理如果只是想赋某种权限的话,以下语句可供参考:
grant create tablespace to A;
grant select on tabelname to A;
grant update on tablename to A;
grant execute on procedurename to A; 授权存储过程
grant update on tablename to A with grant option; 授权更新权限给A用户,A用户也可以将此权限继续授权给别人;
但是with grant option 这个命令有个权限管理问题,当管理员给A赋予上述权限时,则A可以把update tablename的权限赋予其他用户例如D,事后,如果管理员收回A的 with grant option 权限,则D的权限也失效,但管理员却不能直接从D那收回update tablename 的权限。
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>扩展笔记: with admin option
此命令的权限传播是不会失效的,例如
管理员给A 赋予 grant create tablespace to A with admin option;
然后 A 又 赋予C grant create tablespace to C;
于是 A 和 C 分别创建了 table1 和 table2,
此时管理员却收回了 A的 with admin option 权限 revoke create tablespace from A;
那么C的 create 权限 却依然保留,table1 table2 也依然保留。
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>给所有用户向表 tablename 插入记录的权限:
grant all on tablename to public;
本文出自 “Centi.Linux” 博客,请务必保留此出处http://centilinux.blog.51cto.com/1454781/953049
#修改一个列的数据类型(一般限于修改长度,修改为一个不同类型时,需要当前列为空)
oracle最常用的字符类型有三个:char,varchar ,varchar2(推荐使用)
最长字符长度分别是:2000,4000,4000
date类型定义:TODAY DATE "YYYY-MM-DD HH24:MI:SS"
ALTER TABLE 表名 MODIFY(列名 数据类型);
如:
ALTER TABLE emp MODIFY(weight NUMBER(3,0) NOT NULL);
#给列改名:
ALTER TABLE 表名 RENAME COLUMN 当前列名 TO 新列名;
如:
ALTER TABLE emp RENAME COLUMN weight TO weight_new;
#将一个表改名:
ALTER TABLE 当前表名 RENAME TO 新表名;
如:
ALTER TABLE bouns RENAME TO bonus_new
给某用户指定权限
比如用户A想操作用户B下的某一个表,那么可以登录用户B输入以下指令:
grant all on tablename to A;
这样,A就拥有了B下面 tablename 这个表的所有权限。
同理如果只是想赋某种权限的话,以下语句可供参考:
grant create tablespace to A;
grant select on tabelname to A;
grant update on tablename to A;
grant execute on procedurename to A; 授权存储过程
grant update on tablename to A with grant option; 授权更新权限给A用户,A用户也可以将此权限继续授权给别人;
但是with grant option 这个命令有个权限管理问题,当管理员给A赋予上述权限时,则A可以把update tablename的权限赋予其他用户例如D,事后,如果管理员收回A的 with grant option 权限,则D的权限也失效,但管理员却不能直接从D那收回update tablename 的权限。
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>扩展笔记: with admin option
此命令的权限传播是不会失效的,例如
管理员给A 赋予 grant create tablespace to A with admin option;
然后 A 又 赋予C grant create tablespace to C;
于是 A 和 C 分别创建了 table1 和 table2,
此时管理员却收回了 A的 with admin option 权限 revoke create tablespace from A;
那么C的 create 权限 却依然保留,table1 table2 也依然保留。
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>给所有用户向表 tablename 插入记录的权限:
grant all on tablename to public;
本文出自 “Centi.Linux” 博客,请务必保留此出处http://centilinux.blog.51cto.com/1454781/953049
相关文章推荐
- 学习 Linux 是我们的爱情语言
- 基于 Red Hat 的发行版 Oracle Linux 正式发布Oracle Linux 7.1
- Oracle Containers for J2EE远程安全漏洞(CVE-2014-0413)
- Oracle 10g R2不能使用EM的问题
- 表空间操作
- PreparedStatement中in子句的处理
- VMware下RedHat4.8_64位安装Oracle 10g RAC--简略脚本
- oracle sql日期比较
- 基于 Red Hat 的发行版 Oracle Linux 正式发布Oracle Linux 7.1
- OS block size和Oracle block size,查找OS Blocksize的方法
- 基础命令学习总结
- oracle中创建数据库和表空间的几点总结
- 数据库自动备份脚本
- Prototype 学习 工具函数学习($方法)
- SQL server 表操作介绍
- oracle的nvl函数的使用介绍
- 解决oracle用户连接失败的解决方法
- oracle的一些tips技巧
- Oracle 下的开发日积月累