天道酬勤,恒者能胜。追求卓越,成功就会在不经意间追上你。

数据库SQL语言之SQL的数据定义语言(二)

上一篇 / 下一篇  2013-01-09 11:29:33 / 精华(1) / 置顶(1) / 个人分类:Oracle数据库

一次跟我一哥们去肯德基点了两杯可乐坐着聊天。
旁边一妹纸吃了汉堡留了一袋薯条和一个鸡腿人就走了。
我俩就觉得浪费啊!这么好的东西!
激烈思想斗争后,于是决定拿过来吃。
他啃着鸡腿,我正在往土豆条上挤番茄酱。
妹纸拿着杯可乐就上来了。。。

 

SQL的数据定义语言(Data Definition LanguageDDL),用于定义SQL模式、基本表、视图索引等结构。

1、 模式(Schema

a)        定义:在SQL中,一个SQL模式定义为基本表的集合,一个SQL模式由模式名和模式拥有者的用户名或账号确定,并包含模式中每一个元素(基本表、视图、索引等)的定义,。

b)        创建语法:创建SQL模式,就是定义了一个存储空间

Create Schema <模式名> Authorization <用户名>

c)        撤销语法:当SQL模式及其下属的基本表、视图等元素都不需要时,可以撤销

Drop Schema <模式名>  [Cascade|Restrict]

Cascade:执行Drop时,把SQL模式及其下属的基本表、视图、索引等所有元素全部撤销;

Restrict:执行Drop时,只有当SQL模式中没有任何下属元素时才能撤销SQL模式,否则拒绝执行该语句。

d)        注意:由于SQL模式这个名词学术味太重,因此DBMS厂家都用“数据库”这个名词来代替“SQL模式”这个名词,创建SQL模式就是创建数据库。使用Create Database  <数据库名>Drop Database <数据库名>

2、 基本表(Table

a)        定义:如果在系统中创建了一个数据库,那么就可以再数据库中定义基本表

b)        创建语法:创建一张基本表,创好以后只是一个空框架,可以用Insert命令加数据

Create table <基本表名>

        (<列名类型not null>

         ……

         <primary key (列名)>

         <foreign key (列名) references表名(列名)>

         <check (列名) between 20 and 35>

……)

c)        修改语法:基本表建立一段时期后,可以根据实际情况对基本结构进行修改

                        i.             增加新的列

Alter table <基本表名> add <列名><类型>

                      ii.             删除原有的列

Alter table <基本表名> drop <列名>[Cascade|Restrict]

                     iii.             修改数据类型、宽度等

Alter table <基本表名> modify <列名><类型>

d)        撤销语法:当基本表不需要时,可以撤销,撤销后,其所有数据也丢失了

Drop table <基本表名>[Cascade|Restrict]

3、 索引(Index

a)        定义:为了加快查询速度而建立的,建立后由系统自动维护。

b)        创建语法:为了更快地查询,可以创建索引

Create [unique ]index <索引名> on <基本表名>(<列名序列[ASC|DESC]>)

c)        撤销语法:当索引不需要时,可以撤销索引

Drop index <索引名>

4、 视图(View

a)        定义:SQL中,外模式的基本单位是视图,视图是从若干基本表和其他视图构造出来的表,创建一个视图,只是把视图的定义放到数据字典中,而不存储视图对应的数据,在用户需要时,才去求对应的数据,因此称为“虚表”

b)        创建语法:需要视图时,可以创建

Create view <视图名> (<列表序列>) as <select查询语句>

c)        修改语法:如果视图是从单个基本表只使用选择、投影操作导出的,并且包含了基本表的主键,这样的视图称为“行列子集视图”,是可以执行修改操作的,必须在视图定义的时候加上with check option短语。定义在多个基本表上的视图,或者使用聚合操作的视图,或者不包含主键的视图是不允许更新的。

Insert into <视图名> values(<>,…)

d)        撤销语法:不需要时,可以撤销

Drop view <视图名>

5、 域类型:SQL提供的主要数据类型

a)        分类:

                        i.             数值型:长整数int,短整数smallint,浮点数real,双精度浮点数double precision,浮点数float(n),定点数numeric(p,d)

                      ii.             字符串型:定长字符串char(n),变长字符串varchar(n)

                     iii.             位串型:二进制位串bit(n),变长二进制位串bit varying(n)

                     iv.             时间型:日期date,时间time

b)        创建语法:允许用户定义新的域,可以创建

Create Domain <域名> <基本数据类型>

c)        撤销语法:该新的域不需要时,可以撤销

Drop Domain <域名>

零测试


TAG: 零测试 视图 数据类型 数据库 索引 模式

蜗牛窝@个人空间一览 引用 删除 t_user   /   2013-01-09 17:08:01
我很想知道,那个故事算是引言还是怎么回事,貌似和数据库没关系啊。楼主想表达虾米意思?
 

评分:0

我来说两句

Open Toolbar