栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

表的管理(列和表的增加、删除、以及修改定义)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

表的管理(列和表的增加、删除、以及修改定义)

修改列定义
修改列定义包括修改列的类型,宽度,缺省值定义等。
语法: ALTER TABLE table MODIFY (column datatype [DEFAULT expr], ...);

例如:SQL>desc test1.emp_sa_rep;

SQL>alter table test1.emp_sa_rep modify (last_name VARCHAr2(30));

注意:
1.对有数据的列,修改后列宽度不能小于数据的长度。
2.一个表只能有一个 LONG 型的列,不能增加或修改出第二个 LONG 型的列。
3.如果更改数据类型为另一种非同系列类型,则列中数据必须为 NULL.

增加列
新增加的列总是排在列定义的最后。对有记录的行增加新列,新列默认取空值。
语法: ALTER TABLE table ADD(column datatype [DEFAULT expr], ...); 
例如:为 test1.emp_sa_rep 表增加一列出生日期 birthday, 以系统当前时间 sysdate 作
为其缺省值:

SQL>ALTER TABLE test1.emp_sa_rep ADD (birthday DATE DEFAULT sysdate);

禁用列
被禁用列所占空间不会被释放,除非将该列删除。
禁用列语法:
ALTER TABLE table SET UNUSED (column , …… );
ALTER TABLE table SET UNUSED COLUMN column;
例如:禁用 test1.emp_sa_rep 表 birthday 列:

SQL>ALTER TABLE test1.emp_sa_rep SET UNUSED (birthday);

删除列
一次只能删除一列,列被删除后不能恢复,只能重建列。
删除列语法:ALTER TABLE table DROP (column);
删除禁用列将删除所有的禁用列,语法:ALTER TABLE table DROP UNUSED COLUMNS;          例如:删除 test1.emp_sa_rep 表的 salary 列:

SQL>ALTER TABLE test1.emp_sa_rep DROP (salary);

重命名表名和列名
重命名表语:ALTER TABLE tablename RENAME TO new_tablename;
重命名列语法:ALTER TABLE tablename RENAME COLUMN old_name TO new_name; 
例:修改 test1.emp_sa_rep 表的 first_name 列名为 fname.

SQL>ALTER TABLE test1.emp_sa_rep RENAME COLUMN first_name TO fname;

修改 test1.emp_sa_rep 名为 sale_rep:

SQL>ALTER TABLE test1.emp_sa_rep RENAME TO sale_rep;
 

表的删除
删除一个表时,Oracle 将执行下列操作:
1.删除该表中所有记录;
2.从数据字典中删除该表定义;
3.删除与该表相关的所有索引和触发器;
4.删除对象移至回收站中,每个数据库用户都有自己的回收站 USER_RECYCLEBIN;
5.依赖于该表的数据库对象(视图、同义词、函数等)处于 INVALID 状态。
删除表语法:DROP TABLE table [ CASCADE CONSTRAINTS ] [PURGE]; 
当一张表在删除时使用了 PURGE 选项,将不会进入回收站而彻底删除,将无法进行闪回恢复。

例如:删除表 test1.sale_rep.

SQL>DROP TABLE test1.sale_rep;

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1007057.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号