Oracle对表的基本操作

表名应该以字母开头,可以在表名中包含数字,下划线,#和$等。

一、创建表:
第一种:直接创建
create table 表名
(
field1 type[(size)] [index1],
field2 type[(size)] [index2],
......,
[[multifieldindex],...]
)

第二种:从其他表中创建表
create table 表名 as select语句.但是这个select语句如果涉及到long数据类型,就不行了。

创建表时,把较小的不为空的字段放在前面。可以给字段加上约束条件。

添加列     alter table 表名 add 列定义
更改列     alter table 表名 modify (列名 新属性, ......);
删除列     alter table 表名 drop column 列名s [cascade constraint]
             alter table 表名 drop unused colunm
未用列     alter table 表名 set unused column 列名 [cascade constraint]
更改表名  rename 原来表名 to 新表名

删除表     drop table 表名 [cascade constraints]     删除表后,表上的索引,触发器,权限,完整性约束等都会被删除。

二、表的约束条件

1. check:

确保指定列中的值符合一定条件。check约束可以涉及该行的同属于check约束的其他数据列,但是不能涉及其他行或者其他表。单一的数据列可以有多个check保护,一个check约束可以保护多个数据列。可以在create table时创建check约束,也可以在alter table时修改表的约束。

其语句格式为   constraint [约束名] check(codition). 约束名不是必须的,但是最好有一个名字。下面是一个check约束的例子:
create table 表名
(
a1 int constraint chka1 check (a1 in (1,0)),
a2 int
)
或者

alter table 表名 add constraint(s) chka1 check(a1 in (1,0));
alter table 表名 disable/enable/drop constraint(s) chka1;

2. not null:

它作用在单一数据列上,保证数据列必须要有数据值。当not null是在alter table时才添加上时,写法有所不同:
create table 表名
(

a1 int not null,
a2 int
)
alter table 表名 modify a2 not null

3. unique:

保证那些具有惟一性但又不是主键的一部分列的唯一性。可以保护多个列,唯一性约束与表一起创建,可以用alter table语句修改它:

create table 表名
( a1 int unique,
a2 int)
alter table 表名 add constraints 约束名 unique(列名s)
alter table 表名 disable /enable/ drop constraint(s) 约束名
不能删除带有外键指向的表的唯一性约束,除非先禁用或者删除了外键。删除或者禁用唯一性约束通常会同时删除相关联的唯一索引,降低性能,要避免这种情况,可以在唯一性约束保护的数据列上先创建非唯一性索引,再添加唯一性约束。

4. primary key:

是表中的一列或者多列,决定表中每个行的唯一性,主键列必须是not null。如果是复合主键,要放入括号中。比如:
create table 表名
(
stuid int,
courseid int,
primary key(列名1, 列名2, ......),
score float
)

alter table 表名 add constraints 主键名 primary key (列名s)
alter table 表名 drop/disable/enable primary key(或者用名字);

5. foreign key:

下面是一个例子:
create table a               create table b
(                                   (
a1 int primary key,       b1 int primary key,
a2 int not null,              b2 int not null,
a3 int unique                )
)

create table c
(
ca int,
cb int,
primary key(ca, cb),
constraint 外键名1 foreignkey(本表列1) references 其他表(其他表中对应列),
constraint 外键名2 foreignkey(本表列2) references 其他表(其他表中对应列)
)
alter table 表名 add constraints 外键名 foreign key(本表列名) references 其他表(其他表中对应列);
alter table 表名 disable/enable/drop constraints 外键名

posted on 2011-03-14 16:43 月光疾风 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/yuepeng/archive/2011/03/14/1983945.html

