(一)以scott用户登录,在ORCL数据库中使用SQL语句分别创建表Employees、表Departments和表Salary,表结构如表1,2,3所示。

表1 Employees表

列名

数据类型

长度

是否允许为空

约束

说明

employeeID

VarChar2

6

主键

员工编号

Name

VarChar2

10

姓名

Birthday

Date

出生日期

Sex

VarChar2

2

性别

Address

VarChar2

20

地址

Zip

VarChar2

6

邮编

Phonenumber

VarChar2

12

电话号码

Emailaddress

VarChar2

30

电子邮件

departmentID

VarChar2

3

员工部门号

表2 Departments表

列名

数据类型

长度

是否允许为空

约束

说明

departmentID

VarChar2

3

主键

部门编号

departmentName

VarChar2

20

部门名

note

VarChar2

16

备注

表3 Salary表

列名

数据类型

长度

是否允许为空

约束

说明

employeeID

VarChar2

6

主键

员工编号

income

number

8,2

收入

outcome

number

8,2

支出

(二)使用SQL语句分别向表Employees、Departments和Salary中插入如下表所示数据记录。

表1 Employees表数据

employeeID

Name

Birthday

Sex

departmentid

010001

王平

1981-1-5

1

010003

韦严平

1979-11-5

2

010021

吴庆红

1984-7-2

3

010031

李方

1980-8-4

4

010005

李明

1985-2-10

5

表2 Departments表数据             表3 Salary表数据

departmentID

departmentName

1

办公室

2

人力资源部

3

销售部

4

财务部

5

生产部

employeeID

income

outcome

010001

3000

100

010003

3000

50

010021

5000

50

010031

3000

50

010005

2500

50

(三) 创建约束

(1)创建外键约束,子表employees的departmentID字段参照主表

departments中的departmentID字段,约束名为fk_employees_departments_departtmentID.

(2)创建检查约束,employees表中的sex字段只能输入字符"男"或"女",约束名为ck_sex.

(3)在departments表的departmentName字段上创建唯一约束un_departmentName.

(四)修改表结构

将employees表,增加一个字段,字段名为QQ, Number类型,15位

(五)使用SQL命令修改各表中的某个记录的字段值。

(1)将表salary中编号为010001的职工收入改为2890;

(2)将表Departments表中生产部的名称修改为生产计划部;

(3)给每个职工增加收入100元。

修改完后使用select语句观察数据的变化。

---创建Employees
create table Employees(employeeID varchar2(6) primary key,ename varchar2(10) not null,Birthday date not null,sex char(4) not null,address varchar2(20) ,zip varchar2(6),Phonenumber varchar2(12),Emailaddress varchar2(30),departmentID varchar2(3) not null
);
---创建Departments
create table Departments(departmentID varchar2(3) primary key,departmentName varchar2(30) not null,note varchar2(16));
---创建Salary
create table Salary(employeeID  varchar2(6) primary key,income number(8,2) not null,outcome number(8,2) not null);
---------------------------------------------------------------------------
--插入测试数据
insert into Employees(Employeeid,ename,Birthday,sex,Departmentid) values(010001,'王平',to_date('1981-01-05','yyyy-mm-dd'),'女','1');
insert into Employees(Employeeid,ename,Birthday,sex,Departmentid) values(010003,'韦严平',to_date('1979-11-05','yyyy-mm-dd'),'女','2');
insert into Employees(Employeeid,ename,Birthday,sex,Departmentid) values(010021,'吴庆红',to_date('1984-07-02','yyyy-mm-dd'),'女','3');
insert into Employees(Employeeid,ename,Birthday,sex,Departmentid) values(010031,'李方',to_date('1980-8-4','yyyy-mm-dd'),'女','4');
insert into Employees(Employeeid,ename,Birthday,sex,Departmentid) values(010005,'李明',to_date('1985-02-10','yyyy-mm-dd'),'女','5');
--------
insert into Departments(departmentID,departmentName)values(1,'办公室');
insert into Departments(departmentID,departmentName)values(2,'人力资源');
insert into Departments(departmentID,departmentName)values(3,'销售部');
insert into Departments(departmentID,departmentName)values(4,'财务部');
insert into Departments(departmentID,departmentName)values(5,'生产部');
---------
insert into Salary values(010001,3000,100);
insert into Salary values(010003,3000,50);
insert into Salary values(010021,5000,50);
insert into Salary values(010031,3000,50);
insert into Salary values(010005,2500,50);
-------------添加外键约束 alter table Employees add constraints fk_e_d_departtmentID foreign key(departmentID) references Departments(departmentID) alter table Employees add constraints ck_sex check(sex='男' or sex='女')alter table Departments add constraints un_departmentName unique(departmentName)---增加字段alter table Employees add qq number(15)
----------update salary  set  income=2890 where employeeID=010001update  Departments set departmentName='生产计划部' where departmentName='生产部'update salary  set  income=income+100

