`
lms168
  • 浏览: 61570 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

oracle表的创建与删除

 
阅读更多

1.表名和列名的命名规则

   <1.长度不能超过30个字符;

   <2.不能使用orcale的保留字;

   <3.不能使用oracle的保留字

   <4.只能使用如下字符 A-Z,a-z,0-9,$,#

 

2.orcale支持的数据类型

<1.字符型

      char                                              定长 ,最大2000字符;

      varchar2(20)                                变长,最大4000个字符

      clob (character large object)        字符型大对象最大4G

 <2.数字型

       number(a,b)                                a表示位数,b表示小位数的位数,b省略不写就表示纯整数

       例如:number(5,2)   范围:-999.99~~999.99

<3.日期类型

       date                                            包含年月日和时分秒

       timestamp                                   这是orcale9idate数据类型的扩张,能表示小数秒

       *orcale中默认的日期格式为:‘DD-MON-YY’      eg:'09-6-99'

       *修改日期的默认格式:alter session set nls.date.format='yyyy-mm-dd',该条命令只能临时生效,数据库重启后就失效了,要想永久的进行修改得改其他的配置文件

<4.图片

       blob                                               二进制数据, 可以存放图片/声音        4g

      *一般不讲这些东西存放进数据库,除非机密文件,一般放在某个文件夹下

 

3.约束

    约束用于确保数据库数据满足特定的商业规则。在orcale中,约束包括:not null,unique,primary key,foreign keycheck五种

 

4.创建表的语法

创建goods表:
create table goods(
goodsId char(8) constraint pk_goodsid primary key, //
主键 (constraint pk_goodsid )可要可不要
goodsName varchar2(20),
unitPrice number(10,2) check(unitPrice>0), //
检查约束
category varchar2(8),
provider varchar2(30)
);


创建customer表:
create table customer(
customerId char(8) primary key,
name varchar2(50) not null,
address varchar2(50),
email varchar2(50) unique, //
唯一约束
sex char(4) default('
') check(sex in('','')), //默认值加检查约束
cardId varchar2(18)
);


创建表purchase
create table purchase(

purchaseId number(2),

purchasename varchar2(20),
customerId char(8) references customer(customerId), //
外键约束
goodsId char(8) references goods(goodsId), //
外键约束
nums number(5) default(0) check(0<nums and nums<5)
);

 

5.额外建立约束

如果在建表时忘记建立必要的约束,则可以在建表后使用alter命令为表增加约束,但是要注意:增加not null 约束时需要使用modify选项,而增加其它四种约束使用add选项

puchase为例

alter table puchase modify puchasename not null;                   //建立商品名不能为空的约束

alter table puchase

add constraint  pk_purchaseId primary key(purchaseId ),                    //创建主键约束

add constraint  uq_purchasename  unique(purchasename ),              //创建唯一约束

add constraint  ck_nums check(0<nums and nums<5),                        //check约束

add constraint  df_nums default(0) for nums,                                      //默认值约束

add constraint  fk_customerId  foreign key customerId references customercustomerId),

add constraint  fk_goodsId  foreign key (goodsId ) references  customergoodsId; //外键约束

 删除约束

当不需要某个约束的时候,可以删除

alter table 表名 drop constraint 约束名称

特别说明一下:

在删除主键约束的时候,可能有错误,比如:

alter table 表名 drop primary key;

这是因为如果在两张表存在主从关系,那么在删除主表的主键约束时,必须带上cascade选项,此时将破坏主外键关系如

alter table 表名 drop primary key cascade

 

 

6.修改表

添加一个字段:alter table goods add(productAddress varchar2(30));

修改字段的长度:alter table goods modify(productAddress varchar2(50));

修改字段的类型:alter table goods modify(productAddress char(50));

 修改字段名alter table BOOK rename column PUBLISHHOURSE to PUBLISHHOUR;

删除一个字段:alter table goods student drop column productAddress ;

修改表的名字:rename goods  to goodss;

删改表:drop table purchase ;

 

7.删除数据

delete from student ;删除所有的记录,表的结构还在,写日志,可以回复的,速度慢

drop table student 删除表的结构和数据

truncate table student删除表中所有的记录,表结构还在,不写日志,无法找回删除的记录,速度快

 

8.将旧表中的数据导入到一个新表中

create table myemp(id,ename,sal)
as select empno,ename,sal
 from emp;

该命令将先创建myemp表,然后将emp中相关字段的值导入到myemp表中

 

列级定义是在定义列的同时定义约束

表级定义是指在定义了所有的列后,再定义约束,这里需要注意,not null约束只能在列级上定义

分享到:
评论

相关推荐

    学习oracle创建一个表空间创建临时表空间创建用户表空间资源的权限

    创建临时表空间的步骤与创建常规表空间相似,只是需要指定`TEMPORARY TABLESPACE`: ```sql CREATE TEMPORARY TABLESPACE MY_TEMP TEMPFILE '/u01/app/oracle/oradata/MY_DB/MY_TEMP.dbf' SIZE 20M AUTOEXTEND...

    oracle创建删除表空间

    主要用于创建表空间,创建用户,指定默认表空间临时表空间,删除表空间等

    oracle删除和重建实例

    删除和重建 Oracle 实例 Oracle 数据库是一种关系型数据库管理系统,广泛应用于企业级数据库应用中。然而,在某些情况下,我们需要删除和重建 Oracle 实例,以便解决一些问题或进行升级维护。在这篇文章中,我们将...

    oracle 表空间创建

    "Oracle 表空间创建" Oracle 表空间创建是 Oracle 数据库中的一种基本操作,它允许用户创建一个或多个表空间,以存储数据库中的数据。表空间是 Oracle 数据库的基本存储单元,每个表空间都可以包含多个数据文件和...

    oracle10g分区表自动按时间创建删除分区存储过程

    文件是本人oracle10g分区表自动按时间创建、删除分区的存储过程,测试代码,通过job调用存储过程,每天午夜12点运行一次。妥妥!跟大家分享下!

    如何正确的删除Oracle表空间数据文件

    在Oracle数据库管理中,删除表空间数据文件是一项关键操作,涉及到数据的安全性和系统的稳定性。本文将详细介绍如何正确地删除Oracle表空间数据文件,探讨OFFLINE和OFFLINE DROP的区别,以及在操作系统层面删除数据...

    oracle创建表空间和用户授权及删除表空间和用户

    在Oracle数据库管理中,创建与删除表空间以及用户授权是非常重要的操作。本文将详细介绍如何在Oracle环境下进行这些操作,包括创建表空间、为用户分配权限、以及如何删除表空间和用户。 ### 一、创建表空间 #### ...

    oracle定时删除表空间的数据并释放表空间

    本文将深入探讨如何在Oracle环境中实现定时删除表空间的数据并释放空间,主要涵盖以下几个关键知识点: 1. **Oracle 表空间(Tablespaces)**:表空间是Oracle数据库中存储数据的基本单位,它由一个或多个数据文件...

    Oracle数据库创建表空间和用户.doc

    在Oracle数据库管理中,创建表空间和用户是基础但至关重要的操作,这直接影响到数据库的性能、安全性和数据管理效率。以下将详细解析如何在Oracle数据库中创建表空间和用户,以及这一过程中涉及的关键概念和步骤。 ...

    oracle 创建和删除索引

    ### Oracle 创建和删除索引详解 #### 一、Oracle索引概述 在Oracle数据库中,索引是一种重要的数据结构,用于提高数据检索速度。通过创建索引,可以显著提升查询性能,尤其是在处理大型数据表时更为明显。索引类似...

    Oracle删除表中的重复数据

    在Oracle中删除表中的重复数据,可以采用多种策略,但通常涉及创建一个临时表来保存去重后的数据,然后用这个临时表覆盖原始表。这种方法可以避免直接修改原表带来的风险,确保操作的安全性。以下是一种具体的实现...

    oracle创建删除表空间和用户授权的一些语句 可以直接使用

    ### Oracle 创建与删除表空间及用户授权操作指南 在Oracle数据库管理中,创建与删除表空间、用户授权等操作是数据库管理员(DBA)经常需要处理的任务。这些操作对于确保数据库资源的有效分配、数据安全性和系统性能...

    Oracle数据库用户角色、表空间创建、删除命令

    ### Oracle数据库用户角色、表空间创建与删除命令详解 #### 创建数据表空间 在Oracle数据库中,表空间是逻辑存储单元,它由一个或多个数据文件组成,用于存储数据库对象,例如表、索引等。要创建一个新的数据表...

    oracle删除用户下所有表

    创建删除表的过程 为了实现这一目标,可以通过编写一个 PL/SQL 过程来实现自动化删除。这种方法不仅提高了效率,还减少了出错的可能性。 ```sql CREATE OR REPLACE PROCEDURE pro_drop_table IS CURSOR cur IS ...

    Oracle 表空间与数据文件

    Oracle 表空间与数据文件 Oracle 表空间是 Oracle 数据库中一个逻辑集合,包含一个或多个数据文件。表空间是 Oracle 数据库中的一个逻辑存储对象,用于存储永久段、临时段和回滚段等数据。 Oracle 表空间分类有...

    oracle数据库用户 表空间创建

    本文介绍了Oracle数据库中表空间创建和用户创建的基本概念与操作方法。通过对示例SQL语句的分析,可以了解到如何创建表空间、添加数据文件以及如何创建用户并设置相关的属性和权限。这些知识对于Oracle数据库管理员...

    oracle创建数据库表空间.doc

    本文将详细介绍如何在 Linux 环境下创建和删除 Oracle 表空间及用户。 一、创建临时表空间 在 Oracle 中,临时表空间用于存储临时数据,例如排序操作的中间结果。创建临时表空间的语法如下: ```sql CREATE ...

    利用 Oracle 系统触发器防止误删除表操作

    ### 利用Oracle系统触发器防止误删除表操作 #### 背景介绍 在企业级应用中,数据库的安全性和稳定性至关重要。Oracle作为一款广泛使用的数据库管理系统,提供了丰富的功能来保障数据安全。其中,系统触发器是Oracle...

    完整ORACLE创建表空间、用户、设置用户权限脚本

    ### 完整Oracle创建表空间、用户及设置用户权限脚本解析 #### 一、创建表空间 在Oracle数据库管理中,创建表空间是数据库管理的基础之一。表空间是Oracle数据库中逻辑存储结构的一部分,它将数据库物理存储空间...

Global site tag (gtag.js) - Google Analytics