DDL表结构修改
2024-09-08 00:41:20
*1)创建表
create table 表名(
字段名 类型,
....
);
//以现有表复制一个新表
create table j012 as
select id,name,salary from j010 where 1<>1;
2)删除表
drop table 表名;//删除,放入回收站
drop table 表名 purge;//直接删除,不放入回收站
*3)修改表结构
a.添加一列字段
alter table 表名 add (字段名 类型);
//向j014表中添加一列sex
alter table j014 add (sex char(1));
b.修改一列字段
可以修改类型、大小、是否允许为空,不能修改字段名
alter table 表名 modify (字段名 类型);
//将sex字段大小改为3,不允许为空
alter table j014 modify
(sex char(3) not null);
//取消not null约束限定
alter table j014 modify
(sex char(3) null);
提示:在修改原表的类型、大小、是否允许为空时,
由于表中数据不符合规则,会导致语句失败。
c.删除一列字段
alter table 表名 drop column 字段名;
//删除j014表中的age列
alter table j014 drop column age;
*4)设置字段默认值
create table j015(
id number(7) not null,
name varchar2(20),
salary number(7,2) default 10000,
login_time timestamp default systimestamp);
//不指定salary和login_time,会采用默认值
insert into j015(id,name) values(101,'scott');
//salary采用指定的值,login_time采用默认值
insert into j015(id,name,salary)
values(102,'tiger',5000);
//salary采用指定的6000,login_time采用指定的null
insert into j015(id,name,salary,login_time)
values(103,'bob',6000,null);
提示:字段默认值设置,只在不指定字段时有效,
如果插入时指定了值,会采用指定值,即使null
也会写入,不会采用默认值。
5*)修改表名称
rename 表名 to 新表名;
//将表j015改为s015
rename j015 to s015;
b.查看表结构
desc 表名;
c.删除表结构
drop table 表名;//将表删除放入回收站
drop table 表名 purge;//将表直接删除不放入回收站
d.恢复表结构和数据
flashback table 表名 to before drop;
最新文章
- 此博客主人已搬家访问新家地址:http://write.blog.csdn.net/postlist
- C#图像处理(各种旋转、改变大小、柔化、锐化、雾化、底片、浮雕、黑白、滤镜效果)
- Fiddler---前端利器
- 解决12306.cn网站验证码获取提示“基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系“的问题
- iOS - OC NSRect 位置和尺寸
- linux进程间通信方式
- vmware安装VMTools , VirtualBox ";安装增强功能";
- c# 中的封装、继承、多态详解
- 从构建分布式秒杀系统聊聊Lock锁使用中的坑
- ssh 免密码登录(设置后仍需输密码的原因及解决方法)
- 解决SSH连接出现 Software caused connection abort 的问题
- 学习笔记(二)--Lucene简介
- node通过http.request向其他服务器上传文件
- 2-scala集合
- 使用 properties 配置文件装配 bean 的方式
- CodeForces - 586D Phillip and Trains 搜索。vis 剪枝。
- MySQL数据库----视图
- 简话Angular 06 Angular自定义指令
- dbvis的使用
- scrollTop实现图像循环滚动(实例1)