Oracle-SQL 建表

建立员工分类表;

员工分类表结构、内容分别如下图:

 

 

一、使用PL/SQL Dev 这类可视化工具直接创建表

1.建立表结构

新建-table-名称(egrade)

   

然后 列:创建表结构

2. 输入表数据

有两种方式

①右击关键字 egrade ,选择编辑数据,手动添加数据

1.

2.

3.

② sql 语句输入数据

insert into hr.egrade(e_grade, hire_start, hire_end) values ('B',to_date('20030101','yyyymmdd'),to_date('20041231','yyyymmdd'));

运行结果:

 

3.删除表数据

再运行以下语句,得到完整的员工分类表

 insert into hr.egrade(e_grade, hire_start, hire_end) values ('C',to_date('20050101','yyyymmdd'),to_date('20061231','yyyymmdd'));

 insert into hr.egrade(e_grade, hire_start, hire_end) values ('D',to_date('20070101','yyyymmdd'),to_date('20081231','yyyymmdd'));

①假设最后一个语句运行两次,D分类重复了:

输入 语句:

select *
from hr.egrade for update;

然后把锁打开,- 去重复行,打完对勾,把锁带上

结果如上。

② 把整个表删除

drop table hr.egrade

 

二、使用 create table 语句创建表

举例说明:

1.创建person表
-id 主键
-name 唯一
-sex 默认值男
-age 0-100
-birthday
-address 不能为空

 1 create table person
 2        (ps_id          number(4) ,
 3         ps_name        varchar2(25),
 4         ps_sex         varchar2(25)    default '',    
 5         ps_age         number(2),
 6         ps_bir         varchar2(25),
 7         ps_add         varchar2(50)    not null,
 8         constraint ps_id_pk primary key(ps_id),
 9         constraint ps_name_uk unique(ps_name),
10         constraint ps_age_range check(ps_age>=0 and ps_age<=100)
11        )

查询

select * from sys.person

插入一条数据

1 insert into sys.person(ps_id, ps_name, ps_age, ps_bir, ps_add)
2 values (1001,'jiaxinwei',20,to_date('19980104','yyyymmdd'),'NY,CN')

删除某条数据

delete sys.person where ps_id = 1001

删除表内所有数据

delete sys.person

添加某个字段

alter table sys.person 
      add(ps_love varchar2(25) default 'yes')

修改字段

alter table sys.person
      modify(ps_love varchar2(10) default 'no')

(可以用MODIFY 修改一个字段,可以修改该字段的数据类型、大小、默认值;不过对默认值的修改只会影响后来插入表的数据)

删除字段

alter table sys.person
      drop(ps_love)

处于安全考虑,无法删除sys 中的列。但是此语法可以删除其他用户表中的列。

 

转载于:https://www.cnblogs.com/jiaxinwei/p/10255623.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值