[学习笔记] 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 '身份证号';

添加约束

-- 创建/重建主键索引、唯一索引、外键索引-- 把 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');
(0)

相关推荐

  • [学习笔记] Oracle基础增删改查用法

    查询 select *|列名|表达式 from 表名 where 条件 order by 列名select t.* from STUDENT.STUINFO t where t.stuname = ' ...

  • Mysql数据库的索引类型有哪些?

    Java编程语言是一种简单.面向对象.分布式.解释型.健壮安全.与系统无关.可移植.高性能.多线程和动态的语言.如今Java已经广泛应用于各个领域的编程开发. MySQL索引类型: 1.普通索引 最基 ...

  • MySQL性能优化:MySQL中的隐式转换造成的索引失效

    数据库优化是一个任重而道远的任务,想要做优化必须深入理解数据库的各种特性.在开发过程中我们经常会遇到一些原因很简单但造成的后果却很严重的疑难杂症,这类问题往往还不容易定位,排查费时费力最后发现是一个很 ...

  • sqlserver语句用法

    语句中包含增删查改,字段自增的修改. 图片素材来源网络 语句命令: 数据表 命令行,详解 --创建数据库suu create database suu --使用数据表suu use suu --创建表 ...

  • (1条消息) MySQL 有这一篇就够(呕心狂敲37k字,只为博君一点赞!!!)

    文章目录 前言 一.SQL简述 1.SQL的概述 2.SQL的优点 3.SQL的分类 二.数据库的三大范式 三.数据库的数据类型 5.1 YEAR类型 5.2 TIME类型 5.3 DATETIME类 ...

  • MySQL快速回顾:数据库和表操作

    前提要述:参考书籍<MySQL必知必会> 利用空闲时间快速回顾一些数据库基础. 4.1 连接 在最初安装MySQL,可能会要求你输入一个管理登录(通常为root)和一个口令(密码). 连接 ...

  • 数据库 MySQL基础

    数据库 MySQL 健康码 公安系统 支付宝微信支付 酒店 12306 买票 网易云 收藏歌曲 手机通话记录 地铁卡余额 吃鸡 .王者荣耀 皮肤 装备 Mysql 5.7当前主流数据库 mysql 被 ...

  • 六爻学习笔记:日辰跟月建对卦的作用和异同

    核心提示:最近学习六爻预测,以前一直弄不明白日辰,月建对六爻而言哪个重要,最近周易文化天地笔者经过有易学师兄指点和重读<增删卜易>月将章,和日辰章得出一句心得:日辰是一卦之主宰,月建一月之 ...

  • 学习笔记|管建刚“故事力”训练之说话力

    上了三年级,家长和孩子都开始愁的就是作文.班上几个孩子可以洋洋洒洒写下好几页,而大部分孩子都在为作文的字数发愁. 管建刚老师说得很实在:"解决孩子的作文问题,就要先解决孩子的字数问题.&qu ...

  • 学习笔记|管建刚《故事力训练》之捕捉心里的话

    怎么让学生作文字数多起来,上一讲说了方法一:让作文中的人开口说话.但是我们会发现,有些时候真的不需要说话怎么办? 方法二:捕捉出心里的话 第一步,现场体验. 播放有趣的视频,学生去体验自己为什么会笑. ...

  • 学习笔记|管建刚《故事力训练》之事情不等于作文

    前面两讲说到了如何增加字数.这一讲中,重点来说说生活中的事情和作文的区别. 一.事情里的时间≠作文里的时间 事情里的时间,生活里的时间是同样的节奏:而作文里的时间是有快慢的.几年.几十年.上百年.百万 ...

  • 识人辨音:怎样解不同类型的人·学习笔记

    不同的人,能接受的沟通风格可能完全不一样,有的人喜欢直截了当,有的人喜欢委婉一点.只有摸清楚了对他有效的那种沟通风格,那我们的沟通效率才能大大提高. 我们人有五种模式:控制型.表现型.谨慎型.温和型和 ...

  • Activiti工作流学习笔记(三)——自动生成28张数据库表的底层原理分析

    原创/朱季谦 网上关于工作流引擎Activiti生成表的机制大多仅限于四种策略模式,但其底层是如何实现的,相关文章还是比较少,因此,觉得撸一撸其生成表机制的底层原理. 我接触工作流引擎Activiti ...

  • 怎么在sql server建表时设置时间字段自动生成值

    怎么在sql server建表时设置时间字段自动生成值

  • 学习笔记|论文关键词的类型与提取方法

        本文为科研写作研究所编辑部原创. 目前,仍有很多人认为,从论文题目.正文.小标题部分选取3-5个词语,便可组成关键词.严格来说,这是一种错误的观念与行为,因为他们从未深入思考过关键词究竟应该是 ...