MySQL系列-DDL语句
运维少年 运维少年
系列文章说明
MySQL系列文章包含了软件安装、具体使用、备份恢复等内容,主要用于记录个人的学习笔记,主要使用的MySQL版本为5.7.28,服务器系统版本为CentOS 7.5。本章节为数据库DDL语句。
DDL语法
DDL(数据定义语言)主要用于数据库和表的管理。主要语法为drop、alter和create。
DDL CREATE
create主要用于创建数据库或者表。
- 创建数据库
语法:create database 数据库名 charset 字符集;
create database yunweidb charset utf8mb4;
- 查看所有数据库
show databases;
- 查看创建数据库语句
show create database yunweidb;
- 创建表
语法:create table 数据库.表名(列名1 数据类型,列名2 数据类型...) engine=引擎 charset=字符集;
create table yunweidb.t1(id int,sname varchar(20)) engine=innodb charset='utf8mb4';
- 查看表结构
desc yunweidb.t1;
- 查看数据库中的所有表
use yunweidb;
show tables;
- 查看建表语句
show create table t1;
DDL DROP
DROP主要是用于删除数据库或表。
- 删除数据库
语法:drop database 数据库名称;
drop database yunweidb;
- 删除表
语法:drop table 表名;
drop table t1;
DDL alter
alter主要用于对数据库和表进行修改。
MySQL中,DDL语句对表进行创建、删除、修改表等DDL操作时,是需要锁元数据表的,锁定时,所有对该表修改类的命令都无法正常运行,所以在对于大表、业务较繁忙的表进行线上DDL操作时,要谨慎。
- 修改数据库
语法:alter database 数据库表名 属性;
alter database yunweidb charset utf8;
-
查看表结构
- 增加列
语法:alter table 表名 add column 列名 数据类型 属性 ;
alter table t1 add column phone char(11);
-
查看表结构
- 修改列
语法:alter table 表名 modify 列名 属性;
alter table t1 modify phone bigint;
- 查看表结构
注意
修改列时,应该把原先的属性加上,以免属性丢失
- 删除列
语法:alter table 表名 drop 列名;
alter table t1 drop sname;
- 查看结构