一、MySQL语言分类
1.DDL数据定义语言:用来定义数据库对象(数据库,表,字段);
2.DML数据操作语言:用来对数据表中的数据进行增,删,改操作;
3.DQL数据查询语言:用来查询数据库中表的记录;
4.DCL数据控制语言:用来创建数据库用户,控制数据库的访问权限。
二、DDL语句
1、DDL语句数据库操作
查看数据库:
# 查看当前用户可操作的所有数据库
show databases;
创建新数据库:
# 创建新数据库
# MySQL8中创建的数据库默认编码是'utf8mb4'格式
# ps:方括号中的内容可以省略,不影响语句
create database [if not exists] 数据库名称 [default charset utf8mb4];
选择数据库:
# 选择数据库
# 选择数据库之后可以在数据库中进行数据库表的操作
use 数据库名称;
# 如果在进行很多操作后无法确定自己在哪个数据库下,则可以用以下代码查看:
select database();
删除数据库:
# 删除数据库
drop database;
2、DDL语句表操作
查看表:
# 查看表
# 查看当前被选中的数据库中的所有表
# 数据表中包含若干列,每列需要明确列中存储的数据类型,如字符串、日期时间、证书、浮点数等。
show tables;
创建表:
# 创建表
# ps: col_name(列名称);datatype(数据类型)。
create table 表名称 (
col_name datatype [comment '注释'],
col_name datatype
)[character set 编码格式];
查看表结构:
# 插看表结构
# 查看表结构有三方式
describe 表名;
desc 表名;
show create table 表名;
删除表:
# 删除表
# 删除表的时候,表中的全部数据也都会被删除
drop table [if exists] 表名;
截断表:
# 截断表
# 删除表之后会创建一个空表,表格式和之前那个一样但数据都被抹除了
truncate table 表名;
创建和某表结构一样的表:
# 创建和某表结构一样的表
create table 表名 like 要复制的表;
# 当要复制的表不在当前数据库时
create table 表名 like 数据库名.要复制的表;
3、DDL数据操作
添加列:
#为表添加列
alter table 表名 add [column] 字段名 类型;
修改列的类型:
# 修改表中的列的类型
alter table 表名 modify [column] 字段名 类型;
修改列名称和类型:
# 修改列名称和类型
alter table 表名 change [column] 原字段名 新字段名 新列类型 [comment 注释] [约束];
删除列:
# 删除列
alter table 表名 drop [column] 字段名;
修改表名:
# 修改表名
rename table 旧名称 to 新名称;
# 或者下述方法
alter table 表名称 rename to 新名称;