1、表:是数据库用来存储数据懂得对象,是有结构的数据的集合,是整个数据库系统的基础。概念的东西都是抽象的,其实表就是用来存储数据的。

2、表的组成

desc dept

DEPTNO:该列类型为number(2),表示该列的值只允许最大两个字符(一个英文字符或者一个数字都占一个字符,而一个汉字则占用两个字符)的数字,这个数字可以是1或者99,但不能是100(这是3个字符);NOT NULL表示插入的数据不能为空。

DNAME:该列类型为varchar2(14),表示该列允许最大14个字符。也就是部门名称不能超过14个英文字母或者7个汉字,这一列没有NOT NULL,即可以不输入任何值。

LOC:该列类型为varchar2(13),表示该列允许最大13个字符。就是地点名称不能超过13个英文字母或者6个汉字,这一列没有NOT NULL,即可以不输入任何值。

3、标的列有那些约束

数字:表示的是阿拉伯数字

文本表示的是字符串

4、oracle的约束条件

主键:主键是关系数据库中某一行或者某几列的集合,他能够唯一标识,主键不能包含空值(null),也就是说,员工的姓名可以重复,但是员工的编号是不可以重复的

外键(foreign):外键是关系型数据库表中的一列或者是某几列的组合,它的值或者与另外一个表的一列或者某几列相匹配,这一列是另一个表的主键

非空:就是这一列的值不能为空(NOT NULL)

唯一:这个列的值在表中是唯一存在的,不能重复,但是可以为空值;

条件:可以对列的值设定在某个条件范围之内,比如人的年龄不能为负,可以设置这一列的条件大于0小于200.

表的主键和唯一约束很像,有哪些区别?

表的主键是列的值为表中的唯一标识,不能为空(null),而表的唯一约束是列的值在表中是唯一存在的,可以为空值(null)。

5、如何创建表

创建表:create table Item1(Itemno number(2) not null, Itemname varchar2(20) not null);

插入公司项目的数据:insert into Items(Itemno, Itemname) values (1,'beijingxiangmu');

insert into Items(Itemno) values (1);

insert into Items(Itemno, Itemname) values (2, 'shenzhenxiangmu');

insert into Items(Itemno, Itemname) values (2, 'shanghaixiangmu');

insert into Items(Itemname) values ('suzhouxiangmu');

表中的现象:项目编号有重复,有的项目没有编号,有的项目只有编号没有项目名称

解释原因:item表中没有具体的约束来限制有效数据,例如未使用主键、外键、唯一、非空、条件约束

6、删除表:DROP TABLE ITEM;

drop table:是删除表的SQL语句关键字,后面接表的名字。

7、删除之后创建表item的时候应设置Itemno为主键,Itemname不能为空

CREATE TABLE Items (Itemno numble(2) constraint PK_Items primary key, Itemname varchar2(20) not null);

解释:create table:创建表时,必不可少的关键字,可用于开头随后跟表名;

constraint:定义表中约束所必须的关键字,后面跟约束名,而PK_Items即为Items表主键的约束       名;

primary key:主键约束关键字,表示这一列为表的主键。

插入数据

insert into Items(Itemno, Itemname) values (1,'beijingxiangmu');

insert into Items(Itemno) values (1);

insert into Items(Itemno, Itemname) values (2, 'shenzhenxiangmu');

insert into Items(Itemno, Itemname) values (2, 'shanghaixiangmu');

insert into Items(Itemname) values ('suzhouxiangmu');

8、创建带有外键的表

create table Business(

BusiNo number(2) constraint PK_Business primary key ,-----------constraint前无“,”

BusiName varchar2(32) not null,

ItemNo number(2), constraint FK_Business foreign key(ItemNo) references Items(ItemNo),-----------------------------------------------------constraint前面必须有逗号

StratTime date);

foreign key()....references 这是创建表外键必须的SQL语句关键字,并且该列需要和另外一个表的主键对应起来。这里的ItemNO列与Items表中的ItemNo列对应起来,必须在Items表中ItemNo列存在的数据才可以插入Business表中ItemNo的列数据

插入数据:

INSERT INTO BUSSINESS(BUSINO,BUSINAME,ITEMNO,STARTTIME) VALUES (1,'BOOK',1,TO_DATE('2008-08-08','YYYY-MM-DD'));

INSERT INTO BUSSINESS(BUSINO,BUSINAME,ITEMNO,STARTTIME) VALUES (2,'GLASS',1,TO_DATE('2008-09','YYYY-MM'));

INSERT INTO BUSSINESS(BUSINO,BUSINAME,ITEMNO,STARTTIME) VALUES (3,'APPLE',1,NULL);

INSERT INTO BUSSINESS(BUSINO,BUSINAME,ITEMNO,STARTTIME) VALUES (4,'SUPERMARKET',2,SYSDATE);

TO_DATE:是oracle的内部函数,可以把字符串转变为时间,这里把字符串“2008-08-08”转变为时间

报错原因:

如果是主键,则列的值不能有重复数据

如果是外键,需要确认Items表的itemno中是否存在3号这个项目,不存在则不能增加。这就可以显示出两个表关联外键所起的作用;

9、如何设置表中列值的条件和唯一性

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 NAME CHECK...:这是条件约束的关键字,插入更改的数据需要符合这些条件才能把数据提交到数据库中;

DATE:这是oracle数据库中的表列数据类型,这里为时间类型,输入数据必须为时间格式。

