Oracle数据库——表的创建与管理
一、涉及内容
1.掌握使用OEM工具创建、修改和删除表。
2.掌握使用SQL语句创建、修改和删除表。
3.掌握使用SQL语句插入、修改和删除数据。
4.理解各种约束的作用,并能够使用OEM工具和SQL命令为表创建各种约束。
二、具体操作
(一)分别使用OEM和SQL语句完成下面的内容。
1.创建表并添加相应的约束。要求:
(1)创建名为student(学生信息)的表,表中各列要求如下:
字段名称 |
字段类型 |
大小 |
说明 |
sno |
CHAR |
10 |
主键 |
sname |
VARCHAR |
8 |
|
sex |
CHAR |
2 |
默认值为男,只能输入男或者女 |
birthday |
DATE |
||
sdept |
CHAR |
20 |
使用 OEM:
使用SQL语句:
(2)创建名为course(课程信息)的表,表中各列要求如下:
字段名称 |
字段类型 |
大小 |
说明 |
cno |
CHAR |
10 |
主键 |
cname |
CHAR |
30 |
唯一性 |
ccredit |
NUMBER |
3 |
使用OEM:
使用SQL:
(3)创建名为score(学生成绩)的表,表中各列要求如下:
字段名称 |
字段类型 |
大小 |
取值范围 |
说明 |
sno |
CHAR |
10 |
数据来自学生信息表 |
主键 |
cno |
CHAR |
10 |
数据来自学生课程表 |
主键 |
grade |
NUMBER |
3 |
0~100 |
使用OEM:
使用SQL:
2.增加、修改和删除字段,要求:
(1)给student表增加一个memo(备注)字段, 类型为VARCHAR2(200)。
(2)将memo 字段的类型修改为VARCHAR2(300)。
(3)删除memo字段。
3.向表中添加数据、更新数据、删除数据,并验证约束。要求:
(1)使用INSERT INTO 命令向三个表中分别插入若干行数据,验证主键约束、唯一约束以及默认约束。
向student 表插入数据:
查看已经插入数据的学生表:
向course 表插入数据并查看:
向score 表插入数据并查看数据:
(2)使用UPDATE 命令更新数据,验证外键约束。
(3)使用DELETE 命令删除数据。
4.删除表。要求:
(1)使用OEM工具删除表。
使用OEM工具创建student表
创建主键约束:
删除学生表:
(2)利用DROP TABLE 语句删除表。
(二)习题
1.以下关于insert语句的values子句的说法哪一个是正确的? (AB)
A、如果没有指定字段的列表,则这些值必须按照表中列的顺序列出
B、insert 语句中的values子句是可选的
C、在values子句中,字符、日期和数字数据必须用单引号引起来
D、要在values子句中指定一个空值,可使用字符串(“”)
2.为人力资源部门设计表,此表必须用一列来包含每个雇员的聘用日期,应该为此列指定以下哪一种数据类型 (B)
A、char
B、date
C、timestamp
D、interval year to month
3.如果莫一列用于存储多大4GB的二进制数据,则应该定义为那种数据类型? (C)
A、long
B、number
C、blob
D、longraw
4.需要删除student表中所有数据、该表的结构以及与该表相关的索引,应使用下面哪一条语句 (A)
A、drop table
B、truncate table
C、alter table
D、delete table
5.以下关于创建表的说法哪个是正确的?(B)
A、使用create table 语句时,随时会在当前用户方案中创建表
B、如果create table 语句中没有明确包含某个方案,则会在当前用户方案中创建表
C、如果create table 语句中没有明确包含某个方案,create table 语句则会失效
D、如果create table 语句中明确包含某一个方案,但是该方案不存在,则会创建该方案
6.以下关于列的说法哪个是正确的? (C)
A、不可以增大char列的宽度
B、如果列包含非空数据,则可以修改列的数据类型
C、可以将char 数据类型的列转换为varchar2数据类型
D、可以将data数据类型列转换为varchar2数据类型
7.以下关于not null 约束条件的说法哪个是正确的? (A)
A、必须在列级定义not null约束条件
B、可以在列级或表级定义not null约束条件
C、not null约束条件要求列包含字母数字值
D、not null约束条件要求列并不能包含字母数字值
8.以下关于foreign key约束条件的说法哪个正确?(C)
A、自动为foreign key约束条件创建索引
B、foreign key约束条件允许受约束的列包含存在与父表的主键或特殊键列中的值
C、foreign key约束条件要求在将某个值添加到受约束的列之前检查允许的值列表
D、foreign key列可以具有与其引用的主键列不同的数据类型
9.Oracle允许你在子表中创建foreign key约束条件之前,父表应当先具备什么条件? (B)
A、在父表的主键列已经存在foreign key约束条件
B、在父表中必须存在primary key 或unique约束条件
C、在父表中必须存在索引
D、在父表中必须存在check约束条件
10.需要对雇员表的雇员标识列添加primary key 约束条件,应该使用一下哪条alter table 语句 (A)
A、alter table 雇员 add primary key(雇员标识);
B、alter table 雇员 add constraint primary key(雇员标识);
C、alter table 雇员 modify 雇员标识 primary key
D、alter table 雇员 modify constraint primary key(雇员标识);
Oracle数据库——表的创建与管理的更多相关文章
- oracle数据库表空间创建&导入&导出
1.表空间创建 --删除表空间 drop tablespace EVPBDMGIS including contents and datafiles; --删除用户 drop user EVPBDMG ...
- Oracle数据库表空间创建、添加用户并授权
--创建test表空间CREATE TABLESPACE test_data LOGGING DATAFILE '/u01/app/oracle/oradata/test/test_data.dbf' ...
- 【Oracle 】tablespace 表空间创建和管理
1.表空间的概述 1. 表空间是数据库的逻辑组成部分. 2. 从物理上讲,数据库数据存放在数据文件中: 3. 从逻辑上讲,数据库是存放在表空间中,表空间由一个或者多个数据文件组成. 2.oracle的 ...
- Java创建Oracle数据库表
我们通常只用java执行DML(即:insert, update, delete, select)操作,很少用来执行DDL(create, drop, alert)操作.今天试了下如何用java来创建 ...
- 《Oracle Database 12c DBA指南》第二章 - 安装Oracle和创建数据库(2.1 安装Oracle数据库软件和创建数据库概览)
当前关于12c的中文资料比较少,本人将关于DBA的一部分官方文档翻译为中文,很多地方为了帮助中国网友看懂文章,没有按照原文句式翻译,翻译不足之处难免,望多多指正. 2.1 安装Oracle数据库软件和 ...
- Oracle数据库表分区
一.Oracle数据库表分区概念和理解 1.1.已经存在的表没有方法可以直接转化为分区表. 1.2.不在分区字段上建立分区索引,在别的字段上建立索引相当于全局索引.效率 ...
- oracle数据库表中,插入数据的时候如何产生一个 字母+数字 编号?
Oracle 语句中“||”代表什么啊? oracle数据库表中,插入数据的时候如何产生一个 字母+数字 编号? 排序的话,用order by来处理即可.比如:cola123a234b999b335s ...
- 查看Oracle数据库表空间大小(空闲、已使用),是否要增加表空间的数据文件
查看Oracle数据库表空间大小(空闲.已使用),是否要增加表空间的数据文件 1.查看表空间已经使用的百分比 Sql代码 select a.tablespace_name,a.bytes/1024/1 ...
- Oracle 数据库表中已有重复数据添加唯一键(唯一约束)
Oracle 数据库表中已有重复数据添加唯一键(唯一约束) 问题描述 以 demo 举例,模拟真实场景. 表 TEST_TABLE 有如下字段和数据:id 是主键,code 没有设置键和索引 ID C ...
随机推荐
- C++实现python标准库中的Counter
看python standard library by exmple里面提到一个Counter容器,它像muliset一样,能够维持一个集合,并在常量时间插入元素.查询某个元素的个数,而且还提供了一个 ...
- Configuration for Python to run on Android
It's exiting to learn to make app on Android with python. But when I check <Head First Python> ...
- HDU 圆桌会议 - 数学题
圆桌 题意就是每分钟可以将相邻的两个人的位置互换一下 , 问你 ,几分钟可以将所有人的位置互换成 原先的 B 在A的右边 C在A的左边 , 换成现在的 C 在A 的右边 , B 在 A 的 ...
- 程序员是怎么炼成的---OC题集--练习答案与题目(3)
1.init 2.initWithBytes:length:encoding: 3.initWithCharacters:length: 4.initWithCString:encoding: 5.i ...
- Object-C 基础笔记1--杂识
一,常量 1, 常量字符串永远不会release; 2,使用常量字符串初始化另一个字符串,这两个字符串相等. 3,相同内容的常量地址值相同. 二, @class 声明一个类,一般是在.h文件中使用,不 ...
- “PEDIY CrackMe 2007” 下载地址
工欲善其事,必先利其器.本专辑收集了看雪论坛『CrackMe & ReverseMe』版块2004年4月-2006年12月31期间所有的CrackMe和ReverseMe,共350余个. 下载 ...
- python学习札记(1)
首先给大家推荐一个很好的python入门网站,感觉比<python基础>之类的书更容易懂,廖雪峰小站,希望有学习资源同学们也能多多交流.下面是今天所学: 下面总结一些非常有特色的函数及其应 ...
- Ecshop安装过程中的的问题:cls_image::gd_version()和不支持JPEG
在安装Ecshop的时候,遇到两个问题: 1.Strict Standards: Non-static method cls_image::gd_version() should not be cal ...
- 从数学角度看最大期望(EM)算法 I
[转载请注明出处]http://www.cnblogs.com/mashiqi 2014/11/18 更新.发现以前的公式(2)里有错误,现已改过来.由于这几天和Can讨论了EM算法,回头看我以前写的 ...
- Java-->一个只能运行十次的程序
--> 感觉没什么营养的样子啊... package com.dragon.java.tensoftware; import java.io.BufferedReader; import jav ...