MySQL学习之DDL
DDL(Data Definition Language)
DDL叫做数据定义语言,顾名思义,在MySQL中使用DDL来创建、删除、修改各种对象,例如数据库、二维表、索引、存储过程、触发器、视图、约束等。
DDL有三个主要的关键字:create、drop、alter。
create(创建)
-
创建数据库
create database school default charset utf8mb4;
创建和删除数据库时,关键字database
也可以替换为schema
,二者作用相同。
utf8mb4的意思是选择utf8字符集,并且最大支持四个字节的字符。
-
创建二维表
create table tb_student ( stu_id int unsigned not null comment '学号', stu_name varchar(50) not null comment '姓名', stu_gender char(10) default 'male' not null comment '性别', stu_birth date not null comment '出生日期', stu_addr varchar(255) default '' comment '籍贯' );
not null表示非空约束,建表时所有字段最好都不要为空,因为在数据库中处理空值是非常 麻烦的,例如任何类型的值和空值做运算结果都是空值。
default表示默认值约束,''和null不是一个含义。
comment表示给该字段加注释,建议建表时应该养成加注释的习惯,提高可读性。
由于初学MySQL,暂且只例举建库建表的语句。
drop(删除)
-
删除数据库
drop database school if exists school;
如果该语句不加if exists的话,在没有该数据库时,删除就会报错,加上之后就不会报错
-
删除二维表
drop table student if exists tb_student;
如果该语句不加if exists的话,在没有该数据库时,删除就会报错,加上之后就不会报错
alter(修改)
虽然alter可以用来修改数据库的一些属性,但是一般都不会用到这种操作,下面主要是一些二 维表的修改操作。
-
在二维表中添加一个字段
alter table tb_student add column stu_tel varchar(20) not null comment '联系电话';
-
在二维表中删除一个字段
alter table tb_student drop column stu_tel;
-
在二维表中修改某个字段的属性
修改字段的数据类型
alter table tb_student modify column stu_gender char(1) not null default 'M' comment '性别';
修改字段的名称
alter table tb_studen change column stu_gender stu_sex boolean default 1 comment '性别';