Oracle对表的基本操作相关推荐

  1. oracle大表如何快速删除一列,Oracle 对表中的记录进行大批量删除

    Oracle 对表中的记录进行大批量删除数量时,常常采用分批删除,逐次提交.其目的大概有三个原因: Oracle 对表中的记录进行大批量删除数量时,常常采用分批删除,逐次提交.其目的大概有三个原因: ...

  2. oracle oats 工具讲解,Oracle 表空间基本操作

    Oracle 表空间基本操作 1. 查询数据库现在的表空间 select tablespace_name, file_name, sum(bytes)/1024/1024 table_size fro ...

  3. mysql对表的基本操作

    文章目录 mysql表的基本操作 删除操作drop 修改基本表alter 基本练习 对表的基本操作 DML+DQL 增加数据: 修改数据 删除数据 查询数据 练习: mysql表的基本操作 删除操作d ...

  4. oracle r12培训,Oracle ERP(R12)基本操作的培训

    时间:2010-11-20 上午 10:00~11:00 内容:Oracle ERP的基本操作内容 今天上午听德勤的实施顾问经理给我们进行了ERP的基本操作,界面较之前的R11友好了很多.整体感觉操作 ...

  5. oracle批输入命令流,ORACLE对表批处理操作

    一.提高DML操作的办法: 简单说来: 1.暂停索引,更新后恢复.避免在更新的过程中涉及到索引的重建. 2.批量更新,每更新一些记录后及时进行提交动作.避免大量占用回滚段和或临时表空间. 3.创建一临 ...

  6. oracle 表空间热备份,oracle对表空间的热备

    1.保证数据库处于归档模式 SQL> archive log list; Database log mode              Archive Mode Automatic archiv ...

  7. oracle的一些基本操作,Oracle中的一些基本操作

    关于Oracle中的一些基本操作,包括表空间操作,用户操作,表操作 1 --创建表空间 2 create tablespace itheima 3 datafile 'I:\oracle\table\ ...

  8. Oracle对表空间、用户、用户权限的操作

    一.对表空间的操作 1.创建表空间(create tablespace) -- 'hpdb_tablespace' 指定表空间名称 -- 'e:\hpdb.dbf' 指定表空间数据文件名称 -- si ...

  9. oracle 对表空间 #039;users#039; 无权限,ORA-01950: 对表空间 'USERS' 无权限

    创建新的用户时,要指定default  tablespace,否则它会把system表空间当成自己的缺省表空间.这样做是不提倡的.估计原来创建某个用户的时候没有指定缺省表空间,而现在它使用系统表空间的 ...

最新文章

  1. unity 继承了 获取_Unity游戏开发——设计模式概述
  2. xm console无法联接guest问题的解决
  3. 从JavaScript数组获取随机值
  4. [导入]SQL中的临时表和表变量
  5. 走向DBA[MSSQL篇] - 从SQL语句的角度提高数据库的访问性能
  6. because the following virtual functions are pure within
  7. 中继链路,以太网通道,DHCP配置
  8. 2018-05-04 http入门
  9. 近期流行手机病毒“手机骷髅”解决方案
  10. VS2015 保护视力 背景色设置
  11. tif文件转csv文件
  12. 小米科技面试题-互联网老辛整理
  13. 介绍一下Emily----大一
  14. 小蜜蜂无纸化考试系统 官网
  15. 如何关闭FileZilla Server开机自启
  16. 无法定位程序输入点于动态链接库
  17. 浏览器绑定快捷键KeyboardEvent
  18. 雷军:从苦逼撸代码到年入上百亿,成为商界领袖,改变现状,只靠单纯写代码远远不够
  19. 测试用例具体的设计方法
  20. GIS开发:shp文件编码格式转换

热门文章

  1. leetcode - 226. 翻转二叉树
  2. leetcode - 96. 不同的二叉搜索树
  3. Gaussian LDA(高斯LDA)简介
  4. Java日期型集合排序
  5. 摄影测量--内外方位元素
  6. 安卓系统双屏异显_Android实现双屏异显
  7. xshell6左侧导航显示_【iOS12人机交互指南】7.1-导航栏
  8. python显示中文文件内容_Python实现的json文件读取及中文乱码显示问题解决方法...
  9. python 爬虫难吗_python写爬虫难吗
  10. 上海师范大学计算机技术考研分数线,上海师范大学2019年考研复试分数线已公布...