码迷,mamicode.com
首页 > 数据库 > 详细

oracle基本语法(3)

时间:2019-03-09 23:38:31      阅读:219      评论:0      收藏:0      [点我收藏+]

标签:sysdate   creat   必须   基本语法   数位   使用   关联   通过   varchar2   

1、数据类型
每个列下放什么数据,列会进行控制.

常见数据类型:数值类型number,字符串类型char varchar2,日期类型date

number:数值类型,支持整数和小数。
定义: number(p,s)
用法:
p-s:整数位最多存放的位数
s>0:小数点向右取s位,四舍五入
s<0:小数点向左取s位,四舍五入
s=0:在小数点出四舍五入
注:
p的取值范围1-38
s的取值范围(-84,127)

字符串类型:char与varchar2
char:固定长度的字符串,如果不够会在后面用空格补足
varchar2:可变长度的字符串
char(10):固定存放10个字节
varchar2(10):最多存放10个字节,不足的不会用空格补足
1个字母或数字占用1个字节,1个汉字占用两个字节

日期类型:date
date:支持加减运算
常用关键字:sysdate 当前系统时间

2.约束:用来限制什么样的数据可以进入到表中,什么样的数据不能进入到表中。约束会影响DML语句执行。
约束一般都是添加在列上的,约束一般都是建议在创建时添加。

常见约束:

非空约束
唯一约束
主键约束
外键约束
检查约束(自定义约束)
①非空约束
语法:列名 数据类型 not null
如果有一列添加非空约束,那么这一列的值不能为空

例如:
创建一个公民表: 身份证号、姓名、性别、年龄、手机号
create table human(id char(18),name varchar2(30) not null,sex char(2),age number(3,0),phone varchar2(11));
②唯一约束
如果有一列添加了唯一约束,那么这列如果有值,这个值必须要唯一,不能跟其他值重复,但是可以为空值。即可以是空值,但如果有值,值必须唯一。
语法:unique(列名)
create table human(id char(18),name varchar2(30),sex char(2),age number(3,0),phone varchar2(11), unique(phone));
注:工作中看到唯一性,要向开发人员确认是否对空值进行了限制

主键约束:非空和唯一的集合
如果有一列添加了主键约束,那么这一列不能为空值,只能为唯一的数值,不能重复。
语法:primary key(列名);
create table human(id char(18),name varchar2(30) not null,sex char(2),age number(3,0),phone varchar2(11),primary key(id));
注:每个表都要求有一个主键,因为这样能够唯一确定一条记录

自定义约束(检查约束)
使用的人来制定的,通过检查条件进行控制的
语法:check(列名 运算符 ‘搜索值‘)
create table human(id char(18),name varchar2(30) not null,sex char(2),age number(3,0),phone varchar2(11),primary key(id), check( age>=18 and age<=70));

外键约束
涉及到两个表,一个父表一个字表。附表与字表有继承关系,从属关系
如果有外键约束,这个外键列的值要在父表中先有,子表数据要在父表数据中先有,一般都是编号。
语法:foreign key (子表的列名) references 父表名(父表的列名);
注:子表和父表的列名可以不一样

知识点补充:
1、删除主外键关系的表数据时,先删除子表(外键表)中的数据,然后再删除主表中的数据;(关联关系的数据)
2、创建表时,先创建父表,再创建子表,否则,提示字段不存在;

oracle基本语法(3)

标签:sysdate   creat   必须   基本语法   数位   使用   关联   通过   varchar2   

原文地址:https://www.cnblogs.com/yaoze2018/p/10503594.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!