Oracle数据库建表和修改表

一、创建表格

以创建员工信息表为例,创建表格的实例如下:

--删除表
drop table emp_t;
--创建表
create table emp_t(
       id integer primary key,
       num varchar2(8) default '1000',
       name varchar2(20) default NULL,
       age integer default 0,
       email varchar2(40) default NULL,
       department varchar2(30) default NULL,
       position varchar2(20) default NULL
 );

--添加表注释:
comment on table emp_t is '员工信息表';
--添加字段注释:
comment on column emp_t.id is 'id';
comment on column emp_t.name is '姓名';
comment on column emp_t.age is '年龄';
comment on column emp_t.num is '工号';
comment on column emp_t.email is '邮箱地址';
comment on column emp_t.department is '所属的部门';
comment on column emp_t.position is '职位';
 --创建序列
create sequence emp_s
increment by 1  --ID每次自增1
start with 1    --ID从1开始自增 
maxvalue 99999  --ID的最大值
minvalue 1;     --ID的最小值

--创建触发器  添加数据的时候id自增
create or replace trigger emp_trigger
before
       insert on emp_t
       for each row
         when(new.id is null)
begin
  select emp_s.NEXTVAL into :new.id from dual;
end; 

--触发器创建好之后就可以这样添加数据了
insert into emp_t(id,num,name,age,email,department,position) values(null,'10001','张1',28,'zhangsa1n@qq.com','支付开发部','程序员');
insert into emp_t(id,num,name,age,email,department,position) values(null,'10002','张2',38,'zhangsan2@qq.com','支付开发部','程序员');
insert into emp_t(id,num,name,age,email,department,position) values(null,'10003','张3',27,'zhangsan3@qq.com','支付开发部','程序员');
insert into emp_t(id,num,name,age,email,department,position) values(null,'10004','张4',27,'zhangsan4@qq.com','支付开发部','程序员');
insert into emp_t(id,num,name,age,email,department,position) values(null,'10005','张5',28,'zhangsan5@qq.com','支付开发部','程序员');

--显示所有的数据
select * from emp_t;

二、修改和删除表格

1、修改表的操作:

(1)、添加列:

语法格式:alter table talbe_name add column_name dataType;

例:alter table student add tel varchar2(11);

(2)、修改列:

语法格式:alter table table_name modify column _name newDataType;

例:alter table student modify tel number(11,0);
(3)、删除列:

语法格式:alter table table_name drop column column _name;

例:alter table student drop column tel ;
(4)、修改列名:

语法格式:alter table table_name rename column column_name to new_column_name;

例:alter table student rename column tel to phone;
(5)、修改表名:

语法格式:rename table_name to new_table_name;

例:rename student to studentInfo;
2、删除表的操作:

(1)、truncate table table_name:truncate table操作用于删除表中的全部数据,并不是把表删除掉,这种删除方式比delete方式删除数据的速度快

(2)、drop table table_name:删除表结构(表中数据全部被删除)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值