如何创建表以及设计表需要注意什么,oracle五种限制
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);
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号这个项目,不存在则不能增加。这就可以显示出两个表关联外键所起的作用;
COMPNO NUMBER(4) CONSTRAINT PK_COMP PRIMARY KEY,
COMPMODEL VARCHAR2(64) UNIQUE,
PRICE NUMBER(7,2) CONSTRAINT CH_PRICE CHECK(PRICE>0 AND PRICE<30000),
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(列)
转载于:https://blog.51cto.com/tabsang/1592093
如何创建表以及设计表需要注意什么,oracle五种限制相关推荐
- html5 设计 form,为HTML5表单设计表单模板
为HTML5表单设计表单模板 AEM中的HTML5表单组件提供了将XFA表单模板渲染为HTML5格式的功能. 表单设计人员可以使用Forms Designer设计表单模板,并使用HTML5呈现功能. ...
- mysql状态表 历史记录设计表_常见数据库设计(2)——历史数据问题之单记录变更...
在各种应用软件中,客户总是希望看到自己操作关键业务的历史数据(更或者是将来的历史数据,如本年计划明年的商品价格),并且要跟踪变化来源于哪一个版本.历史记录,如果我们按某次修改时,需要新增的记录条件的角 ...
- oracle 五种索引创建
http://database.51cto.com/art/201010/231388.htm 要在Oracle数据库中使用索引,首先需要创建Oracle索引.下面就为您介绍创建Oracle索引的方法 ...
- B端——复杂业务表单设计
作者:nick (转载已取得作者授权) 一.前言 表单是B端产品中最常用的信息录入工具,但由于B端产品业务的复杂性,表单往往呈现出字段多.类型杂等特点,增大了它的设计难度:一个糟糕的表单,会极大影响用 ...
- 品高工作流 - 基于InfoPath的自定义表单设计教程
一. 摘要 InfoPath是企业级搜集信息和制作表单的工具,将很多的界面控件集成在该工具中,为企业开发表单提供了极大的方便.InfoPath文件的后缀名是.XML,可见InfoPath ...
- SOLIDWORKS使用EXCEL设计表批量添加配置
SOLIDWORKS的配置功能可以在一个模型文件中创建不同的状态,通常应用于相似产品和系列化产品的设计.配置可以应用于零件.装配体.工程图.有限元分析.模拟工艺路线等很多方面. 配置的优点是能够在单一 ...
- HTML 自学笔记(HTML框架+表单设计)
HTML框架 什么是框架:将浏览器划分成不同部分,每一部分加载不同的网页,用以实现在同一浏览器窗口中加载多个页面的效果. <frameset> 划分框架标记. 语法格式:<frame ...
- bootstrap学习笔记(2)表单设计
1.表单设计 表单主要功能是用来与用户做交流的一个网页控件,良好的表单设计能够让网页与用户更好的沟通.表单中常见的元素主要包括:文本输入框.下拉选择框.单选按钮.复选按钮.文本域和按钮等. (1) 基 ...
- 会签 数据库表设计_关于OA流程相关数据表的设计
一.前言 近期有些同学问起流程的表设计,终于有时间能写下博客,并整理下之前所发布的文章. 之前的文章讲到的表设计,没有给全且还存在漏洞,在这里向各位同学表示歉意.这是我个人最新领悟的一些流程思维,欢迎 ...
- vba九九乘法表代码_用五种方法利用EXCEL制作九九乘法表
昨天因贪玩了一下,一天都和同事在外面玩,计划就是这一天让自己啥也不做,一天玩下来,觉得好累,原来玩也是很累的.既然在外面放松了一天了,今天就把昨天的九九乘法表的制作方法给补上来.事实上九九乘法表的制作 ...
最新文章
- Linux CentOS服务启动
- 设置ios6中UIViewController旋转
- HTML网页模版/DTD有三种类型
- 转-用qemu-nbd实现mount虚拟硬盘到Host上的功能
- SpringBoot Redis分布式锁
- 广东发布全国首批“网络视听产业试点机构”名单 虎牙获001号授牌
- 《关于莉莉周的一切》
- ideahtml里面没有提示_抖音上爆火的苹果充电提示音,安卓手机也可以设置了!!...
- linux系统批量杀掉进程命令,[Linux]使用awk批量杀进程的命令
- Yii DataProvider
- Asp.Net基于forms的验证机制,记录一下...
- uniapp仿京东地址选择插件
- html动画 箭头线条,html – 悬停时动画的箭头线
- 3.30团体天梯赛后个人感想
- 高斯勒让德求积公式matlab通用程序,数值分析——Gauss-Legendre 求积分(Matlab实现)...
- swpuctf 2021
- 人生最难的事情是什么?
- PDF如何进行免费合并?
- c3p0连接池使用完毕后连接返还
- VUE中使用百度地图BaiduMap