创建表:
create table 表名(
字段名 类型(长度),
...
);
在进行操作之前,先介绍一下oracle数据库的数据类型有哪些
数据类型 | 数据描述 |
---|---|
varchar2(size) | 可变长度的字符串,其最大长度为size个字节,size的最大值是4000,最小值是1;你必须指定一个varchar2的size |
nvarchar2(size) | 可变长度的字符串,依据所选的国家字符集,其最大长度为size个字节,size的最大值取决于存储每个字符所需的字节数,其上限是4000,最小值是1;你必须指定一个varchar2的size |
number(p,s) | 精度为p并且数值范围为s的数值,精读范围从1到38;数值范围是从-84到127;例如number(5,2)表示整数部分最大3位,小数部分为2位;number(5,-2)表示整数部分最大为7,其中对整数的倒数两位为0,前面的取整;number表示使用默认值,等同于number(5) |
long | 可变长度的字符数据,其长度可达2G个字节 |
date | 日期类型,范围从公元前4712年1月1日到公元后4712年12月31日 |
raw(size) | 长度为size字节的原始二进制数据,size的最大值为2000字节,你必须指定raw的size |
long raw | 可变长度的原始二进制数据,其最长可达2G个字节 |
char(size) | 固定长度的字符数据,其长度为size个字节,size的最大值为2000个字节,最小值和默认值是1 |
nchar(size) | 也是固定长度。根据Unicode标准定义 |
clong | 一个字符大型对象,可容纳单字节的字符,不支持宽度不等的字符集,最大为4G字节 |
nlong | 一个字符大型对象,可容纳单字节的字符,不支持宽度不等的字符集,最大为4G字节,存储国家字符集 |
blong | 一个二进制大型对象,最大4G字节 |
bfile | 包含一个大型二进制文件的定位器,其存储在数据库的外面,使得可以以字符流I/O访问存在数据库服务器的外部LOB,最大大小为4G字节 |
我们常用的varchar
其实就是varchar2
的同义词,在oracle
中官方推荐使用varchar2
修改表的结构
- 修改表名:
rename 原表名 to 新表名
,例如rename table1 to table2
- 修改列名:
alter table 表名 rename column 列名 to 新列名
,例如alter table test rename column age to new_age;
- 修改字段类型:
alter table 表名 modify(字段 类型)
,例如alter table test modify(age varchar2);
- 添加列:
alter table 表名 add (字段 类型)
,例如alter table test add(habbit varchar2(200))
- 删除列:
alter table 表名 drop column 字段
,例如alter table test drop column age;
创建表:
--创建表 w_user
create table w_user(
name varchar(20),
age number(2)
);
运行后可以看到刚刚创建的表
修改表名:
--修改表名为wb_user
rename w_user to wb_user;
刷新一下看到表名修改成功
修改列名:我们这里把name
字段改成w_name
--修改列名
alter table wb_user rename column name to w_name;
接着查看一下表里面的列名
修改字段类型:这里把age
字段的类型改成varchar2
,并且传入一条数据
--修改字段类型
alter table wb_user modify(age varchar2(20));
insert into wb_user values('张三','28岁');
修改后查询表中内容:
添加列:添加一个编号列num
alter table wb_user add num number(20);
add
后面列名和类型可以加括号,也可以不加括号。
删除列:删除刚才添加的num
列
--删除刚才添加的num列
alter table wb_user drop column num;
查看一下有没有删除成功:
成功删除。