美文网首页
一:数据定义语言

一:数据定义语言

作者: RubyNRoses | 来源:发表于2017-02-09 11:59 被阅读0次

    一:SQL语言的分类:

    数据定义语言:关键词:CREATE, ALTER, DROP

    数据查询语言:关键词:SELECT

    数据操纵语言:关键词:INSERT,UPDATE,DELETE

    数据控制语言:关键词:GRANT,REVOKE


    二:SQL数据定义语言简介:

    SQL的数据定义语言可以创建、修改或删除数据库中的各种对象,包括表、视图、索引。

    视图是基于基表的虚表,索引是依附于基表的,因此SQL通常不提供修改视图定义或修改索引定义的操作。

    用户如果需要修改视图或索引定义,只能先把他们删除,然后重建。本节先介绍对基表和索引的数据定义语言,

    因为对于视图的定义需要使用查询语言,所以会在介绍查询语言之后再介绍对视图的操作。


    表,视图,索引的区别和联系,他们到底是些什么东西?

    ◆ 数据库中,表是基本的对象,数据库中的数据就是存储在表空间中容器的表上的。

    ◆ 视图是不占用存储空间的,视图只是基本表或者其它视图或者这两者组合的一个逻辑映像而已。

    是为了方便用户或者应用程序使用基本表中的记录而设计的。

    视图可以针对不同的用户显示表中的不同部分的记录。视图是数据库表对用户的一个窗口,以更加易读的方式展示表中的数据。

    视图分为两种。read-only 和 update。只读视图只允许查看,而 update 视图则允许通过该视图来更新或者增加基本表中的记录.

    ◆ 索引针对列的,可以在一列或者多列上建立索引。其实质就是在这些列上的值放入一个有序的列表中。

    这样把本来无序的基本表(数据库中的表是无序的,表中的记录的先后顺序可以任意。)变为有序的了。

    ※※※ 索引对于大量数据查询的时候效率提升的很明显。


    新建表:create table

    语法格式为:

    create table <表名> (<列名><数据类型>[限制条件]

    [, <列名><数据类型>[限制条件]]...);

    备注:

    ◆ 其中“[]”中的为可选内容,可写可不写;

    ◆ <表名>、<列名> 必须以字母开头,后面可以使用字母、数字、下划线,名称长度不能超过30个字符;

    ◆ 在定义 <表名>、<列名> 等名称时不要使用SQL语言的保留关键字,如:create、select、insert、user 等等;

    ◆ 所有的SQL语句在结尾处都要使用;符号来结束;

    示例:

    create table students(

    sno char(6) not null unique,

    sname char(8) not null,

    age smallint,

    sex char(1),

    address char(20)

    );

    ===================================================

    修改表:alter table

    语法格式为:

    ◆ 增加新列:

    alter table <表名> add (<列名><数据类型>[限制条件]...)

    示例:alter table students add telenum char(8);

    ◆ 修改原有列:

    alter table <表名> alter column(<列名>[<数据类型>]...)

    示例:alter table students alter column address char(30);

    alter table students alter column address char(30); 

    备注:如果列中已经存在数据了,那么就不能改变其数据类型,且不能缩短列的宽度,但可以增大列宽。

    ◆ 删除原有列:

    alter table students DROP column telenum

    ===================================================

    删除表:drop table

    语法格式为:

    drop table <表名>

    示例:drop table students;

    备注:删除表之后,与之相关的索引、视图随之消失。

    ===================================================

    新建索引:目的是使无序变有序,提高大量数据的查询效率,缩短查询时间;

    create [unique] index <索引名> on <表名>(<列名1>[ASC|DESC], <列名2>[ASC|DESC],...);

    示例:

    create index ageindex on students (age asc);

    ===================================================

    删除索引:减少操作时间,因为频繁的增删数据,系统会花费很多时间去维护索引;

    drop index <表名>.<索引名> 

    示例:

    drop index students.ageindex;

    相关文章

      网友评论

          本文标题:一:数据定义语言

          本文链接:https://www.haomeiwen.com/subject/hkjiittx.html