目录
DDL(Data Definition Language),即数据定义语言,用来定义数据库对象(数据库,表,字段)。
一、数据库操作
-
查询数据库
show databases; #查询所有数据库
select database(); #查询当前所使用的数据库
-
创建数据库
create database [if not exists] 数据库名 [character set 字符集] [collate 排序规则];
注:[ ]内的内容可以省略。
上述语句中紫色字体为固定内容,黑色字体改为数据库中的信息。
if not exists意为如果不存在该数据库的话则创建,存在该数据库则不创建。当缺少if not exists且已存在该数据库时,会报错:Can't create database 'test'; database exists(不能创建名为test的数据库,数据库已存在)。详情如下图所示。
character set 字符集:为数据库指定字符集。当缺少character set 字符集时采用默认字符集。MySQL8.0版本之前默认字符集为latin1,从MySQL8.0版本开始数据库的默认字符集为utf8mb4。
排序规则概念:是指对指定字符集下不同字符的比较规则。排序规则有以下特征:它和字符集(CHARSET
)相关;每种字符集都有多种它支持的排序规则;每种字符集都会默认指定一种排序规则为默认值。
-
删除数据
drop database [if exists] 数据库名;
注:[ ]内的内容可以省略。
上述语句中紫色字体为固定内容,黑色字体改为数据库中的信息。
if exists意为如果存在该数据库的话则删除,不存在该数据库则不删除。当缺少if exists且不存在该数据库时,会报错: Can't drop database 'blog'; database doesn't exist(不能删除名为blog的数据库,数据库不存在)。详情如下图所示。
-
使用数据库
use 数据库名;
二、表操作
-
查询当前数据库所有表
show tables;
-
查询表的结构
desc 表名 ;
注:desc可以换成describe,desc是describe的缩写。 -
查询指定表的建表语句
show create table 表名 ;
-
创建表
create table 表名 (
字段1 字段1数据类型 [ comment 字段1注释] ,
字段2 字段2数据类型 [ comment 字段2注释] ,
字段3 字段3数据类型 [ comment 字段3注释] ,
……
字段n 字段n数据类型 [ comment 字段n注释]
)[ comment 表注释] ;注:[ ]内的内容可以省略。
上述语句中紫色字体为固定内容,黑色字体改为数据库中的信息。
※最后一个字段后面没有逗号 -
修改表名
alter table 旧表名 rename 新表名 ;
-
向表中添加字段
alter table 表名 add 字段名 字段的数据类型 [ comment 注释] [约束] ;
注:[ ]内的内容可以省略。约束用于规定表中的数据规则。
-
修改表中字段
修改字段的数据类型
alter table 表名 modify 字段名 新数据类型 ;
修改字段名和数据类型
alter table 表名 change 旧字段名 新字段名 新字段名的数据类型 [ comment 注释] [约束] ;
注:[ ]内的内容可以省略。约束用于规定表中的数据规则。
-
删除表中字段
alter table 表名 drop 字段名 ;
-
删除表
drop table 表名 ;