[学习笔记] Oracle字段类型、建表语句、添加约束

[学习笔记] Oracle字段类型、建表语句、添加约束SQL语句介绍 数据定义语言(DDL),包括 CREATE、 ALTER、 DROP等。 数据操纵语言(DML),包括 INSERT、 UPDATE、 DELETE、 SELECT … FOR UPD

[学习笔记] Oracle字段类型、建表语句、添加约束

SQL语句介绍

  • 数据定义语言(DDL),包括 CREATE、 ALTER、 DROP等。
  • 数据操纵语言(DML),包括 INSERT、 UPDATE、 DELETE、 SELECT … FOR UPDATE等。
  • 数据查询语言(DQL),包括基本查询语句、 Order By 子句、 Group By 子句等。
  • 事务控制语言(TCL),包括 COMMIT、 SAVEPOINT、ROLLBACK。
  • 数据控制语言(DCL), GRANT、 REVOKE。

字段类型

VARCHAR2(length)

字符串类型:存储可变的长度的字符串,length是字符串的最大长度,默认是1,最大不超过4000。

CHAR(length)

字符串类型:存储固定长度的字符串,length字符串的固定长度,默认是1,最大不超过2000。

NUMBER(a,b)

数值类型:存储数值类型,可以存整数和浮点型。a代表数值的最大位数,包含小数位和小数点;b代表小数的位数。例子:

number(6,2),输入123.12345,实际存入:123.12 。

number(4,2),输入12312.345,提示不能存入,超过存储的指定的精度。

DATA

时间类型:存储的是日期和时间,包括年、月、日、时、分、秒。

内置函数sysdate获取的就是DATA类型。

TIMESTAMP

时间类型:存储的不仅是日期和时间,还包含了时区。

内置函数systimestamp获取的就是timestamp类型。

CLOB

大字段类型:存储大文本,大于4000长度的字符串。

BLOB

二进制类型:存储的是二进制对象,比如图片、视频、声音等转换过来的二进制对象。

创建表

-- stuinfo学生信息表
create table STUDENT.stuinfo
(
  stuid      varchar2(11) not null,--学号
  stuname    varchar2(50) not null,--学生姓名
  sex        char(1) not null,     --性别
  age        number(2) not null,   --年龄
  classno    varchar2(7) not null, --班号
  stuaddress varchar2(100) default '未录入',  --地址
  grade      char(4) not null,     --年级
  enroldate  date,                 --入学时间
  idnumber   varchar2(18) default '身份证未采集' not null   --身份证
)
-- stuinfo存储的表空间是users
-- storage表示存储参数
-- initial表示区段(extent)一次扩展64k
-- minextents最小区段数为1
-- maxextents最大的区段数不限制
tablespace USERS
  storage
  (
    initial 64K
    minextents 1
    maxextents unlimited
  );
-- Add comments to the table 
comment on table STUDENT.stuinfo
  is '学生信息表';
-- Add comments to the columns 
comment on column STUDENT.stuinfo.stuid
  is '学号';
comment on column STUDENT.stuinfo.stuname
  is '学生姓名';
comment on column STUDENT.stuinfo.sex
  is '学生性别';
comment on column STUDENT.stuinfo.age
  is '学生年龄';
comment on column STUDENT.stuinfo.classno
  is '学生班级号';
comment on column STUDENT.stuinfo.stuaddress
  is '学生住址';
comment on column STUDENT.stuinfo.grade
  is '年级';
comment on column STUDENT.stuinfo.enroldate
  is '入学时间';
comment on column STUDENT.stuinfo.idnumber
  is '身份证号';

代码100分

添加约束

代码100分-- 创建/重建主键索引、唯一索引、外键索引
-- 把 stuid 设为主键,主键字段的数据必须是唯一性的(学号是唯一的)
alter table STUDENT.STUINFO
  add constraint pk_stuinfo_stuid primary key (STUID);
   
