MySQL -- 数据定义语言DDL

一、介绍

DDL也就是数据定义语言,其完整英文是Data Definition Language ,这是SQL五大语句之一,主要包括create、alter、drop和truncate四个关键字。
数据库的逻辑单位之一是数据表,数据表就是一个二维表,即包括x行和y列,数据越多,行数越多,列数一般是固定的,但也可以增加列数,行在数据库里叫元组,列代表该数据的属性,

二、create

create是用来创建一个数据表,其语法结构为:
create table [模式名.]表名
(
columnName1 datatype [default xpr],

);

看着比较深奥,但其实真正写的时候没那么复杂,先解释一下几个单词的意思:

  1. create table:固定写法;
  2. [模式名.]:用中括号括起来的意思是可以不写,这个一般不用写;
  3. columnName1:表示列名,也就是属性名;
  4. datetype:数据类型,表示该列保存了什么类型的数据,支持什么数据类型可以见下表;
  5. [default xpr]:默认值,可以不写,当该列传入的数据为空时,会自动赋值为默认值。
    另外,…表示可以继续按格式添加列。
    数据表支持的数据类型
    举个栗子:
    例如我要建立一张学生表,里面包括姓名和学号以及性别,性别默认男:
 create table student
(
    name varchar(5),
  	id int,
    sex varchar(2) default '男'
);

注意:创建多个列要用英文逗号隔开,字符串用单引号引起,而且,这只是一条语句,不要忘了最后添加分号!

三、alter

alter的意思是:改变、修改,也就是说由该单词引导的语句表示对数据表进行修改,主要包括:增加列定义、修改列定义、删除数据表中的某列、重命名数据表和修改列名。
①增加列定义
语法格式和建表语法格式括号部分完全相同,只是此时圆括号里的列定义是在追加到已有表的列定义后面。
例如:我要在学生表中添加一个电话号码列

alter table student
add tel varchar(11);

因为只添加了一列,所以可以省略括号,如果要添加多列,则应该用括号包围。

②修改列定义
语法格式:
alert table 表名
modify column_name datatype [defult expr] [first|after col_name];

例如:将student表中id列原本是int型修改成varchar型

alter table student
modify id varchar(12);

③删除数据表中的某列
语法:
alter table 表名
drop column_name;

例如:删除student数据表中的id列

alter table student
drop id;

④重命名数据表
语法格式:
alter table 表名
rename to 新表名

例如:将数据表student改名为stu

alter table student
rename to stu;

⑤修改列名
语法:
alter table 表名

change old_column_name new_column_name type [default expr] [first|after col_name]
注意:该语句不仅可以修改列名,也可以修改列的属性,可以和modify有一样的功能。
例如:将student表中id列名改成ids

alter table student
change id ids;

四、drop

这个引导的sql语句一般是删除数据表
语法:
drop table 表名;
例如:删除student表

drop table student;

五、truncate

该单词引导的语句功能是删除表中的所有数据,与delete语句不同,delete是删除一条数据。
语法:
truncate 表名;
例如:清空student表中所有的数据

truncate student;

到此结束!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值