oracle初识005 列类型和建表

本文介绍了数据库表设计的基础知识,包括不同类型字段的选择如Varchar2与Char的区别,Number类型的精度与标度设定,以及Date类型的应用。此外还涵盖了表结构的创建、修改和优化方法,例如分表技巧和DDL操作指令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

建表时字段的选择:

Varchar2(n) 变长类型,最长4000个字符
Char(n) 定长,最长2000个字符

变长与定长的区别:

Varchar2(n) ,char(n) 为例, 2者最多能存n个字符, 不同在于,char(n)
,如果实际只存1个字符,仍占据n个字符的空间 Varchar(n) ,如果实际存在1字符,占据1+[1-2]字符 Char性能高一些,
开发优化实例:在一些大的网站上, 用户名一般允许6-16字符 Char(16)

??如果用户表还有个人简介字段,少的10来字,多的1000字,
用char太浪费了,怎么办?

答:竖直分表,把表的不常用及低效率字段,拆出来,放到另一张表.

Number类型 ,可以存整数和浮点数
Number(m,n) m:是总位数(精度),是小数点后面的位数(标度)
Number(5,2) , 999.99

Date 日期类型 :年月日
(精确到秒,存储时间戳)
时间戳是指1970/01/01/00:00:00到当前瞬间的秒数

建表语法:

建表就是一个声明列的过程

典型语法:

Create table 表名 ( 列名称 列类型, 列名称 列类型, … );

查看表结构:

Desc 表名

修改表:

删除列: alter table 表名 drop column 列名
例: alter table employee drop intro;

增加列: alter table 表名 add (列名 列类型)

改列: alter table 表名 modify (列名 新列类型)

-注意:在mysql中是有: 改列同时改名 alter table 表名 change 原列名 新列名 列类型)

修改字段的名:alter table 表名 rename column (原列名) to (新列名)

改表名: alter table 表名 rename to 新表名

快速复制一张表:
Create table 表名 as select */字段 from 另一张表

??我只是想复制表结构,不想要数据??
可以在where后加一个恒为假的条件

例:create table empcopy2 as select * from employer where 2<1;

删除表: drop table 表名

清空表: truncate table 表名

–添加时如果有数据不能设置not null.
–删除不可在sys下使用。
–这些都是在数据库层面上,针对表和表结构操作,属于ddl

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值