oracle创建和维护表
2015-08-06 19:32
381 查看
1、Oracle中数据库对象命名原则
必须由字母开始,长度在1-30个字符之间
名字中只能包含A-Z,a-z,0-0,_,$和#
同一个Oracle服务器用户所拥有的对象名字不能重复。
名字不能为Oracle的保留字
名字是大小写不敏感的
2、创建表的语法
CREATE TABLE [schema.]table
(column datatype [DEFAULT expr][, ...]);
3、数据类型
数据类型(字符型)
数据类型 说明
固定长度字符型数据,长度的大小以字节为单位,默认和最小长度为
CHAR(size)
1;最大长度为2000
VARCHAR2 (size) 1 4000
可变长度字符数据,最小长度是 ;最大长度是
CLOB 4G
可变长度字符数据,最大可存储 数据
数据类型(数值型)
数据类型 说明
- 10 125
数值型:可以表示整数,也可以表示小数,表数范围 的 次方
NUMBER
10 126
到 的 次方。
NUMBER(n) 整型
p s p-s p
数值型:总长度为 ,小数位最大为位,整数位最大为 位, 的
NUMBER(p,s)
1 38 s -84 127
范围从 到 , 的范围从 到
NUMBER(p,s):数值型:总长度为p,小数位最大为s位 ,整数位最
大为p-s位,p的范围从1到38,s的范围从-84到127。
–S>0:只能表示小数,精确到小数点右边s位,并四舍五入,然后
检验有效数位是否<=p
–S<0:只能表示整数,并且精确到小数点左边s位,进行四舍五入
,然后检验有效数位是否<=p+|s|
–S=0:只能表示整数
–p<s:只能表示数字是绝对值小于1的数字,且从小数点右边开始
的前s-p位必须是0,保留s位小数。
日期型:date 包括年月日时分秒 timestamp 可以精确到毫秒
4、创建表的语法
示例:–示例
CREATE TABLE DOSSIER (
ID NUMBER(4),
CNAME VARCHAR2(20 ),
BIRTHDAY DATE,
STATURE NUMBER(3),
WEIGHT NUMBER(5, 2),
COUNTRY_CODE CHAR(2 ) DEFAULT ‘01’);
5、使用子查询创建表
CREATE TABLE table [(column,column....)] as (子查询)
示例:create table copy_emp as select * from emp (where?)
6、修改表定义
–添加列语法:
ALTER TABLE table
ADD (columnname datatype[DEFAULT expr]
[, columnname datatype]...);
–修改列语法:
ALTER TABLE table
MODIFY(columnname datatype[DEFAULT expr]
[, columnname datatype]...);
–删除列语法:
ALTER TABLE table
DROP (columnname [,columnname]);
注意: 8i版本之后,可以修改列名字
–ALTER TABLE 表名 RENAME COLUMN 原有列名 TO 新列名 。
7、删除表
DROP TABLE table;
8、重命名表
RENAME old_name TO new_name;
9、截断表(删除表中的数据)
TRUNCATE TABLE table;
–TRUNCATE是DDL,只能删除表中所有记录,释放存储空间,
使用ROLLBACK不可以回滚。
–DELETE是DML,可以删除指定记录,不释放存储空间,使用
ROLLBACK可以回滚
必须由字母开始,长度在1-30个字符之间
名字中只能包含A-Z,a-z,0-0,_,$和#
同一个Oracle服务器用户所拥有的对象名字不能重复。
名字不能为Oracle的保留字
名字是大小写不敏感的
2、创建表的语法
CREATE TABLE [schema.]table
(column datatype [DEFAULT expr][, ...]);
3、数据类型
数据类型(字符型)
数据类型 说明
固定长度字符型数据,长度的大小以字节为单位,默认和最小长度为
CHAR(size)
1;最大长度为2000
VARCHAR2 (size) 1 4000
可变长度字符数据,最小长度是 ;最大长度是
CLOB 4G
可变长度字符数据,最大可存储 数据
数据类型(数值型)
数据类型 说明
- 10 125
数值型:可以表示整数,也可以表示小数,表数范围 的 次方
NUMBER
10 126
到 的 次方。
NUMBER(n) 整型
p s p-s p
数值型:总长度为 ,小数位最大为位,整数位最大为 位, 的
NUMBER(p,s)
1 38 s -84 127
范围从 到 , 的范围从 到
NUMBER(p,s):数值型:总长度为p,小数位最大为s位 ,整数位最
大为p-s位,p的范围从1到38,s的范围从-84到127。
–S>0:只能表示小数,精确到小数点右边s位,并四舍五入,然后
检验有效数位是否<=p
–S<0:只能表示整数,并且精确到小数点左边s位,进行四舍五入
,然后检验有效数位是否<=p+|s|
–S=0:只能表示整数
–p<s:只能表示数字是绝对值小于1的数字,且从小数点右边开始
的前s-p位必须是0,保留s位小数。
日期型:date 包括年月日时分秒 timestamp 可以精确到毫秒
4、创建表的语法
示例:–示例
CREATE TABLE DOSSIER (
ID NUMBER(4),
CNAME VARCHAR2(20 ),
BIRTHDAY DATE,
STATURE NUMBER(3),
WEIGHT NUMBER(5, 2),
COUNTRY_CODE CHAR(2 ) DEFAULT ‘01’);
5、使用子查询创建表
CREATE TABLE table [(column,column....)] as (子查询)
示例:create table copy_emp as select * from emp (where?)
6、修改表定义
–添加列语法:
ALTER TABLE table
ADD (columnname datatype[DEFAULT expr]
[, columnname datatype]...);
–修改列语法:
ALTER TABLE table
MODIFY(columnname datatype[DEFAULT expr]
[, columnname datatype]...);
–删除列语法:
ALTER TABLE table
DROP (columnname [,columnname]);
注意: 8i版本之后,可以修改列名字
–ALTER TABLE 表名 RENAME COLUMN 原有列名 TO 新列名 。
7、删除表
DROP TABLE table;
8、重命名表
RENAME old_name TO new_name;
9、截断表(删除表中的数据)
TRUNCATE TABLE table;
–TRUNCATE是DDL,只能删除表中所有记录,释放存储空间,
使用ROLLBACK不可以回滚。
–DELETE是DML,可以删除指定记录,不释放存储空间,使用
ROLLBACK可以回滚
相关文章推荐
- ORACLE
- linux oracle10g命令行创建数据库实例
- maven项目中加载oracle驱动
- ARCGIS ORACLE
- Oracle中的NVL函数
- oracle 根据约束名查表名
- Oracle数据库和Java的连接 需要添加Oracle自带的驱动\product\11.2.0\dbhome_1\jdbc\lib\jdbc6_g.jar文件
- oracle10g_rac迁移单机
- Windows server2008 搭建ASP接口访问连接oracle数据库全过程记录
- Oracle学习之DATAGUARD(九) 自动Failover
- Oracle 计算两个日期间隔的天数、月数和年数
- oracle变量
- Oracle组合索引与回表
- 搭建安装oracle数据库
- oracle导入时IMP-00010: 不是有效的导出文件, 头部验证失败
- Oracle中触发器(1)
- 查看Oracle中是否有锁表的sql
- oracle 11g 按时间建分区表
- 一张6亿条数据表引发的事故
- Oracle异常整理