-- 创建/重建检查约束
-- 年龄age添加约束,学生的年龄只能0-50岁之间
alter table STUDENT.STUINFO
  add constraint ch_stuinfo_age check (age>0 and age<=50);
   
alter table STUDENT.STUINFO
  add constraint ch_stuinfo_sex
  check (sex='1' or sex='2');
   
alter table STUDENT.STUINFO
  add constraint ch_stuinfo_GRADE
  check (grade>='1900' and grade<='2999');

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/9658.html

(0)
上一篇 2023-02-03
下一篇 2023-02-03

相关推荐

  • Python str函数详解:字符串的常用操作

    Python str函数详解:字符串的常用操作Python作为一种强大的编程语言,提供了大量的字符串操作方法,便于我们对字符串进行各种处理。在本篇文章中,我们将详细介绍Python str函数的常用操作。

    2024-04-03
    25
  • Python os.path.walk:遍历目录并执行指定操作

    Python os.path.walk:遍历目录并执行指定操作Python的os.path模块提供了os.path.walk函数,该函数可以在指定目录及其子目录中遍历所有文件并执行指定操作。os.path.walk()需要3个参数,分别是起始目录、一个迭代函数、一个传递给迭代函数的参数。其基本语法如下:

    2024-03-14
    30
  • 紫金云大数据_数据架构设计

    紫金云大数据_数据架构设计一、总体设计 初来公司时,公司还没有大数据,我是作为大数据架构师招入的,结合公司的线上和线下业务,制定了如下的大数据架构路线图。 二、大数据任务开发和调度平台架构设计 在设计完总体架构后,并且搭建完h

    2023-02-17
    100
  • dml的什么语句用于更新数据_创建表语句

    dml的什么语句用于更新数据_创建表语句作者:杨涛涛 资深数据库专家,专研 MySQL 十余年。擅长 MySQL、PostgreSQL、MongoDB 等开源数据库相关的备份恢复、SQL 调优、监控运维、高可用架构设计等。目前任职于爱可生…

    2023-02-10
    104
  • 用Python来创建交互式画布

    用Python来创建交互式画布Python是一种简单易学的编程语言,拥有丰富的绘图和可视化库,可以帮助开发者生成高质量的可视化图表。交互式可视化是数据分析和数据科学的重要组成部分。在这篇文章中,我们将介绍Python如何使用交互式图形库来创建交互式画布。通过本文的学习,你将会了解到Python中的交互式绘图,可以将其用于数据分析和领域特定的可视化应用中。

    2023-12-25
    69
  • 数据库存数据时,逻辑上防重了为啥还会出现重复记录?[通俗易懂]

    数据库存数据时,逻辑上防重了为啥还会出现重复记录?[通俗易懂]在很多异常情况下,比如高并发、网络糟糕的时候,数据库里偶尔会出现重复的记录。 假如现在有一张书籍表,结构类似这样 在异常情况下,可能会出现下面这样的记录 但是,想了想,自己在处理相关数据的时候也加了判

    2022-12-16
    102
  • Python工程师:如何使用UUID生成唯一标识符

    Python工程师:如何使用UUID生成唯一标识符在现代的计算机系统中,唯一标识符用于标识一个对象或实体。通常,唯一标识符用于识别数据库表中的行,文件系统中的文件或目录以及网络中的客户端或服务器。在Python中,一个常见的方式是使用uuid模块生成唯一标识符。

    2024-04-28
    21
  • sqlplus登录时ORA-12547: TNS:lost contact[通俗易懂]

    sqlplus登录时ORA-12547: TNS:lost contact[通俗易懂] 有一些应用系统的OS用户需要与ORACLE用户具有一样的权限,可以用sqlpus登录并操作数据库。 一般是在安装ORACLE软件时与ORACLE用户一起创建,在创建此类用户时主要需要注意的目…

    2023-03-30
    119

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注