Oracle-表结构操作

首先解释一下DDL语言

DDL是数据库中的一种数据定义语言,是定义数据库中数据是如何存储的。DDL主要包括对数据库中对象的创建、修改、删除的操作。

一、===Create创建表结构===

1----语法----

Create    TABLE     表名字

column_name datatype   [null |not null],

column_name datatype   [null |not null],

column_name datatype   [null |not null],

...

[constraint]

语法说明:

表名字:在数据库中创建的数据表的名称,在一个数据库中数据表名是不能重复的。

column_name:表中的列名称,列名称在同一张表中也是不能重复的。

datatype:该列存放数据的数据类型

[null | not null]:允许该列为空或者不允许该列为空,在创建表时默认认为不允许该列为空。

constraint:为表中的列设置约束

例:<商品信息表>

SQL> create table productinfo

2     (  ProductID varchar2(10),

3    ProductNane varchar2(20),

4    ProductPrice  number(8,2),

5    Quanntity   number(10)

6       );

SQL> 表已创建

注:<oralce常见数据类型介绍>

---1字符型---

字符型在Oracle 11g中有varchar2,char,nchar,nvarchar和long五种,他们在数据库中是以ASCII码的形式存储。

数据类型 取值范围 说明

varchar 0~4000 可变长的字符串

nvarchar 0~1000 用来存储Unicode字符集的变长字符型数据

char 0-2000 用来描述定长的字符型数据

nchar 0-1000 用来存储Unicode字符集定长字符型数据

long 0-2G 用来存储变长字符串

---2数字型---

数字型在Oracle 11g中常见的有number和float类型两种,可以用他们来表示整数和小数。

数据类型 取值范围 说明

number (p,s) p最大精度是38位(十进制) p代表的是精度,s代表的是保留的小数位数,

可以用来存储定长的整数和小数

float 用来存储126位数据(二进制) 存储的精度是按二进制计算的,精度范围为二

进制的1~126,在转化为十进制时需要乘以0.30103

---3日期类型---

日期在Oracle 11g中常用的有data和timestamp两种类型,可以用它们来存放日期和时间。

数据类型            说明

data 用来存储日期和时间,范围在公元前4712年1月1日到公元9999年12月31

timestamp 用来存储日期和时间,与data类型的区别就是在显示日期和时间更加准确,

data类型的时间精确到“秒“而timestamp的数据类型可以精确到小数秒。此外

使用timestamp存放日期和时间还能够显示当前是上午还是下午。

---4其他数据类型---

Oracle11g中还有存放大数据的数据类型以及存放二进制文件的数据类型。

数据类型 取值范围 说明

blob 最多可以存放4GB 存储二进制数据

clob 最多可以存放4GB 存储字符串数据

bfile 大小与操作系统有关 用来把非结构化的二进制数据存储在数据库以外的操作系统文件中


===2使用Alter语句修改表===

如果要对已经创建好的表进行修改,那么就需要使用alter table语句来修改。

---1基本语法---

ALTER   TABLE    table_name

ADD  column_name | MODIFY  column_name | DROP COLUMN  column_name;

语法说明

ADD:用来向表中添加列

MODIFY: 用来修改表中已经存在的列的信息

DROP COLUMN:删除表中的列,在删除表中的列时经常要加上 CASCADE   CONSTRAINTS,是要把与该列有关的约束也一并删除掉。

例1:修改productinfo商品信息表,向该表中增加一列

SQL> ALTER TABLE scott.productinfo

2 ADD remark varchar(200);

SQL> 表以修改

例2:修改productinfo商品信息表,修改列的字段类型修改刚添加的remark字段

SQL>   ALTER  TABLE scott.productinfo

2      MODIFY  remark  number(2,2);

SQL> 表以修改

这样就把remark字段的类型修改成number类型的操作了

例3:修改productinfo商品信息表,删除表中的字段remark

SQL> ALTER   TABLE  scott.productinfo

2 DROP   column  remark;

SQL>  表以修改

例4:修改productinfo商品信息表多个字段

修改productinfo表的ProductName字段,把字段的长度修改成25,并添加一个字段remark。‘’

SQL>   ALTER TABLE  scott.productinfo

2 MODIFY   productname  varhcar2(25)

3 ADD   remark   varchar2(200);

SQL:表已修改

===3使用DROP语句删除表===

在使用数据库时经常需要删除一些不需要的表,删除表需要使用DROP   TABLE语句来完成。具体语句如下:

DROP   TABLE  table_name;

例:

SQL>    DROP TABLE  productinfo;

SQL> 表已删除









评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值