表的创建与管理二(学习笔记)
修改表的结构
DDL定义中对于数据库的操作主要有3种语法
- 创建对象:CREATE 对象类型 对象名称….
- 删除对象 DROP 对象类型 对象名称
- 修改对象 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';