oracle数据库表名和列表规范

一、表名和列表规范

1.必须以字母开头

2.长度不能超过30字符

3.不能使用oracle的保留字

4.只能使用如下字符 A-Z,a-z,0-9,$,#等

二、数据类型

1.char    定长 最大2000个字符

    例子:char(10) '小明' 前四个字符存放'小明',后面添加6个空格补全,虽然浪费空间,但是查询速度极快.

2.varchar2(20) 变长    最大4000个字符.

    例子:varchar2(20)    '小明' oracle分配四个字符.这样可以节省空间.

3.clob(character large object)    字符型大对象    最大4G

4.number(数字类型)    范围-10的38次方到10的38次方    可以表示整数,也可以表示小数.

    例子:number(5,2)    表示一个小时有5位有效数,2为小数    范围    -999.99~999.99

              number(5)    表示一个五位整数    范围-99999~99999

5.date(日期类型)    包含年月日和时分秒.

6.timestamp(日期类型)    这是oracle9i对date类型的扩展,精度较高,毫秒级.

7.blob(二进制类型)    可以存放图片/声音    最大4G(出于安全考虑可以存放至数据库,一般存放图片服务器下,存放路径以访问)

三、建表

create table student(

    s_no number(4),    --学号

    s_name    varchar(32),    --姓名

    s_sex    char(2),    --性别

    s_birthday date,    --出生日期

    s_sal number(7,2)    --奖学金

)

insert into student values(1,'小明','男','1992-09-10',23456.34)

四、删除

1.delete from student;--删除所有记录,表结构还在,写日志,可以恢复的,速度慢.

    delete from student where s_no = 'A001';--删除一条记录

    例子:在删除一条记录之前建立保存点(savepoint),delete之后,回滚(rollback)可找回                   SQL>    savepoint a;

     SQL>    delete from student where s_no = 'A001';

     SQL>    rollback to a;

     保存点只有一个,新建一个新的,则旧的被覆盖,事物提交则无法恢复到保存点

2.drop table student;--删除表的结构和数据.

3.truncate table student;--删除表中的所有记录,表机构还在,不写日志,无法找回删除的记录,速度快.

五、函数

sys_context函数

1)    terminal:当前会话客户端所对应的终端的标识符

2)    language:语言(编码集)

3)    db_name:当前数据库名称

4)    nls_date_format:当前会话客户端所对应的数据集用户名

5)    session_user:当前会话客户端所对应的数据库用户名

6)    current_schema:当前会话客户端所对应的默认方案名(一个用户对应一个方案,方案名和用户名一样)

7)    host:返回数据库所在主机的名称

通过该函数,可以查询一些重要信息,比如你可以知道使用的是那个数据库等

select sys_context('userenv','db_name') from dual;

六、备份导出

exp    导出具体分为:导出表,导出方案,导出数据库三种方式.

导出使用exp命令来完成,该命令的选项有:

    userid:用于指定执行导出操作的用户名,口令,连接字符串

    tables:用于指定执行导出操作的表

    owner:  用于指定导出操作的方案

    full=y:用于指定执行导出操作的整个数据库文件

    inctype:用于指定执行导出操作的增量类型

    direct:直接路径(默认为n),导出数据快,百度得知(不写缓存,直接在把表中的数据读完就返给客户端)

    rows:       用于指定执行导出操作是否要导出表中的数据,默认为y,rows=n,则只导出表结构

    file:       用于指定导出文件名称

    log:         用于指定导出日志写入文件

一、导出表

1)导出自己的表

exp userid=scott/sysorcl@orcl tables=(emp) file=D:\emp.dmp;--导出本地数据库(数据和结构)

exp userid=scott/sysorcl@10.10.90.100:1521/orcl tables=(emp) file=D:\emp.dmp;--导出远程数据库(数据和结构)

2)导出其他方案的表

如果用户要导出其他方案的表,则需要dba权限或是exp_full_database的权限,比如system就可以导出scott用户的表

