Oracle_数据库应用教程课件_第2章 SQL基础

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第2章 SQL基础
2.3.4 TRUNCATE TABLE命令 使用TRUNCATE TABLE可以删除表中的全部记录。利用此
第2章 SQL基础
图2-1 Oracle中的常用数据类型
第2章 SQL基础
2.2.1 常用数据类型 1.CHAR CHAR数据类型用来存储固定长度的字符数据。 语法格式: Var_field CHAR(n) 其中,n是指定的字符长度。如果不指定n的值,则n默
认为1。在定义表的列类型(如定义CHAR类型)时,其数值的 长度不超过2000字节,例如:
约束 主键 非空
与部门表中 cPcode 外键关联
与雇员技能表中 cScode 外键关联
第2章 SQL基础
表2-2 部门表(Department1)
字 段 名 部 门 代 码 部 门 名 称 部 门 负 责 人 部 门 地 址
代码 cPcode cPname cPhead clocation
类型 Char(6) Char(20) Char(10) Char(20)
【例】 修改雇员表Employee1。在列中增加一列,用来 存放性别数据。查看修改后的结果,如图2-2所示。
SQL>ALTER TABLE Employee1 ADD CSEX CHAR(2); 表已更改。 如果所添加的列包含空值,则必须分三步进行:① 添 加没有NOT NULL说明的列;② 在新列中添加数据到所有 行;③ 将列修改成NOT NULL。
第2章 SQL基础
SQL是所有RDBMS使用的公共语言,它不遵循任何特 定的执行模式,一次可以访问多个记录。其功能不仅仅是查 询,它使用简单的维护数据的命令,能够完成数据查询 (Data Query)、数据操纵(Data Manipulation)、数据定义(Data Definition)和数据控制(Data Control)等功能。
第2章 SQL基础
2.3.3 DROP命令 使用DROP TABLE可以删除表。不需要使用的表应及时删 除,否则它将占用不必要的存储空间。使用DROP TABLE删除 表时,表中存储的数据也将同时被删除。 语法格式: DROP TABLE table_name
第2章 SQL基础
【例】 删除Department1表。 SQL>DROP TABLE Department1; 命令执行后,将删除Department1表和表中的所有内容。
SQL(Structured Query Language)称为结构化查询语言, 最早是由Boyce和Chamberlin在1974年提出的。1976年,SQL 开始在商品化关系数据库管理系统中应用。SQL是一种灵活、 有效的语言,它的一些功能专门用来处理和检验关系型数据。 1982年,美国国家标准化组织(American National Standard Institute,ANSI)确认SQL为数据库系统的工业标 准。1987年国际标准化组织(International Organization for Standardization,ISO)也通过了这一标准。目前,许 多关系数据库供应商都在自己的数据库中支持SQL语言,如 Access、Sybase、SQL Server、Informix、DB2等。SQL已正 式成为数据库领域的一种主流语言。
第2章 SQL基础
说明: table_name:表的名称。 column_name:指定表的一个列的名字。 datatype:该列的数据类型。 DEFAULT expresssion:指定由expresssion表达式定义 的默认值。 column_constraint:定义一个完整性约束作为列定义的 一部分。
约束 主 键 非 空
第2章 SQL基础
2.3.1 CREATE TABLE命令 要创建新的数据表,可以使用CREATE TABLE命令。在以
自己的模式创建表时,必须拥有CREATE TABLE系统权限。在 其他用户模式中创建表时,必须拥有CREATE ANY TABLE系统 权限。
语法格式: CREATE TABLE table_name ( column_name datatype[DEFAULT expresssion] [column_constraint], column_name datatype…)
第2章 SQL基础
2.2 Oracle的数据类型
Oracle的数据类型有两大类:常用数据类型和用户自定 义数据类型。常用数据类型是数据库系统提供的一些类型, 直接使用即可。用户自定义数据类型一般是在多表操作的情 况下,当多个表中的列要存储相同类型的数据时,为确保这 些列具有完全相同的数据类型、长度和是否允许空值等才采 用的方法。本节主要讲解Oracle中的常用数据类型,如图2-1 所示。
值类型转换成字符串类型。
第2章 SQL基础
2.3 数据定义语言
数据定义语言(DDL)包含一组命令,用来创建数据库对 象(如表等)。本节主要讲述用数据定义语言创建表、修改表 和删除表。
本章中将要用到的实例主要以下面列出的三个表(表21~表2-3)为例。
第2章 SQL基础
表2-1 雇员表(Employee1)
约束 主 键 非 空
第2章 SQL基础
表2-3 雇员技能表(EmployeeSkill1)
字 段 名 技 能 代 码 技 能 名 称 部 门 负 责 人 部 门 地 址
代码 cScode cSname cPhead clocation
类型 Char(6) Char(20) Char(10) Char(20)
第2章 SQL基础
column_constraint子句的基本语法格式如下: CONSTRAINT constraint_name [NOT] NULL [UNIQUE] [PRIMARY KEY] [REFERENCES [schema.]
table_name(column_name)] [CHECK(condition)]
第2章 SQL基础
4.BOOLEAN 逻辑型(布尔型)变量的值只有TRUE(真)或FALSE(假)两 种。逻辑型变量一般用于判断状态,然后根据其值是“真” 或“假”来决定程序执行分支。关系表达式的值就是一个逻 辑值。
第2章 SQL基础
5.NUMBER NUMBER数据类型可用来表示所有的数值类型。 语法格式: num_field NUMBER(precision,scale) 说明:precision表示总的位数;scale表示小数的位数, scale默认表示小数位为0。 如果实际数据超出设置精度,则会出现错误。例如: num_field NUMBER(8,2); 其中,num_field是一个整数部分最多6位,小数部分最 多2位的变量。
第2章 SQL基础
【例】 创建部门表Department1。 SQL>CREATE TABLE Department1 (
cPcode char(6) constraint dt_pk primary key, cPname char(20) , cPhead char(10), cLocation char(20) ); 表已创建。
第2章 SQL基础
图2-2 修改后的雇员表结构
第2章 SQL基础
【例】 修改雇员表Employee1中列的宽度、小数位、数 据类型或缺省值。
SQL> ALTER TABLE Employee1 MODIFY cEname varChar2(20);
【例】 从表中删除一个列。 SQL> ALTER TABLE Employee1 DROP COLUMN cEmail; 说明: ① 一次只能撤消一列; ② 必须保证表中至少还剩有一列; ③ 列中有数据也可被撤消。
Var_field CHAR(8) 在定义变量时,可以同时对其进行初始化,例如: Mytext1 CHAR(8):='Jack';
第2章 SQL基础
2.VARCHAR VARCHAR数据类型用来存储可变r_field VARCHAR(n) 其中,n是指定的字符最大长度,n必须是正整数,例如: Var_field VARCHAR(10) 在定义变量时,可以同时对其进行初始化,例如: Mytext2 VARCHAR(10):=' Hello world';
第2章 SQL基础
第2章 SQL基础
2.1 SQL简介 2.2 Oracle的数据类型 2.3 数据定义语言 2.4 数据操纵语言 2.5 事务控制语言 2.6 数据控制语言 2.7 SQL运算符 2.8 SQL*Plus的函数 2.9 小结 习题二 上机实验二
第2章 SQL基础
2.1 SQL简介
[column_constraint],…,n)] [DROP COLUMN columnname]
第2章 SQL基础
说明: schema:修改的表的拥有者。 tablename:修改的表名。 ADD:添加列或完整性约束。 MODIFY:修改已有列的定义。 DROP:从表中删除列或约束。
第2章 SQL基础
第2章 SQL基础
3.DATE DATE是用来存储日期时间类型的数据,用7字节分别描 述世纪、年、月、日、时、 分、秒。 语法格式: date_field DATE 说明:日期的默认格式为DD-MON-YY,分别对应日、 月、年,例如17-JUN-2007。月份的表达要用英文单词的缩 写格式。日期的格式可以设置为中文格式,例如17-六月2007。
其中:[NOT] NULL定义该列是否允许为空;UNIQUE 定义字段的唯一性;PRIMARY KEY定义字段为主键; REFERENCES定义外键约束;CHECK(condition)定义该列 数据必须符合的条件。
第2章 SQL基础
【例】 创建雇员表Employee1。 SQL>CREATE TABLE Employee1 ( cEcode char(6) constraint E_pk primary key, cEname char(10) NOT NULL, cSex char(2), cPcode char(6) constraint E1_fk references Department1 (cPcode), salary Number(6,1), cScode Char(6) constraint E2_fk references EmployeeSkill1 (cScode), dBirthDate Date, cAddress varchar2(30), cPhone char(20), cEmail char(30) ); 表已创建。
第2章 SQL基础
2.2.2 数据类型转换 SQL语言可以进行数据类型之间的转换。常见的数据类
型之间的转换函数如下: (1) TO_CHAR:将NUMBER和DATE类型转换成VARCHAR类型。 (2) TO_DATE:将CHAR转换成DATE类型。 (3) TO_NUMBER:将CHAR转换成NUMBER类型。 此外,SQL语言还会自动地转换各种类型,如可以将数
字段名 雇员代码 雇员姓名 性别 部门代码 基本工资 技能代码 出生日期 家庭住址 电话号码 电子邮件
代码 cEcode cEname cSex cPcode salary cScode dBirthDate cAddress cPhone cEmail
类型 Char(6) Char(10) Char(2) Char(6) Number(6,1) Char(6) Date varChar(30) Char(20) Char(30)
第2章 SQL基础
2.3.2 ALTER TABLE命令 利用ALTER TABLE命令可以修改表,包括增加列、修改
列的属性和删除列。 语法格式: ALTER TABLE [schema.]tablename [ADD (columnname datatype [DEFAULT
expression][column_constraint],…,n)] [MODIFY (columnname datatype [DEFAULT expression]
相关文档
最新文档