1、主键和外键
主键:关系型数据库中的一条记录中有若干个属性,若其中的某一个属性组(注意是组,可以是一个,也可以是多个)能唯一标识一条记录,那么该属性组就是主键
外键:关系型数据库表中的一列或者某几列的组合,它的值与另外一张表的某一列或者某几列相匹配,且为另一张表的主键(即这张表的某一列或某几列是另外一张表的主键,称这一列或几列为另外一张表的外键)

注1:一张表主键只能有一个,可以有多个外键以及唯一索引

注2:Oracle数据库共有5个约束:主键、外键、非空、唯一、条件
非空:这个列的值不能为空(NOT NULL)
唯一:这个列的值在表中是唯一存在的,不能重复,但可以为空值(NULL)
条件:可以对列的值设定在某个范围内,如人的年龄就不能为负数等。

注3:主键和唯一约束的区别
表的主键是列的值为表中的唯一标识,不能为空值(NULL),而表的唯一约束是列的值在表中唯一存在,可以为空值(NULL)

2、表的创建及删除
无约束创建:

复制代码代码如下:
create table Items(ItemNO number(2),ItemName varchar2(20));

删除:

复制代码代码如下:
drop table Items;

有主键约束创建:

复制代码代码如下:
create table Items(ItemNO number(2) constraint PK_Items primary key,ItemName varchar2(20) not null);
有外键约束创建:
[code]
create table Business(BusiNo number(2) constraint PK_Business primary key,
BusiName varchar2(32) not null,ItemNO number(2),constraint FK_Business
foreign key(ItemNO) references Items(ItemNO),StartTime date);

注:constraint:定义表中约束所必须的关键字
primary key:主键约束关键字
foreign key...references...:创建表的外键关键字

3、to_date:Oracle的一个内部函数,可以把字符串变成时间

复制代码代码如下:
insert into Business(Busino,Businame,Itemno,Starttime) 
values(4,'SuperMarket',2,to_date('2008-08-08','YYYY-MM-DD'));

4、创建有“唯一”和“条件”约束的表

复制代码代码如下:
create table Computers(
CompNo number(4) constraint PK_Comp primary key,
CompModel varchar2(64) unique,
BuyTime date,
Price number(7,2) constraint ch_price check(price>0 and price<=30000),
Owner varchar2(32));

注:unique:为唯一约束关键字
constraint...check...:为条件约束的关键字

5、创建新表business_copy,并复制business表的数据
create table business_copy as select * from business;

注:create table:创建表的关键字
as select * from business:把business中的数据全部复制到business_copy中(不复制表的约束)

6、把备份表中的数据导入新表

复制代码代码如下:
insert into business(busino,businame,itemno,starttime) select * from business_copy;

7、常用的字段数据类型
Number(p,s):数值类型,其中p最小值为1,最大值为38,s最小值为-84,最大值为124
Date:日期类型,用于记录时间
Char(size):定长字符串类型,知道规定的长度,可以节省很大空间,比如性别,F表示女,M表示男
varchar(size):可变长字符串类型
Blob(二进制大对象类型):用于存储二进制对象,比如照片、文档资料等
Clob(字符大对象类型):用于存储字节的大对象数据,比如简历之类
Bfile(二进制文件):存储大对象,比如电影胶片等

8、修改表结构
增加一个表字段

复制代码代码如下:
alter table items add(manager VARCHAR2(6));

注:alter,这是Oracle数据库中更改数据库参数、表结构等均会使用到
add:这里是增加一个列的关键字

修改表的字段最大值

复制代码代码如下:
alter table items modify(manager varchar2(8));

删除表的某一列
[code]
alter table items drop column manager;

