Oracle-SQL 建表

it2022-05-06  21

建立员工分类表;

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

 

 

一、使用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

相关资源:activity-oracle建表SQL

最新回复(0)