Oracle19C入门到熟练012-数据表

学习要求

有一定关系型数据的操作功底,会SQL语句

教学目标

熟练掌握Oracle数据库表设计

表分类

Oracle中数据表分2种,

1:用户自定表

  • 用户自己创建并维护的一组表

  • 包含了用户所需的信息 如:SELECT * FROM user_tables; 查看用户创建的表

2:内置表,也称数据字典

  • 由 Oracle 服务自动创建的一组表

  • 包含数据库信息

select * from user_tables;    -- 查看用户定义的表.
select * from user_objects;   -- 查看用户定义的各种数据库对象
select * from user_catalog;   -- 查看用户定义的表, 视图, 同义词和序列

表创建

语法

CREATE TABLE [schema.]table
	    (column datatype [DEFAULT expr][, ...]);

创建用户表

create table EMPLOYEE(
   ID NUMBER,
   NAME VARCHAR2(10),
   PASSWORD VARCHAR2(10)
);

注意

表名和列名:

  • 必须以字母开头

  • 必须在 1–30 个字符之间

  • 必须只能包含 A–Z, a–z, 0–9, _, $, 和 #

  • 必须不能和用户定义的其他对象重名

  • 必须不能是Oracle 的保留字

PL/SQLdeveloper中创建表

 快速建表

#创建B表,和A表一样的字段,不保存A表的数据
create table BBB as select * from AAA where 1= 0
 
 
#创建B表,和A表一样的字段,同时保存A表已有的数据,一般可以用于备份
create table BBB as select * from AAA where 1= 1

列类型

 

类型含义存储描述备注
CHAR固定长度字符串最大长度2000bytes
VARCHAR2可变长度的字符串,最大长度4000bytes可做索引的最大长度749
NCHAR根据字符集而定的固定长度字符串最大长度2000bytes
NVARCHAR2根据字符集而定的可变长度字符串最大长度4000bytes
DATE日期(日-月-年)DD-MM-YY(HH-MI-SS),经过严格测试,无千虫问题
TIMESTAMP日期(日-月-年)DD-MM-YY(HH-MI-SS:FF3),经过严格测试,无千虫问题与DATE相比较,TIMESTAMP有小数位秒信息
LONG超长字符串最大长度2G,足够存储大部头著作
RAW固定长度的二进制数据最大长度2000bytes可存放多媒体图象声音等
LONG RAW可变长度的二进制数据最大长度2G可存放多媒体图象声音等
BLOB二进制数据最大长度4G
CLOB字符数据最大长度4G
NCLOB根据字符集而定的字符数据最大长度4G
BFILE存放在数据库外的二进制数据最大长度4G
ROWID数据表中记录的唯一行号10bytes**.*.*格式,*为0或1
NROWID二进制数据表中记录的唯一行号最大长度4000bytes
NUMBER(P,S)数字类型P为整数位,S为小数位
DECIMAL(P,S)数字类型P为整数位,S为小数位
INTEGER整数类型小的整数
FLOAT浮点数类型NUMBER(38),双精度
REAL实数类型NUMBER(63),精度更高

表修改

表在创建之后,还是允许对齐进行更改,比如添加或删除表中列、修改表中列,以及对表进行重新命名和重新组织等。

数据准备

create table T_TEST6(
    ID NUMBER
);

 添加列

alter table 表名  add (列1 类型,列2 类型....)

需求:给T_TEST6表添加name列

alter table t_test6 add (NAME VARCHAR2(10));

-- 查看表结构
DESC T_TEST6;

更改列

alter table 表名  modify (列1 新类型, 列2 新类型);

需求:修改T_TEST6表中name类型为number类型

alter table t_test6 modify(name number);
DESC T_TEST6;

删除列

alter table 表名 drop (列1, 列2....)

需求:删除T_TEST6表name 列

alter table t_test6 drop (name);
DESC T_TEST6;

表重命名

alter table 旧表名 rename to 新表名;

需求:修改T_TEST6表名为T_DEMO

alter table T_TEST6 rename to T_DEMO;

表删除

需求:删除T_DEMO表

drop table t_demo;

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

浪飞yes

我对钱没兴趣~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值