oracle创建表的方法和一些常用命令的更多相关文章

  1. Oracle创建 表空间 用户 给用户授权命令

    //创建表空间 create tablespace ACHARTSdatafile 'D:\oradata\orcl\ACHARTS01.DBF' size 800mautoextend on nex ...

  2. Oracle创建表语句(Create table)语法详解及示例、、 C# 调用Oracle 存储过程返回数据集 实例

    Oracle创建表语句(Create table)语法详解及示例 2010-06-28 13:59:13|  分类: Oracle PL/SQL|字号 订阅 创建表(Create table)语法详解 ...

  3. oracle创建表之前判断表是否存在,如果存在则删除已有表

    Mysql 创建表之前判断表是否存在,如果存在则删除已有表 DROP TABLE IF EXISTS sys_area; CREATE TABLE sys_area ( id int NOT NULL ...

  4. Oracle创建表空间和表

    创建表空间和表ORACLE物理上是由磁盘上的以下几种文件:数据文件和控制文件和LOGFILE构成的oracle中的表就是一张存储数据的表.表空间是逻辑上的划分.方便管理的.数据表空间 (Tablesp ...

  5. Oracle创建表空间、用户管理、角色管理

    内容:Oracle创建表空间.用户管理.角色管理 1.用系统用户登录Oracle 默认的系统用户: sys/system.sysman.scott sys:权限最大,超级用户,可以完成所有任务, 默认 ...

  6. Gulp安装流程、使用方法及cmd常用命令导览

    Gulp安装流程.使用方法及CMD常用命令导览 来自前端小白的gulp及周边知识学习总结 一.名词介绍: Npm--node包管理工具 一开始我不理解,包管理工具是什么鬼.后来用到的gulp也好,gu ...

  7. Activiti 配置Oracle不能自动创建表解决方法

    使用配置文件创建工作流表 <bean id="processEngineConfiguration" class="org.activiti.engine.impl ...

  8. Oracle创建表及管理表

    转自:https://www.linuxidc.com/Linux/2018-05/152566.htm   1. Oracle表的创建及管理 创建表包括三个要素,表名,列名,数据类型.每个表都有对应 ...

  9. Oracle创建表空间、用户名、密码步骤教程

    第一步,以最高级别 SYSDBA 身份登录数据库 cmd 进入命令行 登录方式一: C:\Documents and Settings\Administrator>sqlplus sys/sys ...

随机推荐

  1. python实现Telnet远程登陆到设备并执行命令

    #encoding=utf-8 import telnetlib import time def do_telnet(Host, username, password, finish, command ...

  2. 利用 Azure Devops 创建和发布 Nuget 包

    利用 Azure Devops 创建和发布 Nuget 包 原 Visual Studio Team Service ,简称 VSTS,能够创建 pipelines 管道以构建应用程序,并将其部署到任 ...

  3. 【.NET架构】BIM软件架构02:Web管控平台后台架构

    一.前言        之前一篇叙述的是Revit插件(桌面软件)的软件架构,本篇将开始叙述Web项目的架构方案.今年一月在老东家加入BIM平台部门,为一些大型国家项目搭建BIM管控平台,业主使用管控 ...

  4. WPF实战案例-数据代理

    在我们wpf开发中,很多人会有mvvm模式去做wpf的项目. 是否有人遇到这样一个场景:在一个界面上,有个tabcontrol上面有4个页签,每个页签里面都有一个datagrid,里面显示的列基本一样 ...

  5. WPF圆角按钮例程

    <Window x:Class="WpfApp3.MainWindow" xmlns="http://schemas.microsoft.com/winfx/200 ...

  6. 【计算机网络】 网络体系结构分类: 客户机/服务器体系和P2P

    网络体系结构的分类 现代网络应用程序有两种主流的体系结构: 客户机/服务器体系结构和P2P体系结构(peer to peer “对等”)   一 . 客户机/服务器体系结构     客户机/服务器体系 ...

  7. Lerning Entity Framework 6 ------ Using a commandInterceptor

    Sometimes, We want to check the original sql statements. creating a commandInterceptor is a good way ...

  8. <转>php中heredoc与nowdoc的使用方法

    http://www.361way.com/php-heredoc-nowdoc/3008.html 一.heredoc结构及用法 Heredoc 结构就象是没有使用双引号的双引号字符串,这就是说在 ...

  9. ASP.NETCore学习记录(二) —— ASP.NET Core 中间件

    ASP.NET Core 中间件 目录: 什么是中间件 ? IApplicationBuilder 使用 IApplicationBuilder 创建中间件 Run.Map 与 Use 方法 实战中间 ...

  10. 2. GitHub远程仓库

    1. GitHub ssh-keygen -t rsa -C "youremail@example.com"        之后再用户主目录里会有隐藏的.ssh目录,里面有id_r ...