一、SQL语句介绍
二、Oracle字段数据类型
数据类型 | 类型解释 |
VARCHAR2(length) | 字符串类型:存储可变的长度的字符串,length:是字符串的最大长度,默认不填的时候是1,最大长度不超过4000。 |
CHAR(length) | 字符串类型:存储固定长度的字符串,length:字符串的固定长度大小,默认是1,最大长度不超过2000。 |
NUMBER(a,b) | 数值类型:存储数值类型,可以存整数,也可以存浮点型。a代表数值的最大位数:包含小数位和小数点,b代表小数的位数。例子: |
number(6,2),输入321.456789,实际存入:321.45 。 | |
number(4,2),输入12312.345,实际存入:错误,超过存储的指定的精度。 | |
DATA | 时间类型:存储的是日期和时间,包括年、月、日、时、分、秒。例子: |
内置函数sysdate获取的就是DATA类型 | |
TIMESTAMP | 时间戳类型:存储的不仅是日期和时间,还包含了时区。例子: |
内置函数systimestamp获取的就是timestamp类型 | |
CLOB | 大字段类型:存储的是大的文本,比如:非结构化的txt文本,字段大于4000长度的字符串。 |
BLOB | 二进制类型:存储的是二进制对象,比如图片、视频、声音等转换过来的二进制对象 |
三、创建表
-- Create table
create table jalen.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--身份证
)
tablespace USERS --③
storage
(
initial 64K
minextents 1
maxextents unlimited
);
-- Add comments to the table
comment on table jalen.stuinfo --④
is '学生信息表';
-- Add comments to the columns
comment on column jalen.stuinfo.stuid -- ⑤
is '学号';
comment on column jalen.stuinfo.stuname
is '学生姓名';
复制
create table jalen.teacher (
teacherid varchar2(11) primary key, -- 老师编号
terchername varchar2(50) not null, --老师姓名
sex char(1) not null,--性别
age number(2) not null ,--年龄
post varchar2(40) default '讲师', --职称默认讲师
subject varchar2(20), -- 教学科目
idnumber varchar2(18) default '未填写' --身份证
) tablespace users storage (initial 64k minextents 1 maxextents unlimited);
复制
①处:not null 表示学号字段(stuid)不能为空。
②处:default 表示字段stuaddress不填时候会默认填入‘地址未录入’值。
③处:表示表stuinfo存储的表空间是users,storage表示存储参数:区段(extent)一次扩展64k,最小区段数为1,最大的区段数不限制。
④处:comment on table 用户名.表名 is "注释内容"; 是给表名进行注释。
⑤处:comment on column 用户名.表名.字段名 is "注释内容" ; 是给表字段进行注释
四、添加约束
-- 非空(NOT NULL)约束
ALTER TABLE jalen.teacher MODIFY subject NOT NULL;
-- 主键(PRIMARY KEY)约束
ALTER TABLE jalen.stuinfo ADD CONSTRAINT pk_stuinfo_stuid PRIMARY KEY(stuid);
-- 唯一(UNIQUE)约束
ALTER TABLE jalen.teacher ADD CONSTRAINT uk_teacher_idnumber UNIQUE (idnumber);
-- 外键(FOREIGN KEY)约束
-- dept为主表,emp为从表(外键表),emp中的外键列deptno引用dept中的主键
ALTER TABLE scott.emp ADD CONSTRAINT fk_scott_emp_teptno FOREIGN KEY(deptno) REFERENCES scott.dept(deptno);
-- 条件(CHECK)约束
--给字段年龄age添加约束,学生的年龄只能0-50岁之内的
alter table jalen.STUINFO add constraint ch_stuinfo_age check(age>0 and age<=50);
-- 限定sex的值
alter table jalen.STUINFO add constraint ch_stuinfo_sex check(sex='1' or sex='0');
-- 限定年级的范围
alter table jalen.STUINFO add constraint ch_stuinfo_grade check (grade>='1900' and grade<='2999');
复制
文章转载自数据运营与数据分析,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
【纯干货】Oracle 19C RU 19.27 发布,如何快速升级和安装?
Lucifer三思而后行
667次阅读
2025-04-18 14:18:38
Oracle RAC 一键安装翻车?手把手教你如何排错!
Lucifer三思而后行
627次阅读
2025-04-15 17:24:06
Oracle数据库一键巡检并生成HTML结果,免费脚本速来下载!
陈举超
536次阅读
2025-04-20 10:07:02
【ORACLE】记录一些ORACLE的merge into语句的BUG
DarkAthena
481次阅读
2025-04-22 00:20:37
【活动】分享你的压箱底干货文档,三篇解锁进阶奖励!
墨天轮编辑部
481次阅读
2025-04-17 17:02:24
一页概览:Oracle GoldenGate
甲骨文云技术
462次阅读
2025-04-30 12:17:56
【ORACLE】你以为的真的是你以为的么?--ORA-38104: Columns referenced in the ON Clause cannot be updated
DarkAthena
451次阅读
2025-04-22 00:13:51
火焰图--分析复杂SQL执行计划的利器
听见风的声音
408次阅读
2025-04-17 09:30:30
3月“墨力原创作者计划”获奖名单公布
墨天轮编辑部
371次阅读
2025-04-15 14:48:05
OR+DBLINK的关联SQL优化思路
布衣
348次阅读
2025-05-05 19:28:36