NUMBER(7,2):这里的number为数字类型,表示只能是7位数字,可以保持两位小数。

五种约束条件:

primary key(主键):constraint PK_name primary key

foreign key(外键):constraint FK_name foreign key(列) references items(列)

not null(非空)

unique(唯一)

check(条件):constraint CH_name check(条件)

转载于:https://blog.51cto.com/tabsang/1592093

如何创建表以及设计表需要注意什么,oracle五种限制相关推荐

  1. html5 设计 form,为HTML5表单设计表单模板

    为HTML5表单设计表单模板 AEM中的HTML5表单组件提供了将XFA表单模板渲染为HTML5格式的功能. 表单设计人员可以使用Forms Designer设计表单模板,并使用HTML5呈现功能. ...

  2. mysql状态表 历史记录设计表_常见数据库设计(2)——历史数据问题之单记录变更...

    在各种应用软件中,客户总是希望看到自己操作关键业务的历史数据(更或者是将来的历史数据,如本年计划明年的商品价格),并且要跟踪变化来源于哪一个版本.历史记录,如果我们按某次修改时,需要新增的记录条件的角 ...

  3. oracle 五种索引创建

    http://database.51cto.com/art/201010/231388.htm 要在Oracle数据库中使用索引,首先需要创建Oracle索引.下面就为您介绍创建Oracle索引的方法 ...

  4. B端——复杂业务表单设计

    作者:nick (转载已取得作者授权) 一.前言 表单是B端产品中最常用的信息录入工具,但由于B端产品业务的复杂性,表单往往呈现出字段多.类型杂等特点,增大了它的设计难度:一个糟糕的表单,会极大影响用 ...

  5. 品高工作流 - 基于InfoPath的自定义表单设计教程

    一.        摘要 InfoPath是企业级搜集信息和制作表单的工具,将很多的界面控件集成在该工具中,为企业开发表单提供了极大的方便.InfoPath文件的后缀名是.XML,可见InfoPath ...

  6. SOLIDWORKS使用EXCEL设计表批量添加配置

    SOLIDWORKS的配置功能可以在一个模型文件中创建不同的状态,通常应用于相似产品和系列化产品的设计.配置可以应用于零件.装配体.工程图.有限元分析.模拟工艺路线等很多方面. 配置的优点是能够在单一 ...

  7. HTML 自学笔记(HTML框架+表单设计)

    HTML框架 什么是框架:将浏览器划分成不同部分,每一部分加载不同的网页,用以实现在同一浏览器窗口中加载多个页面的效果. <frameset> 划分框架标记. 语法格式:<frame ...

  8. bootstrap学习笔记(2)表单设计

    1.表单设计 表单主要功能是用来与用户做交流的一个网页控件,良好的表单设计能够让网页与用户更好的沟通.表单中常见的元素主要包括:文本输入框.下拉选择框.单选按钮.复选按钮.文本域和按钮等. (1) 基 ...

  9. 会签 数据库表设计_关于OA流程相关数据表的设计

    一.前言 近期有些同学问起流程的表设计,终于有时间能写下博客,并整理下之前所发布的文章. 之前的文章讲到的表设计,没有给全且还存在漏洞,在这里向各位同学表示歉意.这是我个人最新领悟的一些流程思维,欢迎 ...

  10. vba九九乘法表代码_用五种方法利用EXCEL制作九九乘法表

    昨天因贪玩了一下,一天都和同事在外面玩,计划就是这一天让自己啥也不做,一天玩下来,觉得好累,原来玩也是很累的.既然在外面放松了一天了,今天就把昨天的九九乘法表的制作方法给补上来.事实上九九乘法表的制作 ...

最新文章

  1. Linux CentOS服务启动
  2. 设置ios6中UIViewController旋转
  3. HTML网页模版/DTD有三种类型
  4. 转-用qemu-nbd实现mount虚拟硬盘到Host上的功能
  5. SpringBoot Redis分布式锁
  6. 广东发布全国首批“网络视听产业试点机构”名单 虎牙获001号授牌
  7. 《关于莉莉周的一切》
  8. ideahtml里面没有提示_抖音上爆火的苹果充电提示音,安卓手机也可以设置了!!...
  9. linux系统批量杀掉进程命令,[Linux]使用awk批量杀进程的命令
  10. Yii DataProvider
  11. Asp.Net基于forms的验证机制,记录一下...
  12. uniapp仿京东地址选择插件
  13. html动画 箭头线条,html – 悬停时动画的箭头线
  14. 3.30团体天梯赛后个人感想
  15. 高斯勒让德求积公式matlab通用程序,数值分析——Gauss-Legendre 求积分(Matlab实现)...
  16. swpuctf 2021
  17. 人生最难的事情是什么?
  18. PDF如何进行免费合并?
  19. c3p0连接池使用完毕后连接返还
  20. VUE中使用百度地图BaiduMap

热门文章

  1. Creo二次开发:参数化设计
  2. Tom猫爱吃喝_Python面向对象“又“入门
  3. 2009年中国直销业9大主旋律
  4. accuracy.eval
  5. 小滴课堂-独孤求败-架构大课十八式-xiaoecf
  6. java 生成随机加减乘除_用Java随机生成四则运算
  7. Unity3D简单换装系统
  8. php搭建简单表格的制作方法,最简单的表格制作方法技巧
  9. 用好这些小工具,基金可以更赚钱
  10. 字符串模式匹配——BF算法