首先解释一下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> 表已删除