orcale数据库基本操作

不羁岁月 提交于 2020-11-21 21:21:54

一、数据库操作

1、创建数据库

  creat database databasename

2、删除数据库

  drop database dbname

3、备份数据库

  完全备份:exp demo/demo@orcl buffer=1024 file=d:\backup.dmp full=y

    demo:用户名、密码

    buffer:缓存大小

    file:具体的备份文件地址

    full:是否导出全部文件

    ignore:忽略错误,如果表已经存在,则也覆盖

  将数据库中system用户与sys用户的表导出

    exp demo/demo@orcl file=d:\backup\1.dmp owner=(system,sys)

   导出指定的表:

    exp demo/demo@orcl file=d:\backup2.dmp tables=(teachers,students)

  按过滤条件导出:

    exp demo/demo@orcl file=d:\back.dmp tables=(table1) query=\"where filed1 like 'fg%'\"

  备份远程服务器数据

    exp 用户名/密码@远程的IP:端口号/实例 file=存放文件的位置:\文件名称.dmp full=y

4、数据还原

  打开cmd直接执行如下命令,不用在登陆sqlplus

  完成还原

    imp demo/demo@orcl file=d:\back.dmp full=y ignore=y log=D:\implog.txt

  导入指定的表

    imp demo/demo@orcl file=d:\backup2.dmp tables=(teachers,students)

  还原远程服务器

    imp 用户名/密码@远程的Iip:端口号/实例 file=存放的位置:\文件名称.dmp full=y

二、oracle表操作

1、创建表:

  creat table tablename(col1 type1 [not null] [primary key], col2 type2 [not null] ....)

  根据已有的表创建新表:

  A:  select * into table_new from table_old

  B:  creat table tab_new as select col1, col2, ... from tab_old definition only<仅适用于oralce>

2、删除表

  drop table tablename

3、重命名表

  alter table old_name rename to new_name

4、增加字段

  alter table tbname add (字段名 字段类型 默认类型 是否为空)

  eg:alter table tbname add (ID int)

5、修改字段

  alter table tbname modify (字段名 字段类型 默认值 是否为空)

  eg:alter table tbname modify (ID number(4))

6、重命名字段

  alter table tbname rename column 列名 to 新列名

  alter table tbname rename column ID to newID

7、删除字段

  alter table tbname drop column 字段名

  alter table tbname drop column ID

8、添加主键

  alter table tbname add primaty key(col)

9、删除主键

  alter table tbname drop primaty key(col)

10、创建索引

  creat [unique] index idxname to tabname(col....)

11、删除索引

  drop index inxname

12、创建视图

  creat view viewname as selete statement

13、删除视图

  drop view viewname

三、orcale操作数据

1、数据查询

  select <列名> from <表名> [where <查询条件>] [order by <排序的列名>[asc或者dec]]

2、插入数据

  insert into 表名 values(所有列的值)

  insert into test values(1,'zhangsan',20);

     insert into 表名(列) values(对应的值);

      insert into test(id,name) values(2,'lisi');

3、更新数据

  update 表 set 列=新的值 [where 条件] -->更新满足条件的记录

      update test set name='zhangsan2' where name='zhangsan'

      update 表 set 列=新的值 -->更新所有的数据

      update test set age =20;

4、删除数据

  delete from 表名 where 条件 -->删除满足条件的记录

 

       delete from test where id = 1;

 

       delete from test -->删除所有

 

       commit; -->提交数据

 

       rollback; -->回滚数据

 

       delete方式可以恢复删除的数据,但是提交了,就没办法了。 delete删除的时候,会记录日志 -->删除会很慢很慢  

 

  truncate table 表名

 

       删除所有数据,不会影响表结构,不会记录日志,数据不能恢复 -->删除很快

 

  

  drop table 表名

 

       删除所有数据,包括表结构一并删除,不会记录日志,数据不能恢复-->删除很快

 

5、数据复制

  • 表数据复制

     insert into table1 (select * from table2);

  • 复制表结构

     create table table1 select * from table2 where 1>1;

  • 复制表结构和数据

     create table table1 select * from table2;

  • 复制指定字段

     create table table1 as select id, name from table2 where 1>1;

四、数据库的复制命令

  分为目标表已存在和目标表不存在两种情况

  1、目标表存在

    insert into 目标表 select * from 原表;

    commit;

  2、目标表不存在

    creat table 目标表 as select * from 原表;(复制表结构和数据)

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!