今天为大家分享一下关键数据库里面的数据类型和约束。我们都知道国家要讲法律,干什么事情都要遵守法律,比如小的时候你上学的时候要遵守课堂纪律。不能迟到和早退,同样的我们在数据库中创建一些表、或者查询一些表的时候,也需要遵守数据库里面的一些规则和约束。因为只有这样才能保证数据的统一性和良好的管理。不然没有规矩怎么成方圆呢?好了,废话我们不多说,接下来我们看看数据库中的常用的一些数据类型和约束有哪些?

首先我们说数据类型:

char 表示定长,固定长度,比如char(5)表示可以储存的字符长度不能超过5 如果实际只有3个,剩余的2个会用空格填补,查询效率比较高。
varchar()表示可变长度,比如varchar(10) 如果实际只有3个字符,只存放3个字符,查询效率比char低。
varchar2()表示可变长度,和varchar()的用法一至。为了向上向下兼容而设计出来的类型。
number()表示数字类型
numer(3)表示最长能存储3位长度的数字 取值范围(0-999)
number(5,2)表示最长能存储5位长度的数字,但是必须要满足2位小数,比如 (0.0 - 999.00)

然后我们再看下数据库中的约束:

1.主键(primary key) 默认有唯一和非空属性。主键就好比人的身份证一样,学生的学号。我们通过主键智能找到一条数据。
2.外键(references) 外键中的数据来源于另外一张表中的主键。也可以说外键的数据由主键获得的。
3.默认(default)如果在建表时给某列定义默认值,如果往表中插入数据时,不给他默认值 就会使用默认值。
4.非空(not null)存储的数据不可以为空。
5.唯一(unique)存储的数据不能相同。
6.检查(check)检查数据是否满足要求。

最后附图一张,仅供参考哈!

oracle数据库数据类型和约束的更多相关文章

  1. Oracle数据库五种约束

    oracle 数据库 数据表的5个约束类型:1.主键约束2.外键约束3.唯一约束4.检查约束5.非空约束 主键约束:用来唯一标示表中的一个列,一个表中的主键约束只能有一个,但是可以在一个主键约束中包含 ...

  2. MySql数据库数据类型及约束介绍

    1,MySql中数据类型介绍 整型及浮点型 数据类型 存储范围 字节 TINYINT 有符号值:-2^到2^7-1 无符号值:0到2^8-1 2 SMALLINT 有符号值:-2^15到2^15-1 ...

  3. [转]Oracle数据库中的约束

    SQL 约束 约束用于限制加入表的数据的类型. 可以在创建表时规定约束(通过 CREATE TABLE 语句),或者在表创建之后也可以(通过 ALTER TABLE 语句). 我们将主要探讨以下几种约 ...

  4. oracle数据库查询全系整理

    oracle数据库方面的知识到今天已经整理了12篇.当然,这不是终点,这只是一个开始,希望我写的文章可以帮助更多初学数据库的童鞋快速上手,如果你觉得文章对你有帮助,那么恭喜你已经入门了,数据库里面的知 ...

  5. 关于oracle数据库(6)约束

    约束类型 1.主键primary key(一般是一个表的标志,所以一个表只能有一个主键:主键不能为空,不能重复) 2.唯一键unique(不能重复) 3.外键foreign key 4.检查约束che ...

  6. oracle数据库中提供的5种约束

    约束作用:用来保持数据的完整性,防止无效数据进入到数据库中.oracle数据库中提供的5种约束,都是限定某个列或者列的组合的.1.主键约束(PRIMARY KEY):在一个表中能唯一的标识一行.主键可 ...

  7. 【转】oracle数据库NUMBER数据类型

    原文:http://www.jb51.net/article/37633.htm NUMBER ( precision, scale)a)  precision表示数字中的有效位;如果没有指定prec ...

  8. Oracle数据库之数据类型

    Oracle数据库之数据类型 Oracle基本数据类型(亦叫内置数据类型,internal datatypes或built-in datatypes)可以按类型分为:字符串类型.数字类型.日期类型.L ...

  9. 改写了禁用或启用oracle数据库的约束的存储过程

    改写了网上某位大侠(最开始的源头是哪位没记住)写的禁用或启用oracle数据库所有约束的存储过程,增加了异常控制,以使发生异常时也可以执行下去. –调用过程: 执行前先 set serveroutpu ...

随机推荐

  1. input type="file" accept="image/*"上传文件慢的问题解决办法

    相信大家都写过<input type="file" name="file" class="element" accept=" ...

  2. jenkins获取测试报告展示的方法

    1.写好了可以生成报告的python文件 2.在jenkins里下载 HTML Publisher plugin  插件 系统管理--管理插件--选择[可选插件]tab---搜索HTML Publis ...

  3. 【转】用Jmeter进行接口压力测试的步骤

    1.双击jmeter.bat 2.右键点击测试规划à添加àThreadsà线程组,此时在测试规划下边显露出来线程组选项.点击该选项,显露出来线程组界面.参变量线程数表达若干个烦请,参变量Ramp-Up ...

  4. Spring缓存源码剖析:(一)工具选择

    从本篇开始对Spring 4.3.6版本中Cache部分做一次深度剖析.剖析过程中会对其中使用到的设计模式以及原则进行分析.相信对设计内功修炼必定大有好处. 一.环境及工具 IntelliJ IDEA ...

  5. python写一个能生成三种一句话木马的脚本

    代码: import time import os from threading import Thread import optparse def aspyijuhua(): try: juy=op ...

  6. 如何卸载win10的自带应用

    win10自带了好多应用,有些看起来不错,其实用起来不太方便哈(我的个人感觉),我们都更喜欢第三方应用,所以我们就来看看如何卸载这些自带应用.如图,是卸载完成后的Windows PowerShell: ...

  7. Angular4中利用promise异步加载gojs

    GoJS是一个实现交互类图表(比如流程图,树图,关系图,力导图等等)的JS库 gojs提供了angular的基本例子,不过是离线版 https://github.com/NorthwoodsSoftw ...

  8. Python 中的进程与 锁

    理论知识 操作系统背景知识 顾名思义,进程即正在执行的一个过程.进程是对正在运行程序的一个抽象. 进程的概念起源于操作系统,是操作系统最核心的概念,也是操作系统提供的最古老也是最重要的抽象概念之一.操 ...

  9. javascript中的类方法、构造方法、原型方法的对比

    如果你已经接触js很久了,那么应该可以看看我总结的是否正确,如果你刚开始学习,那么通过我的总结,你可以更快的区别他们,记得我刚接触js时,这一块反正是模糊了很久! 1,长相的区别: function ...

  10. leetcode896

    class Solution { public: bool isMonotonic(vector<int>& A) { ) { return true; } bool GetDif ...