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');

[学习笔记] Oracle字段类型、建表语句、添加约束的更多相关文章

  1. oracle的建表语句

    oracle数据库的建表语句,具体语法如下: CREATE TABLE tablename (column_name datatype [null,not null], column_name dat ...

  2. oracle基本建表语句

    oracle基本建表语句 2010-09-20 10:37:33|  分类: 数据库 |  标签:数据库  oracle  |字号 订阅 --创建用户create user han identifie ...

  3. 【SQL】ORACLE在sqlplus中使用spool方式生成建表语句

    在实际生产中有时我们需要将一张表的数据导入到另外一张表,如果有PLSQL,我们可以通过PLSQL工具将数据导出为sql脚本,然后再在另外一个数据库中执行这个脚本.但有时在实际生产中我们没有PLSQL这 ...

  4. 数据库转换Mysql-Oracle之建表语句

    Mysql建库语句(导出的): DROP TABLE IF EXISTS `tablename`; CREATE TABLE `tablename` ( `C_DI_CDE` varchar(40) ...

  5. 基于表的数据字典构造MySQL建表语句

    表的数据字典格式如下: 如果手动写MySQL建表语句,确认麻烦,还不能保证书写一定正确. 写了个Perl脚本,可快速构造MySQL脚本语句. 脚本如下: #!/usr/bin/perl use str ...

  6. oracle字段类型

    oracle 字段类型CHAR    固定长度字符串    最大长度2000    bytes              VARCHAR2    可变长度的字符串    最大长度4000    byt ...

  7. Hadoop学习笔记—5.自定义类型处理手机上网日志

    转载自http://www.cnblogs.com/edisonchou/p/4288737.html Hadoop学习笔记—5.自定义类型处理手机上网日志 一.测试数据:手机上网日志 1.1 关于这 ...

  8. 脚本工具---自动解析mysql建表语句,生成sqlalchemy表对象声明

    常规建表语句: CREATE TABLE `test_table` ( `id` int(11) NOT NULL, `name` char(64) NOT NULL, `password` char ...

  9. postgreSQL生成建表语句

    参考博文:https://blog.csdn.net/xiaofengtoo/article/details/84395199 修复了其函数中的bug,支持生成包含:字段(支持数组类型字段).约束.索 ...

随机推荐

  1. 为Python的web框架编写前端模版的教程

    虽然我们跑通了一个最简单的MVC,但是页面效果肯定不会让人满意. 对于复杂的HTML前端页面来说,我们需要一套基础的CSS框架来完成页面布局和基本样式.另外,jQuery作为操作DOM的JavaScr ...

  2. iphone4 与iphone5适配

    转:http://www.cnblogs.com/ygm900/archive/2013/05/24/3098015.html iphone4/4s 应用程序升级适配 iphone5 的方法有很多,而 ...

  3. [BUUCTF]PWN11——get_started_3dsctf_2016

    [BUUCTF]PWN11--get_started_3dsctf_2016 题目网址:https://buuoj.cn/challenges#get_started_3dsctf_2016 步骤: ...

  4. HSPICE 电平触发D触发器仿真

    一. HSPICE的基本操作过程 打开HSPICE程序,通过OPEN打开编写好的网表文件. 按下SIMULATE进行网表文件的仿真. 按下AVANWAVES查看波形图(仿真结果). 二. 网表文件结构 ...

  5. git 省略 commit message

    每次提交使用 git commit --allow-empty-message --no-edit 也可以设置命令别名 git config --global alias.nocommit " ...

  6. CF803B Distances to Zero 题解

    Content 有一个长度为 \(n\) 的序列 \(a_1,a_2,a_3,...,a_n\),求每个数与它最近的 \(0\) 的距离(\(0\) 的距离为 \(0\)). 数据范围:\(1\leq ...

  7. JSONP是个嘛玩意?解决跨域问题?

    浏览器同源策略 限制js向 其他域名发起请求,浏览器调试报错如下 JSONP 是一种解决方法 浏览器不会阻止带有src属性的标签发请求.所以可以常用的 <script src="xxx ...

  8. Tornado 之 WebSocket

    7.3 WebSocket WebSocket是HTML5规范中新提出的客户端-服务器通讯协议,协议本身使用新的ws://URL格式. WebSocket 是独立的.创建在 TCP 上的协议,和 HT ...

  9. AcWing 1204. 错误票据

    题目: 某涉密单位下发了某种票据,并要在年终全部收回. 每张票据有唯一的ID号. 全年所有票据的ID号是连续的,但ID的开始数码是随机选定的. 因为工作人员疏忽,在录入ID号的时候发生了一处错误,造成 ...

  10. JAVA整合kaptcha生成验证码 (字母验证码和算术验证码)

    引入maven <!--图片验证码--> <dependency> <groupId>com.github.penggle</groupId> < ...