oracle创建表练习相关推荐

  1. oracle有一百个人围一圈报数,案例:Oracle创建表时报session超过最大值 ORA-00018 证明递归ses...

    天萃荷净 创建表时报session超过最大值 证明递归session存在并不在v$session中显示 我们在数据库的使用过程中,有时候会遇到类似情况,我会话是登录的,但是我进行某种操作,缺报sess ...

  2. oracle创建表空间.创建用户.创建表

    oracle创建表空间.创建用户.创建表 转:http://blog.csdn.net/zhoubl668/archive/2009/02/02/3858576.aspx 在SQL*Plus中:(1) ...

  3. oracle 创建表空间 pcincrease,oracle建表空间 各种语句

    oracle建表空间 各种语句 在创建用户之前,先要创建表空间: 其格式为:格式: create tablespace 表间名 datafile '数据文件名' size 表空间大小; 如: SQL& ...

  4. oracle删除判断是否存在,oracle创建表之前判断表是否存在,如果存在则删除已有表...

    Mysql 创建表之前判断表是否存在,如果存在则删除已有表 DROP TABLE IF EXISTS sys_area; CREATE TABLE sys_area ( id varchar(64) ...

  5. Oracle 创建表空间,用户,赋值(简装)

    一, 1.Oracle 创建表空间,用户,赋值(简装) C:\Documents and Settings\Administrator>sqlplus /nolog SQL> conn / ...

  6. Oracle创建表空间、创建用户以及授权

    原文地址:Oracle创建表空间.创建用户以及授权 作者:chinacoolsword Oracle安装完后,其中有一个缺省的数据库,除了这个缺省的数据库外,我们还可以创建自己的数据库. 对于初学者来 ...

  7. oracle 建表字段设置,Oracle创建表、删除表、修改表(添加字段、修改字段、删除字段)语句总结...

    关于Oracle创建表.删除表.修改表(添加字段.修改字段.删除字段)语句的简短总结. Oracle创建表: create table 表名 ( 字段名1 字段类型 默认值 是否为空 , 字段名2 字 ...

  8. Oracle创建表语句(Create table)语法详解及示例

    Oracle创建表语句(Create table)语法详解及示例   创建表(Create table)语法详解 1. ORACLE常用的字段类型ORACLE常用的字段类型有 VARCHAR2 (si ...

  9. oracle创建表之前判断表是否存在,如果存在则删除已有表

    Mysql 创建表之前判断表是否存在,如果存在则删除已有表 DROP TABLE IF EXISTS sys_area;CREATE TABLE sys_area (id int NOT NULL A ...

  10. Oracle 创建表空间,创建表、数据增删改

    Oracle 创建表空间,创建表.数据增删改 创建表空间 创建用户 用户授权 表的创建.修改与删除 创建表 数据类型 创建表的同时指定表空间 修改表 删除表 数据增删改 插入数据 修改数据 删除数据 ...

最新文章

  1. GridView的DataKeyNames属性 转载的
  2. 一些真诚的学习经验和生活感悟
  3. Vue axios 上传图片
  4. python安装环境配置linux_linux下安装python环境
  5. 第四周实践项目7 多项式求和
  6. C++读取与保持图片
  7. Dojo中跨域获取新浪股票接口返回的数据(练习)
  8. css --- 圣杯布局
  9. pytorch-tensorflow版本选择-cuda8-cudnn5.1
  10. Spring自学教程-AOP学习(五)
  11. python教孩子学编程_学编程要从娃娃抓起——教孩子学Python
  12. dxlary 解决AutoCad2006致命错误unhandled access violation reading 0x0000 exception at 6532b0h。
  13. 计算机储位分配,仓库储位分配的基本思路与原则
  14. buu [QCTF2018]Xman-RSA
  15. 20170321多益在线笔试(二笔)
  16. 浅析大数据前景及就业方向
  17. python椭圆拟合_基于直接最小二乘的椭圆拟合(Direct Least Squares Fitting of Ellipses)...
  18. Excel切片器的使用
  19. Ajax异步请求方法(详细)
  20. 简单有趣,半小时漫画中国史

热门文章

  1. Python模拟随机游走
  2. 打印小册子中断了怎么办
  3. OneWay广告Unity版SDK接入
  4. git commit最佳实践:conventional commits
  5. Aruco物体定位(追踪)在UE4中的实现
  6. 鼠标滑入滑出判断事件(转自流云诸葛)
  7. jQuery技巧之让任何组件都支持类似DOM的事件管理
  8. nas存储用网线直连服务器,NAS将存储设备通过标准的网络拓扑结构连接,无需服务器直接上网...
  9. 基于Yahoo网站性能优化的34条军规及自己的见解
  10. 如何用PS做出火焰文字的效果?