SQL之DDL

给你一囗甜甜゛ 提交于 2020-01-28 12:11:45

DDL是SQL定义语言,它主要包括三个关键字:create  ,alter , drop(数据库关键字不分大小写 ),主要操作对象 有数据库、表、索引、视图等

操作                      语句

创建数据库        create database

修改数据库        alter  database

删除数据库        drop   database

创建表              create   table

修改表              alter      table

删除表              drop      table

创建所以           create   index

删除索引           drop      index

...........           ....................

1.create

创建数据库、表、所以、视图等操作。

例子:常见一个人事表,包括字段(一个字段就是表里一列,它也是人的一个属性)有 ID,姓,名, 地址,城市。


use scott
create table person (
id  int  primary key ,
lastname char(10),
firstname  char(10),
addres  char(20),
city char(20)
)


上述指令表示在scott 数据库下面创建person表,其中person表有5个字段,id 为主键,主键的意思是能唯一标识一行记录,就像人的身份证是不同的,它能唯一标识出一个人。

通过语句

select * from  person

可以看出创建的person表,这样表的每一行就表示一个人的记录了,目前表里啥也没有,细心观察我们发现,表里每个人是缺少联系方式的

,所以我们可以网表里在添加个人联系方式,包括邮箱,电话,其中电话分手机和家庭电话。所以一共需要在添加3个字段。

 

2.alter

修改原有表的结构。

添加字段是属于修改表的结构,要用到DDL语言,运用关键字ALTER实现。

ALTER  table person add mail char(30),family_phone int,tel int  

ALTER ....  add  连用实现对表添加列操作。

使用

select * from person 

查看运行结果为

已成功添加了三个字段。

注意:随着语句的增多,不能再一个查询窗口下面直接按F5执行语句,如下图所示

语句很多,如果我们想执行图中蓝色突出部分查询语句,我们可以鼠标左键按住选中,鼠标右键下拉菜单选择执行命令,也可以选中之后按住F5快捷键来执行。

alter  add 为表增加列,如果要删除列呢,则使用alter  drop 进行操作。 上面我们增加的三个字段中,其实家庭电话号码没必要增加,有邮箱和个人电话号码就行了,现在我们发现家庭号码多余了,所以把家庭号码在已有表中删除。

alter table person drop column family_phone
select * from person 

注意删除列和添加列稍微有差别。

1 ALTER table person add mail char(30),family_phone int,tel int 
2 ALTER table person drop column family_phone 
3  drop column family_phone 

添加列ADD后面直接跟列名,如上面代码第一行所示,add 后面直接跟mail。但是第二行中drop 后面跟了column关键字的约束,表明删除的是列 ,然后 drop 删除列时必须与alter连用。上面第3行语句执行错误,

如果需要修改列的类型,也可以使用alter + alter 组合

alter table table_name alter column column_name datatype

 

3.drop

删除数据库、表、索引。

drop database  database_name

drop  table table_name(表的结构、属性以及索引也会被删除)

drop index index_name on  table_name

 

小结,DDL是对数据库、表、视图、索引的创建、修改、删除等操作,包括三个重要关键字create、alter和 drop。

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!