使用SQL*PLUS修改表

发布于:2025-06-19 ⋅ 阅读:(17) ⋅ 点赞:(0)

一、增删改表字段

1.为表中增加数据字段

语法:ALTER TABLLE 表名称 ADD(字段名称 字段类型 DEFAULT 默认值,...);

SQL> INSERT INTO XSB(XH, XM, XB, CSSJ, ZY, ZXF, BZ)
  2  VALUES (081101, '王珂', '男', TO_DATE('02-10-1990', 'DD-MM-YYYY'), '计算机', 50, NULL);

已创建 1 行。
SQL> alter table XSB add(TEL number(11));

表已更改。

SQL> alter table XSB add(ADDR varchar2(10));

表已更改。

SQL> alter table XSB add(PHOTO varchar2(20) default 'nophot.jpg');

表已更改。
SQL> desc XSB;
 名称
                                                               是否为空? 类型
 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------- --------------------------------------------------------------------------------------------------------------------
 XH
                                                               NOT NULL VARCHAR2(20)
 XM
                                                               NOT NULL VARCHAR2(50)
 XB
                                                               NOT NULL VARCHAR2(5)
 CSSJ
                                                                        DATE
 ZY
                                                                        VARCHAR2(100)
 ZXF
                                                                        NUMBER(5,2)
 BZ
                                                                        VARCHAR2(500)
 TEL
                                                                        NUMBER(11)
 ADDR
                                                                        VARCHAR2(10)

2.修改表字段

语法

修改字段类型:ALTER TABLE 表名称 MODIFY(字段名称 字段类型 DEFAULT 默认值)

修改字段名称:ALTER TABLE 表名称 RENAME 原始字段名 to 新字段名

SQL> alter table XSB modify(BZ varchar2(20));

表已更改。
SQL> alter table XSB rename column ADDR to ADDRESS;

表已更改。

SQL> desc XSB;
 名称
                                                               是否为空? 类型
 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------- --------------------------------------------------------------------------------------------------------------------
 XH
                                                               NOT NULL VARCHAR2(20)
 XM
                                                               NOT NULL VARCHAR2(50)
 XB
                                                               NOT NULL VARCHAR2(5)
 CSSJ
                                                                        DATE
 ZY
                                                                        VARCHAR2(100)
 ZXF
                                                                        NUMBER(5,2)
 BZ
                                                                        VARCHAR2(20)
 TEL
                                                                        NUMBER(11)
 ADDRESS
                                                                        VARCHAR2(10)
 PHOTO
                                                                        VARCHAR2(20)

3.删除表字段

语法:ALTER TABLE 表名称 DROP COLUMN 字段名称

SQL> desc XSB;
 名称
                                                               是否为空? 类型
 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------- --------------------------------------------------------------------------------------------------------------------
 XH
                                                               NOT NULL VARCHAR2(20)
 XM
                                                               NOT NULL VARCHAR2(50)
 XB
                                                               NOT NULL VARCHAR2(5)
 CSSJ
                                                                        DATE
 ZY
                                                                        VARCHAR2(100)
 ZXF
                                                                        NUMBER(5,2)
 BZ
                                                                        VARCHAR2(20)
 TEL
                                                                        NUMBER(11)
 ADDRESS
                                                                        VARCHAR2(10)

二、增删改表

1..新建表

SQL> CREATE TABLE XSB (
  2      XH      CHAR(6)      PRIMARY KEY,       -- 学号,假设是6位数字或字符,设为主键
  3      XM      VARCHAR2(50) NOT NULL,          -- 姓名,最大50个字符,不能为空
  4      XB      CHAR(2)      CHECK (XB IN ('男', '女')),  -- 性别,限制为'男'或'女',长度设为2以支持汉字
  5      CSSJ    DATE,                           -- 出生日期
  6      ZY      VARCHAR2(50),                   -- 专业,最大50个字符
  7      ZXF     NUMBER(5, 0),                   -- 总学分,整数,最多5位
  8      BZ      VARCHAR2(200) DEFAULT NULL      -- 备注,最大200个字符,默认NULL
  9  );

表已创建。

2..删除表

语法:DROP table 表名称

SQL> DROP table XSB;

表已删除。

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

总结:

CREATE/ALTER/DROP 对象类型 对象名称


网站公告

今日签到

点亮在社区的每一天
去签到