DDL ,定义数据的结构,如创建,修改或者删除数据。
表的创建以及管理
===============
对于数据库而言实际上每一张表都表示是一个数据库的对象,而数据库对象值得就是DDL定义的所有操作,
例如:表,视图,索引,序列,约束等等,都属于对象的操作,所以表的建立就是对象的建立,而对象的操作主要分为以下三类语法:
创建对象:create 对象名称... ;
删除对象:drop 对象名称... ;
修改对象:alter 对象名称... ;
常见的数据字段
每一张数据表都是由若干个字段组成,而每一个字段都有其对应的数据类型,在oracle中,常用的数据类型有以下几种:
字符串 VARCHAR2(n) n表示字符串所能保存的最大长度,基本上保存200个 左右的内容
整数 NUMBER(n)表示最多为n位的整数,有时候可以使用int代替
小数 NUMBER(n,m)其中m为小数位,n-m为整数位,有时候可以用flout 代替
日期 DATE 存放日期时间
大文本 CLOB 可以存储海量文字(4Gb),例如存储小说等
大对象 BOLB 存放二进制,例如:电影,MP3,图片,文字
具体语法:
create table 表名称(
字段1 数据类型 【default 默认值】,
字段2 数据类型 【default 默认值】
.......
字段3 数据类型 【default 默认值】
);
##创建一张成员表(member),保存以下信息:姓名、年龄、生日、个人简介。
create table member(
name VARCHAR2(50) default 'wuming',
age number(3),
birthday DATE default SYSDATE,
content CLOB
);
##该表创建完成之后,插入几条数据,把以下命令执行三次来插入三条相同的数据
INSERT INTO MEMBER(name,age,birthday,content) VALUES ('ZHANGSAN',20,TO_DATE('1990-08-12','yyyy-mm-dd'),'superman');
##执行以下语句来查看插入数据时默认值的情况
INSERT INTO MEMBER(age,content) VALUES(20,'superman');
表的创建是数据库的创建,使用的是create语句。
表的复制
=======
语法:
CREATE TABLE 复制表名称 AS 子查询
##复制一张只包含20部门的雇员信息的表
CREATE TABLE EMP20 AS select * from emp where deptno=20;
##查询该表
select * from TAB ;
##复制emp表的表结构,不要数据
create table EMPNULL as select * from emp where 1=2;
##查询该结构
select * from EMPNULL;
注意:该语句只有ORACLE支持,其他数据库可能存在不同的方法
为表重命名
=========
在ORACLE数据库中,所有数据实际上都是通过数据字典保存的,如;
select * from TAB;
以上就是一个数据字典,在ORACLE中,提供了四种类型的数据字典,最常用的是cdb_、dba_、user_、all_
下面演示一个user_tables 数据字典
select * from user_tables;
也就是说oracle中所有数据都是按照文件保存的,所有内容都会在数据字典中注册,所谓的修改表名称实际上就是修改一条数据。
修改表名称的方法:
rename 旧的表名称 to 新的表名称;
##修改member表为person
rename member to person;
##确认修改完成
select * from TAB;
##查询表中数据
select * from person;
注意:这种方法oracle数据库独有,了解即可。
截断表
========
在之前讲过的删除表数据的操作中,使用的是delete操作,但是这种操作本身有一个特点就是可以进行事务的回滚,也就是说删除以后并不会·立即释放数据的资源
##查看person表的内容
select * from person;
##删除表中的数据
delete from person ;
##再次查询表中的内容
select * from person ;
##回滚事务
rollback;
##再次查询表中数据
select * from person;
##截断person表
TRUNCATE table person;
##回滚事务
rollback;
##再次查询表中数据
select * from person;
注意:这种语法是oracle独有。