表的创办与管理二(学习笔记)

表的创建与管理二(学习笔记)

修改表的结构

DDL定义中对于数据库的操作主要有3种语法

  1. 创建对象:CREATE 对象类型 对象名称….
  2. 删除对象 DROP 对象类型  对象名称
  3. 修改对象 ALTER 对象类型 对象名称
创建表,并添加数据
 --删除member表
 DROP TABLE MEMBER PURGE;
 --创建member表
CREATE TABLE member(
    mid NUMBER(5),
    name VARCHAR2(50) DEFAULT '无名氏'
   );
--查看当前用户下的全部表
SELECT * FROM tab;
--查看member表的结构是否正确
DESC MEMBER;
--向表中添加若干条记录
INSERT INTO MEMBER(mid,NAME)
VALUES(1,'张三');
INSERT INTO MEMBER(mid,NAME)
VALUES(2,'李四');
INSERT INTO MEMBER(mid,NAME)
VALUES(3,'王五');
--查询member表
SELECT * FROM MEMBER;

示例一、

向member表中增加3个字段

ALTER TABLE MEMBER ADD(age NUMBER(3));     --增加年龄字段
ALTER TABLE MEMBER ADD(sex VARCHAR2(10) DEFAULT '');  --增加性别字段
ALTER TABLE MEMBER ADD(phote VARCHAR2(100) DEFAULT 'nophote.jpg');     --增加图像
--查直表结构
DESC MEMBER;
--发现已经增加成功

修改表的字段

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

示例二、

将name 字段长度修改为30,将sex字段的,默认值修改为女

ALTER TABLE MEMBER MODIFY(NAME VARCHAR2(30));    --将字段长度由50修改为30
ALTER TABLE MEMBER MODIFY(sex VARCHAR2(3) DEFAULT '');  --将性别字段设置为长度3,并有默认值女
--查直表结构
DESC MEMBER;

--删除表中的字段

ALTER TABLE 表名称 DROP COLUMN 列名称;

示例三、

--删除member表中的phote和age字段

ALTER TABLE MEMBER DROP COLUMN phote;
ALTER TABLE MEMBER DROP COLUMN sex;
  --查看表结构

DESC MEMBER;

将表中的一些字段设置为无用状态

ALTER TABLE 表名称 SET UNUSED(列名称)

ALTER TABLE 表名称 SET UNUSED column列名称

示例四、

将member中的age设置为无用状态

ALTER TABLE MEMBER SET UNUSED COLUMN age;
--查直表结构
DESC MEMBER;
--查询member表
SELECT * FROM MEMBER;
--设置为无用后,不会显示

删除表中的无用列

ALTER TABLE 表名称 DROP UNUSED COLUMNS;

--删除member列中的无用列

ALTER TABLE MEMBER DROP UNUSED COLUMNS;

添加注释

语法:

COMM ON TABLE 表名称 | COLUMN 表名称.列名称 IS ‘注释内容’;

查看user_tab_comments数据字典
SELECT * FROM User_Tab_Comments WHERE table_name='MEMBER';
--默认comments(注释)这个内容是NULL

为member表添加注释

COMMENT ON TABLE MEMBER IS '这是来学习的会员表';
---查看member表注释
SELECT * FROM User_Tab_Comments WHERE table_name='MEMBER';

查看列的注释信息

SELECT * FROM user_col_comments WHERE table_name='MEMBER';

为mid,name,age birthday添加注释

COMMENT ON COLUMN member.mid IS '参加活动的会员编号';
COMMENT ON COLUMN member.name IS '参加活动的会员姓名';
COMMENT ON COLUMN member.age IS '参加活动的会员年龄';
COMMENT ON COLUMN member.Birthday IS '参加活动的会员生日';
--查看列的注释信息
SELECT * FROM user_col_comments WHERE table_name='MEMBER';