下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

如何使用SQL语言在SQL*Plus中创建表

作者:课课家教育     来源: http://www.kokojia.com点击数:1839发布时间: 2018-12-12 15:05:39

标签: rmanoracledataguardogg数据恢复

Oracle中,通常通过两种方法来创建,一种方法是使用OEM图形化管理工具来创建,另一种方法是在SQL*Plus中执行SQL语句来实现。

这里主要说用SQL语句创建。

使用SQL*Plus语句创建表的一般格式如下:

CREATE TABLE [方案名 .]<表名>

(<列名> <数据类型> [列级完整性约束条件]

[,<列名> <数据类型> [列级完整性约束条件]]

[,<表级完整性约束条件>])

下面介绍oracle数据库参数的含义,

CREATE TABLE: SQL命令关键字表示创建一个表。

[方案名.]<表名>:方案名是创建的表所属的方案名称,省略时在当前方案中创建表,<表名>是要创建的表的名称。

<列名><数据类型>[列级完整性约束条件]:一个表由一个或多个列组成,<列名>定义列的名称,<数据类型>则指该列数据采用的数据类型,列级完整性约束条件则定义了该列上的完整性约束条件。

下面介绍ocp认证课程常见的列级完整性约束:

NOT NULL:限制列取值非空。

DEFAULT:给定列的默认值。

UNIQUE:限制列取值不重复。

下面的约束可以用在列级和表。

CHECK:限制列的取值范围。

PRIMARY KEY:指定主码。

<表级完整性约束条件>:定义该表的表一级完整性约束条件。

在创建表的同时可以定义表的完整性约束条件,如果完整性约束条件仅涉及数据恢复单个列,则约束条件既可以定义在列级,也可以定义在表级,如果该约束条件涉及ogg多个列,则约束条件必须定义在表级,以后当用户对表中数据进行操作时,DBMS将自动检查该操作是否违反这些完整性约束条件。

在当前的方案中创建一个学生表,其表结构如图所示,

 如何使用SQL语言在SQL*Plus中创建表_rman_oracle_dataguard_ogg_数据恢复_课课家

按照上图的设计,创建学生表Student,goldengate代码如下:

SQL>CREATE TABLE Student /*列级完整性约束条件 */

(Sno CHAR(9) PRIMARY KEY,/*Sname取唯一值*/

Sname CHAR(20) UNIQUE,/*'男',/*默认性别为男*/

*Ssex CHAR(2) DEFAULT

Sage SMALLINT,

Sdept CHAR(20) )

基于已有的表创建新表

在CREATE TABLE 语句中使用子查询(select)就可以基于已有的表创建新表,其基本语法格式如下:

CREATE TABLE [方案名.]<表名>

[<列名>,<列名>...]

[,<表级完整性约束条件>])

AS<子查询>

下面介绍参数的意义。

[方案名.]<表名>:方案名是创建的表所属的方案名称,省略时在当前方案中创建表。<表名>是要创建的表的名称。

<列名>:新表的字段名,可以省略,如果省略,则新表的字段名与查询结果集中包含字段同名。用户可修改在新表中的字段名,但不能修改字段的数据类型和宽度。

<子查询>指子查询的select语句。

创建新的newtest

基于scott方案中的emp表和ename字段创建一新的newtest,包括MySQL编号tno,姓名tname两个字段。雇员表中的序列编号和姓名字段分别来自于scott方案中emp表的empno和ename字段。

SQL>CREATE TABLE newtest(eno,ename)

AS

SELECT empno,ename

from scott.emp;

为了使用方便,可以修改oracle的会话为简体中文,触发器具体代码如下:

ALTER SESSION SET NLS_LANGUAGE='SIMPLIFIED CHINESE。

 

 

赞(17)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程