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

    作者:课课家教育更新于: 2018-12-12 13:15:38

    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。

     

     

课课家教育

未登录