您的位置:首页 > 数据库 > Oracle

oracle 数据库表table

2017-12-02 11:05 323 查看
一、标准的建表语法:

CREATE TABLE [schema.]table

(column datatype [DEFAULT expr] , …

);

在创建新表时,指定的表名必须不存在,否则将出错。 

使用默认值:当插入行时如果不给出值,dbms将自动采用默认值。

在用Create语句创建基本表时,最初只是一个空的框架,用户可以使用insert命令把数据插入表中。

二、数据库表字段的数据类型

字符数据类型 

CHAR:存储固定长度的字符串  

VARCHAR2 :存储可变长度的字符串

数值数据类型

NUMBER:存储整数和浮点数,格式为NUMBER(p, s)

column_name  NUMBER                 { p = 38, s = 0}

column_name  NUMBER (p)              {整数}

column_name  NUMBER (p, s)            {浮点数} 

日期时间数据类型

DATE:存储日期和时间数据 

TIMESTAMP:比DATE更精确  

LOB数据类型

BLOB:存储二进制对象,如图像、音频和视频文件

CLOB:存储字符格式的大型对象 

三、修改表

在基本表建立并使用一段时间后,可以根据实际需要对基本表的结构进行修改

增加新的列用“alter table … add …”语句

alter table emp add address varchar(20)

新增加的类不能定义为“not null”, 基本表在增加一列后,原有元组在新增加的列上的值都定义为空值。

删除原有的列用“alter table … drop…”语句,语法格式:alter table 表名 dro
4000
p column 列名

alter table emp drop column address

修改字段“alter table...modify...”

alter table emp modify(job varchar(50))

在基本表不需要时,可以使用“drop table”语句撤消。在一个基本表撤消后,所有的数据都丢弃。所有相关的索引被删除

drop table emp 

drop table emp cascade constraints

查看表的结构

Desc tablename

可以使用RENAME语句改变表名(视图),要求必须是表(视图)的所有者

RENAME old_name TO new_name

小例子:

--创建一张学生表
--字段包含学号、姓名、性别,年龄、入学日期、班级,email
CREATE TABLE STUDENT(
SNO NUMBER(6),
SNAME VARCHAR2(20),
SEX CHAR(3),
AGE NUMBER(3),
ENTERDATE DATE,
CLASSNO NUMBER(3),
EMAIL VARCHAR2(30)

);

--添加字段
ALTER TABLE STUDENT ADD(HELLO VARCHAR2(20));

--修改字段名称
ALTER TABLE STUDENT RENAME COLUMN HELLO TO HNAME;

--修改字段的数据类型
ALTER TABLE STUDENT MODIFY(HNAME CHAR(5));

--删除字段
ALTER TABLE STUDENT DROP COLUMN HNAME;

--修改表名
RENAME STUDENT TO STU;

--添加数据
INSERT INTO STU VALUES(1001,'ZHANGSAN','男',12,SYSDATE,201,'HELLO@163.COM');
COMMIT;

--删除Student表
DROP TABLE STUDENT;

--查看回收站
SELECT * FROM RECYCLEBIN;

--清空回收站
PURGE RECYCLEBIN;

--还原表
FLASHBACK TABLE STUDENT TO BEFORE DROP;

--永久删除数据库表不经过回收站
DROP TABLE STUDENT PURGE;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