Oracle管理表(创建、修改、删除)


Oracle管理表(创建、修改、删除)

一、简介

  • 表是基本存储单位
  • 表都是二维结构(行列)
  • 每一列数据必须具有相同的数据类型
  • 列名唯一
  • 每一行数据的唯一性

二、数据类型

  • 字符型:char(n)、nchar(n)、varchar(n)、nvarchar(n)
  • 数值型:number(p,s)、float(n)
  • 日期型:date、timestamp
  • 其它类型:blob、clob

注意:

  • nvarchar和varchar2都可以表示可变长度字符,其中nvarchar2适合存储中文数据
  • number(5,2):有效梳子5位,保留2位小数,如123.45
  • date范围在公元前4712年1月1日到公元9999年12月31日

三、创建表

  • create table 表名(列名 数据类型, … )
SQL> create table userinfo (id number(6,0), username varchar2(20), userpwd varchar2(20), email varchar2(30), regdate date);

表已创建。

SQL> desc userinfo
 名称                                      是否为空? 类型
 ----------------------------------------- -------- ----------------------------
 ID                                                 NUMBER(6)
 USERNAME                                           VARCHAR2(20)
 USERPWD                                            VARCHAR2(20)
 EMAIL                                              VARCHAR2(30)
 REGDATE                                            DATE

四、修改表

1、添加字段

  • alter table 表名 add 列名 数据类型;
SQL> alter table userinfo add remarks varchar2(500);

表已更改。

SQL> desc userinfo
 名称                                      是否为空? 类型
 ----------------------------------------- -------- ----------------------------
 ID                                                 NUMBER(6)
 USERNAME                                           VARCHAR2(20)
 USERPWD                                            VARCHAR2(20)
 EMAIL                                              VARCHAR2(30)
 REGDATE                                            DATE
 REMARKS                                            VARCHAR2(500)

2、 更改字段长度

  • alter table 表名 modify 列名 数据类型;
SQL> alter table userinfo modify remarks varchar2(400);

表已更改。

SQL> desc userinfo
 名称                                      是否为空? 类型
 ----------------------------------------- -------- ----------------------------
 ID                                                 NUMBER(6)
 USERNAME                                           VARCHAR2(20)
 USERPWD                                            VARCHAR2(20)
 EMAIL                                              VARCHAR2(30)
 REGDATE                                            DATE
 REMARKS                                            VARCHAR2(400)

3、更改字段类型

  • alter table 表名 modify 列名 数据类型;
SQL> alter table userinfo modify userpwd number(6,0);

表已更改。

SQL> desc userinfo
 名称                                      是否为空? 类型
 ----------------------------------------- -------- ----------------------------
 ID                                                 NUMBER(6)
 USERNAME                                           VARCHAR2(20)
 USERPWD                                            NUMBER(6)
 EMAIL                                              VARCHAR2(30)
 REGDATE                                            DATE
 REMARKS                                            VARCHAR2(400)

4、 删除字段

  • alter table 表名 drop column 列名;
SQL> alter table userinfo drop column remarks;

表已更改。

SQL> desc userinfo
 名称                                      是否为空? 类型
 ----------------------------------------- -------- ----------------------------
 ID                                                 NUMBER(6)
 USERNAME                                           VARCHAR2(20)
 USERPWD                                            NUMBER(6)
 EMAIL                                              VARCHAR2(30)
 REGDATE                                            DATE

5、修改字段名

  • alter table 表名 rename column 旧列名 to 新的列名;
SQL> alter table userinfo rename column email to new_email;

表已更改。

SQL> desc userinfo
 名称                                      是否为空? 类型
 ----------------------------------------- -------- ----------------------------
 ID                                                 NUMBER(6)
 USERNAME                                           VARCHAR2(20)
 USERPWD                                            NUMBER(6)
 NEW_EMAIL                                          VARCHAR2(30)
 REGDATE                                            DATE

6、修改表名

  • rename 旧表名 to 新表名
SQL> rename userinfo to new_userinfo;

表已重命名。

SQL> desc userinfo
ERROR:
ORA-04043: 对象 userinfo 不存在


SQL> desc new_userinfo
 名称                                      是否为空? 类型
 ----------------------------------------- -------- ----------------------------
 ID                                                 NUMBER(6)
 USERNAME                                           VARCHAR2(20)
 USERPWD                                            NUMBER(6)
 NEW_EMAIL                                          VARCHAR2(30)
 REGDATE                                            DATE

五、删除表

1、删除表中的数据

  • truncate table 表名
SQL> truncate table new_userinfo;

表被截断。

SQL> desc new_userinfo;
 名称                                      是否为空? 类型
 ----------------------------------------- -------- ----------------------------
 ID                                                 NUMBER(6)
 USERNAME                                           VARCHAR2(20)
 USERPWD                                            NUMBER(6)
 NEW_EMAIL                                          VARCHAR2(30)
 REGDATE                                            DATE

2、删除表和表中的数据

  • drop table 表名
SQL> drop table new_userinfo;

表已删除。

SQL> desc new_userinfo;
ERROR:
ORA-04043: 对象 new_userinfo 不存在
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值