关于oracle的基础增删改查操作总结(共32条)

xiaoxiao2021-02-28  49

① 进入数据库:

 sqlplus/as sysdba 或者sqlplus / as sysdba

 注:完整格式:  sqlplus用户名/密码@数据库名as sysdba

 注:请注意,sqlplus非常撇脚,没能回删,没有方向键,等等,最好安装一个rlwrap

 详情链接:http://blog.csdn.net/wjx515628/article/details/35238097

② 查看表空间(表空间就是库的意思)

 方法1只查询所有表空间的名称

select tablespace_name from dba_tablespaces;

 方法2查询某张表所在的表空间的名称

select * from user_tables where table_name=‘表名';

 方法3查询当前用户默认的表空间

Select default_tablespace from user_users;

 方法4查看当前用户可以查看的所有表空间名以及其所拥有的属性

Select * from sys.dba_tablespaces;

 方法5查看所有用户的默认表空间和临时表空间

Select username,default_tablespace,temporary_tablespace from dba_users where username like ‘%SYS%’;

③ 创建表空间create tablespaces)(注:最好指定一下用户,只能由管理员才能创建)

 1)数据文件一个

Create [temporary] tablespace 表空间自定义名称 datafile ‘linux系统自定义路径和以.ora结尾的文件名’ size <数值M> extent management local uniform size <数值M>;

 (注:放在oradata目录下,最好将不同用户的数据文件放在oradata下建立的对应用户名的文件夹中,放在其中,便于管理)

 2)数据文件多个

Create [temporary] tablespace 自定义名 datafile ‘路径1’ size 数值M , ‘路径2’ size 数值M , ... ... [Extent management local] Uniform size 数值M;

注:加了[temporary]后,新建的表空间是临时表空间,不加则是永久表空间。

④ 删除表空间

 方法1

Drop tablespace 表空间名;

 注:需要自己手动删除对应路劲下的数据文件

 方法2

drop talespace 表空间名 including contents and datafiles;

⑤ 修改表空间指定的数据文件的增大设定

 方法1

Alter database datafile ‘文件所在路径’ autoextend on next 数值m;

 注:表示在原有大小的基础上增加数值m(看数值是1还是多少,数值是正整数型的)

 方法2

Alter database datafile ‘文件所在路径’ autoextend on next 数值1m maxsize 数值2m;

 注:表示在原有大小的基础上增加数值1m,增加量直到数值2m为止!

⑥ 修改默认表空间

 查看目前设置的默认表空间和临时表空间(对未指定表空间和临时表空间的用户起作用):

Select property_name,property_value from database_properties where property_name like ‘%TABLESPACE%’;

 类型1在创建用户的时候没有指定默认表空间和临时表空间的时候起作用

 修改默认永久表空间:

Alter database default tablespace 永久表空间名称;

 修改默认临时表空间:

Alter database default temporary tablespace 临时表空间名称;

 注:在创建表空间的时候永久和临时就有区别,所以指定临时表空间名的时候不要指到永久表空间名;指定永久表空间名的时候也是一样的。

 类型2将用户本来指定的默认表空间更换。

 更换用户的永久表空间:

Alter user 用户名 default tablespace 表空间名称;

 更换用户的临时表空间:

Alter user 用户名 temporary tablespace 临时表空间名称;

⑦ 表空间状态查看(是否在线)

 方法1查看所有表空间的在线状态:

Select tablespace_name,status from dba_tablespaces;

⑧ 表空间脱机(其实脱机就是用户不可访问,联机就是可访问)

Alter tablespace 表空间 offline 选项四选一;

解释:当表空间为脱机状态的时候,任何用户都访问不了的状态;(值得注意的是,system表空间无法脱机,因为数据库运行中,始终都会用到system表空间中的数据)。表空间脱机有如下四个选项:normal(正常),temporary(临时),immediately(立即),for recover(进行恢复)

 

⑨ 表空间联机

Alter tablespace 表空间名 online;

⑩ 增加表空间数据文件(为表空间增加数据库文件)

Alter tablespace 表空间自定义名称 add datafile ‘自定义路径’ size 数值M;

⑪ 查看表

 类型1:查看当前用户权限内的所有表空间的所有表,同时显示每张表的属性。

Select * from user_tables;

 类型2:查看指定表空间下的所有表,只显示表空间名和表名

SELECT TABLESPACE_NAME,TABLE_NAME FROM DBA_TABLES WHERE TABLESPACE_NAME='表空间名称';

⑫ 创建表(可以指定到某个表空间中)

 方法1

