SQL_DDL (一)

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独有。

猜你喜欢

转载自blog.csdn.net/y805805/article/details/82933256
今日推荐