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