一、涉及内容

  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数据库——表的创建与管理的更多相关文章

  1. oracle数据库表空间创建&导入&导出

    1.表空间创建 --删除表空间 drop tablespace EVPBDMGIS including contents and datafiles; --删除用户 drop user EVPBDMG ...

  2. Oracle数据库表空间创建、添加用户并授权

    --创建test表空间CREATE TABLESPACE test_data LOGGING DATAFILE '/u01/app/oracle/oradata/test/test_data.dbf' ...

  3. 【Oracle 】tablespace 表空间创建和管理

    1.表空间的概述 1. 表空间是数据库的逻辑组成部分. 2. 从物理上讲,数据库数据存放在数据文件中: 3. 从逻辑上讲,数据库是存放在表空间中,表空间由一个或者多个数据文件组成. 2.oracle的 ...

  4. Java创建Oracle数据库表

    我们通常只用java执行DML(即:insert, update, delete, select)操作,很少用来执行DDL(create, drop, alert)操作.今天试了下如何用java来创建 ...

  5. 《Oracle Database 12c DBA指南》第二章 - 安装Oracle和创建数据库(2.1 安装Oracle数据库软件和创建数据库概览)

    当前关于12c的中文资料比较少,本人将关于DBA的一部分官方文档翻译为中文,很多地方为了帮助中国网友看懂文章,没有按照原文句式翻译,翻译不足之处难免,望多多指正. 2.1 安装Oracle数据库软件和 ...

  6. Oracle数据库表分区

    一.Oracle数据库表分区概念和理解         1.1.已经存在的表没有方法可以直接转化为分区表.         1.2.不在分区字段上建立分区索引,在别的字段上建立索引相当于全局索引.效率 ...

  7. oracle数据库表中,插入数据的时候如何产生一个 字母+数字 编号?

    Oracle 语句中“||”代表什么啊? oracle数据库表中,插入数据的时候如何产生一个 字母+数字 编号? 排序的话,用order by来处理即可.比如:cola123a234b999b335s ...

  8. 查看Oracle数据库表空间大小(空闲、已使用),是否要增加表空间的数据文件

    查看Oracle数据库表空间大小(空闲.已使用),是否要增加表空间的数据文件 1.查看表空间已经使用的百分比 Sql代码 select a.tablespace_name,a.bytes/1024/1 ...

  9. Oracle 数据库表中已有重复数据添加唯一键(唯一约束)

    Oracle 数据库表中已有重复数据添加唯一键(唯一约束) 问题描述 以 demo 举例,模拟真实场景. 表 TEST_TABLE 有如下字段和数据:id 是主键,code 没有设置键和索引 ID C ...

随机推荐

  1. Nginx 安装编译配置

    ./configure --prefix=/usr/local/nginx-1.8.0 --with-http_ssl_module --with-http_spdy_module --with-ht ...

  2. 11、C#基础整理(特殊集合和哈希表)

    特殊集合:队列.栈 一.栈Stack类:先进后出,没有索引 Stack ss = new Stack(); 1.增加数据:push :将元素推入集合 ss.Push(); ss.Push(); ss. ...

  3. Codechef2015 May - Chef and Strings (后缀自动机)

    用后缀自动机统计出出现1~n次的串的数量f[i] 对于ans[k]=sigma(f[i]*C(i,k)) i>=k ; mo=; ..maxn] of dword; nt:..maxn,'a'. ...

  4. C#指针操作Marshal实例

    static void Main(string[] args) { ,,,}; ,,,}; IntPtr pt = Marshal.AllocHGlobal(a.Length); //从source数 ...

  5. 使用Inno Setup 打包.NET程序,并自动安装.Net Framework

    使用Inno Setup 打包.NET程序,并自动安装.Net Framework http://www.cnblogs.com/xiaogangqq123/archive/2012/03/19/24 ...

  6. JavaScript string.format

    //string.format String.prototype.format=function(){ var e = this, f = arguments.length; if (f > 0 ...

  7. jellyfish K-mer analysis and genome size estimate

    http://www.cbcb.umd.edu/software/jellyfish/   http://www.genome.umd.edu/jellyfish.html https://githu ...

  8. Selenium WebDriver对cookie进行处理绕过登录验证码

    现在几乎所有登录页面都会带一个验证码,做起自动化这块比较麻烦, 所以要绕过网站的验证码. 首先需要手动登录一次你的测试网站,去chrome的F12里获取这个网站的cookie信息,找到对应的保存登录信 ...

  9. 让超链接点击后不跳转,可以用href = "#",但是这个#就会锚点到页面最上边 点击链接后不跳转可以设置成

    让超链接点击后不跳转,可以用href = "#",但是这个#就会锚点到页面最上边     点击链接后不跳转可以设置成     1.<a href="javascri ...

  10. js 如何判断页面里的某个值改变

    程序未改变变量的值前新增全局变量:var oldDivValue = document.getElementById("divid").innerHTML; 程序在改变变量值后执行 ...