目标

通过本章学习,您将可以:

l  描述主要的数据库对象。

l  创建表。

l  描述各种数据类型。

l  修改表的定义。

l  删除,重命名和清空表。

常见的数据库对象

表、视图、序列、索引、同义词

序列:提供有规律的数值

同义词:给对象起别名

查询数据字典

查看用户定义的表

SELECT table_name from user_tables;

查看用户定义的各种数据库对象

SELECT DISTINCT object_type

FROM       user_objects ;

查看用户定义的表, 视图, 同义词和序列

SELECT     *

FROM  user_catalog;

命名规则

表名和列名:

l  必须以字母开头

l  必须在 1–30 个字符之间

l  必须只能包含 A–Z, a–z, 0–9, _, $, 和 #

l  必须不能和用户定义的其他对象重名

l  必须不能是Oracle 的保留字

数据类型

varchar2(size) 可变长度字符数据

char(size)     定长字符数据

number(p,s)    可变长度数值数据

date         日期型数据

long                   可变长字符数据,最大可达到2G

clob                    字符数据,最大可以达到4G

raw(long raw) 原始的二进制数据

blob                            二进制数据,最大可达到4G

bfile                    存储外部文件的二进制数据,最大可达到4G

rowid                 存储外部文件的二进制数据,最大可达到4G行地址

其中,常用的数据类型有以下几种:

varchar2(size),char(size),number(p,s),date,blob

使用子查询创建表

CREATE TABLE    dept80

AS
    SELECT  employee_id, last_name,

salary*12 ANNSAL,

hire_date
    FROM    employees
    WHERE   department_id = 80;

ALTER TABLE 语句

使用 ADD 子句追加一个新列

ALTER TABLE dept80

ADD  (job_id VARCHAR2(9));

修改一个列

ALTER TABLE      dept80

MODIFY               (last_name VARCHAR2(30));

删除一个列

ALTER TABLE  dept80

DROP COLUMN  job_id;

删除表

l  数据和结构都被删除

l  所有正在运行的相关事物被提交

l  所有相关索引被删除

l  DROP TABLE 语句不能回滚

DROP TABLE dept80;

改变对象的名称

l     执行RENAME语句改变表, 视图, 序列, 或同义词的名称

RENAME dept TO detail_dept;//将表名改变

清空表

TRUNCATE TABLE detail_dept;

l     TRUNCATE语句不能回滚

l  可以使用 DELETE 语句删除数据

delete from emp2;

rollback;//删除数据后使用rollback回滚还原数据

oracle 10g 学习之创建和管理表(7)的更多相关文章

  1. oracle中用SQL语句创建和管理表

    表名和列名的命名规则: 必须以字母开头 必须在1-30个字符之间 只能包含A-Z,a-z,0-9,_,$,# 不能与用户定义的其它对象重名 不能使用ORACLE的保留字 创建前具备的条件: CREAT ...

  2. Oracle02——oracle分页、子查询、集合运算、处理数据、创建和管理表和其他数据库对象

    作者: kent鹏 转载请注明出处: http://www.cnblogs.com/xieyupeng/p/7289451.html --oracle分页(Pageing Query) select ...

  3. Oracle_创建和管理表

    创建和管理表 常见的数据库对象 Oracle 数据库中的表 查询数据字典 命名规则 CREATE TABLE 语句 数据类型 使用子查询创建表 ALTER TABLE 语句 删除表 清空表 改变对象的 ...

  4. DML语句、创建和管理表

    insert语句基本语法: insert into table(column) values(values); insert into dept (deptno,dname,loc) values(5 ...

  5. oracle 10g 学习之oracle管理(3)

    怎样将预先写好的sql脚本执行? select * from employees;→107条记录 利用 Oracle 企业管理器连接数据库服务器 点击打开以下界面: 此时已经连接成功了 用 Oracl ...

  6. Oracle——创建和管理表

    一.常见的数据库对象 对象 描述 表 基本的数据存储集合,由行和列组成 视图 从表中抽出的逻辑上相关的数据集合 序列 提供有规律的数值 索引 提高查询的效率 同以词 给对象起别名 二.Oracle 数 ...

  7. 全面学习ORACLE Scheduler特性(4)创建和管理Schedule

    三.使用Schedules 10g 中新推出的SCHEDULER可能确实会让很多初接触的朋友感觉晕头晕脑,相比之前的jobs,SCHEDULER中新增的概念太多.比如说jobs,仍然可以理解成之前版本 ...

  8. Oracle系列十 创建和管理表

    常见的数据库对象 Oracle 数据库中的表 用户定义的表: 用户自己创建并维护的一组表 包含了用户所需的信息 如:SELECT * FROM user_tables;查看用户创建的表 数据字典: 由 ...

  9. oracle 10g 学习之视图、序列、索引、同义词(9)

    目标 通过本章学习,您将可以: l  描述视图 l  创建和修改视图的定义,删除视图 l  从视图中查询数据 l  通过视图插入, 修改和删除数据 l  使用“Top-N” 分析 l  创建, 维护, ...

随机推荐

  1. ios开发 <AppName>-Prefix.pch文件的用法详解

    我们知道,每新建立一个工程,比如说HelloWord,在分类SupportingFiles里都会有一个以工程名开头-Prefix.pch结尾的文件,如HelloWord-Prefix.pch.对于这个 ...

  2. malloc 函数到底做了什么?

    请看下面的代码. 猜测结果是什么?编译通过吗? #include <stdio.h> #include <stdlib.h> int main() { ; char *ptr ...

  3. Codeforces Round #270 D C B A

    谈论最激烈的莫过于D题了! 看过的两种做法不得不ORZ,特别第二种,简直神一样!!!!! 1th:构造最小生成树. 我们提取所有的边出来按边排序,因为每次我们知道边的权值>0, 之后每次把边加入 ...

  4. POJ 1260 Pearls

    Pearls Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 6670 Accepted: 3248 Description In ...

  5. sql 批量更新

    利用update和select进行批量更新 UPDATE Table1 SET categoryId =(SELECT Id FROM Table2 WHERE Table1 .Id=Table2.c ...

  6. 给定一个值S,在有序数组中找出两个元素A和B,使 A+B = S.

    在网上看到过一个面试题,感觉挺有意思,看别人的代码写的逻辑不够谨慎,重写了一个,较真了又... package com.array7.algorithm; public class Algorithm ...

  7. Mysql增删改

    改 UPDATE tbl_name SET 字段名=值,...[WHERE 条件][ORDER BY 字段名称][LIMIT限制条数] --更新用户名为4位的用户,让其以有年龄-3 UPDATA SE ...

  8. django-jinjia 集成

    现成包可以参考这里:  http://niwibe.github.io/django-jinja/ Requirements Python 2.7, 3.3 or 3.4 Django 1.4, 1. ...

  9. 【云计算】开源装机自动化系统 CloudBoot OSInstall 介绍

    "CloudBoot"(OSinstall) 发布了. 产品更新及特点如下: 新增虚拟化操作系统适配:支持主流操作系统:RedHat.CentOS.SUSE.Ubuntu.Wind ...

  10. schedule CCCallfunc CCCallfuncN CCCallfuncND

    schedule(schedule_selector(HelloWorld::step), 1.0f); void HelloWorld::step(float dt) { CCLog("d ...