zoukankan      html  css  js  c++  java
  • oracle基本语法(3)

    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、创建表时,先创建父表,再创建子表,否则,提示字段不存在;

  • 相关阅读:
    Java 中 Comparable 和 Comparator 接口及其简单应用(一)
    MD5加密算法失效及解决方法
    mybatis bug (二):Error updating database. Cause: java.sql.SQLIntegrityConstraintViolationException: Column 'third_party_id' cannot be null
    IDEA 显示波浪形警告信息,但是程序没有报错
    为用户注册界面添加修改密码选项
    Java 程序读取Mysql数据库时间信息,与真实时间相差 13 小时
    Http 错误:"status":404,"error":"Not Found","message":"No message available”,”path":""
    mybatis bug (一):Failed to execute goal org.mybatis.generator:mybatis-generator-maven-plugin
    归并排序及数组中逆序对的数量
    ITUNES更改备份保存路径
  • 原文地址:https://www.cnblogs.com/yaoze2018/p/10503594.html
Copyright © 2011-2022 走看看