Create table 自定义表名(自定义字段名1 约束内容,自定义字段名2 约束内容,.. ..自定义字段名n 约束内容) [tablespace 已有表空间名字];

  [tablespace已有表空间名字]  这个表示为表指定表空间,有需要的时候才写。

 方法2

Create table 新表名 as <select语句>

 注:方法二中,可以让select语句中的查询条件不成立,这样就会建立一张数据为空的表格;方法二中得到的表格将不存在任何约束,需要自己添加。

 注:最后中括号中的内容为可加可不加,看是需要将表建立在默认表空间还是指定表空间中。

 数据类型:char(数值)  varchar2(数值)number(总位数,小数位数)date timestamp clob    blob

 注:表和索引一旦创建被指定表空间后,其所属表空间将无法修改;若想更改,就需要当网上搜(不想写~~~

⑬ 删除表

drop table 表名;

 注:表中列为其他表外键且有数据应先解除约束,或删除相关表

⑭ 修改表名

Rename 旧表名 to 新表名

⑮ 查看表字段

Desc 表名;

⑯ 增加表字段

Alter table 表名 add 字段名 数据类型;

 注:comment on column表名.列名is '列注释,自定义';

 (注释中的命令是对字段进行注释

⑰ 删除表字段

Alter table 表名 drop column 列名;

⑱ 修改表字段类型

Alter table 表名 modify(字段名 新的数据类型);

 (注,一般来说字段类型不可随便更改:大多数情况下,若实在需要改变,需要字段下没有数据;有的话,需要新建一个需求的类型的字段列,然后将旧字段列的值移动到新字段中,从而实现类型更改。少部分情况可以直接修改类型不报错!一旦报错则按照大多数情况下的解决方法。)

 详情可见:

  点击打开链接

⑲ 修改表字段名称

Alter table 表名 rename column 旧字段名 to 新字段名

⑳ 查看表数据(这个是重点,查询以后细讲)

Select <*|列名|表达式> from 表名 [where 条件] [order by 列名]

 注:<>中必须三选一;列名集或后者混用集(逗号为分隔符)

 注:order by默认排序方式是升序。

21 增加表数据

 方法1

Insert into 表名(列名1,列名2......) values(值1,值2......); Commit;

 注:可以将列名集合去掉,默认为所有列加值;字符串或者字符需要加引号。

 方法2

Insert into 表名 <select语句> [union <select 语句>]; Commit;

22 删除表数据

 方法1

Delete from 表名 where 条件; Commit

 方法2

Truncate table表名; Commit

 注:两者区别,delete可以将表清空,同时可以通过日志恢复;truncate清空之后不能通过日志恢复,不过它的清空速度很快!一般来说truancate慎用,最好不用!

23 修改表数据

Update 表名 set 列名1=值1,列名2=值2 .. .. where 条件; Commit;

24 创建用户 (只是创建用户,不具备任何数据库权限)

Create user 用户名 identified by 口令 [account lock|unlock]

 (注:如果是lock状态的话,用户无法正常登录;口令就是密码,不需要引号;后面的[]内的东西可以写可不写,默认unlock) (注:创建用户后最好为用户指定一下默认的表空间,那么该用户所有的数据库对象都会放入表空间)

25 删除用户

Drop user 用户名 cascade

 注:删除用户的同时需要关注,其默认的表空间是否需要被删除。

26 修改用户锁定状态

Alter user 用户名 account lock|unlock

27 为用户指定默认表空间

Create user 用户名 identity by 密码口令 default tablespace 表空间名

28 用户授权(系统权限只能有dba用户授权,对象权限由拥有该对象的用户授权)

Grant <角色|权限> to 用户

 常用权限(角色抑或权限):connectresourceDBA

29 修改授权用户密码

Alter user 用户名 identified by 新密码

30 查看授权用户的密码

select username,password from dba_users where username='SYSTEM';

 注意:在g11版本中,字段password将不显示值。

 所以可以查看还在使用默认密码的用户名:

SELECT * FROM DBA_USERS_WITH_DEFPWD ;

 关于修改和查看密码的详细解析链接(只限于9-11g):

 点击打开链接

31 回收权限

Revoke 角色|权限 from 用户

32 查看所有授权用户

Select * from dba_users;

 注:该方式可以查到每个用户的相关属性,可以查询username字段的值

33创建约束命令

Alter table 已有表名 add constraint 自定义约束名 约束内容

参考资源:

关于表空间的详细解析:

点击打开链接

关于表空间的详细属性操作:

点击打开链接

关于表空间和用户名创建和联系的具体步骤:

点击打开链接

关于新建用户未指定默认永久表空间和临时表空间,设置并修改或查看该信息:

点击打开链接

转载请注明原文地址: https://www.6miu.com/read-2250052.html

最新回复(0)