SQL应用及误区分析
上QQ阅读APP看书,第一时间看更新

t1

2.1 DEPT

DEPT保存了Oracle公司成立之初的4个部门的信息,表结构定义如表2-1所示。为了方便后续章节大数据量的测试,DEPTNO的长度由Oracle数据库安装时的2位调整为8位。

表2-1

DEPT表在SQL Server数据库中的创建语句如图2-1所示。

图2-1

可能有的读者对建表语句不是很了解,这里稍微介绍一下。

图2-1所示的语句是标准的DDL语句。

❑ create table:关键字,标识要创建一张表。

❑ DEPT:表名。

❑ DEPTNO、DNAME、LOC:列名。

❑ numeric、varchar:列的数据类型,后面括号中的数字是列值的最大长度。

❑ not null:关键字,标识DEPTNO列不允许插入空值,是非空约束。

❑ constraint:关键字,标识要建立一种约束。

❑ primary key:关键字,标识约束类型为主键约束。

❑ PK_DEPT:标识主键约束的名称。

❑(DEPTNO):标识主键约束建立在DEPTNO列上。

约束的知识在第9章会有详细的讲解,此处直接执行即可。

SQL Server数据库导入DEPT表记录的脚本,如图2-2所示。这个脚本中的命令是标准的DML的插入命令。执行此脚本,是为了插入基础数据,方便后续章节的讲解。更详细的新增命令在第3章会进行介绍,此处可以不理解,直接执行命令即可。

图2-2

在Oracle数据库中创建DEPT表的语句如图2-3所示。Oracle数据库的数据类型与SQL Server数据库的数据类型在叫法上略有差别。同样的DEPT表,DEPTNO在SQL Server数据库中使用numeric数据类型,在Oracle数据库中使用number数据类型。DNAME列在SQL Server数据库中使用varchar数据类型,在Oracle数据库中使用varchar2数据类型。虽然叫法不一样,但是SQL Server数据库与Oracle数据库允许存放的数值类型是一样的,DEPTNO存放数值型数据,DNAME存放字符型数据。

图2-3

在Oracle数据库中导入DEPT表记录的脚本,如图2-4所示。

图2-4