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 中的列。但是此语法可以删除其他用户表中的列。

 

posted @ 2019-01-11 16:02  从前有座山,山上  阅读(921)  评论(0编辑  收藏  举报