exp userid=system/sysorcl@orcl tables=(scott.emp) file=D:\emp.dmp;--导出本地数据库(数据和结构)

exp userid=system/sysorcl@10.10.90.100:1521/orcl tables=(scott.emp) file=D:\emp.dmp;--导出远程数据库(数据和结构)

3)导出表结构

exp userid=scott/sysorcl@orcl tables=(emp) file=D:\emp.dmp rows=n;--导出本地数据库(只有结构,没有数据)

exp userid=scott/sysorcl@10.10.90.100:1521/orcl tables=(emp) file=D:\emp.dmp rows=n;--导出远程数据库(只有结构,没有数据)

4)使用直接导出方式

exp userid=scott/sysorcl@orcl tables=(emp) file=D:\emp.dmp direct=y;--导出本地数据库(数据和结构)

这种方式比默认的常规方式速度要快,当数据量大时,可以考虑用这种方式

这是需要数据库的字符集要与客户端的字符集完全一致,否则会报错

二、导出方案

导出方案是指使用export工具导出一个方案或是多个方案中所有对象(表,索引,约束..)和数据,并存放到文件中.

1)导出自己的方案

exp scott/sysorcl@orcl owner=scott file=D:\scott.dmp;

2)导出其他方案

如果用户要导出其他方案,则需要dba权限或是exp_full_database的权限,比如system就可以导出任何方案.

exp userid=system/sysorcl@orcl owner=(system,scott) file=D:\emp.dmp;--导出system和scott的方案

三、导出数据库

导出数据库是指利用export导出所有数据库的对象及数据,要求该用户具有dba权限或是exp_full_database的权限

exp userid=system/sysorcl@orcl full=y inctype=complete file=D:\orcl.dmp;--导出整个oracle实例对象及数据(对于单实例即整个数据库)

注意一下:在导出和导入的时候要到oracle的bin目录下面

七、备份导入

imp    导入就是使用工具import将文件中的对象和数据导入到数据库中,但是导入要使用的文件必须是exprot所导出的文件.与导出相似,导入也分为:导入表,导出方案,导出数据库三种方式.

导出使用exp命令来完成,该命令的选项有:

    userid:用于指定执行导入操作的用户名,口令,连接字符串

    tables:用于指定执行导入操作的表

    fromuser:用于指定源用户

    touser:用于指定目标用户

    full=y:用于指定执行导入整个文件

    inctype:用于指定执行导入操作的增量类型

    rows:       用于指定执行导入操作是否要导入表行(即表中的数据),默认为y,rows=n,则只导出表结构

    file:       用于指定导入文件名称

    ignore:   如果表存在,则只导入数据

    log:         用于指定导入日志写入文件

一、导入表

1)导入自己的表

imp userid=scott/sysorcl@orcl tables=(emp) file=D:\emp.dmp;

2)导入表到其他用户

要求该用户具有dba权限,或是exp_full_database的权限

imp userid=system/sysorcl@orcl table(emp) file=D:\emp.dmp touser=scott;

3)导入表的结构

只导入表的结构而不导入数据

imp userid=scott/sysorcl@orcl tables=(emp) file=D:\emp.dmp rows=n;

4)导入数据

如果对象(比如表)已经存在可以只导入表的数据

imp userid=scott/sysorcl@orcl tables=(emp) file=D:\emp.dmp ignore=y;

二、导入数据方案

导入方案是指使用import工具将文件中的对象和数据导入到一个或者多个方案中.如果要导入其他方案,则要求该用户具有dba权限,或是imp_full_database权限

1)导入自身方案

imp userid=scott/sysorcl file=D:\emp.dmp;

2)导入其他方案(要求该用户具有dba权限)

imp userid=system/sysorcl file=D:\emp.dmp fromuser=system touser=scott;

三、导入数据库

在默认情况下,当导入数据库时,会导入所有对象结构和数据,案例如下(相当于数据库迁移)

imp userid=system/sysorcl full=y file=D:\orcl.dmp;

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值