MySQL的DDL(Data Definition Language)语句用于定义或修改数据库结构。
DDL数据库操作
查看所有的数据库
show databases;
红色圈起来的是系统数据库,是系统自带的
- mysql:包含存储MySQL服务器运行时所需信息的表。这包括数据字典表(Data Dictionary Tables),如character_sets、collations、columns、events、foreign_keys、indexes、parameters、tables、triggers等,这些表包含数据字典,其中包含有关数据库对象的元数据。
- information_schema:提供了访问数据库元数据的方式。元数据是关于数据的数据,如数据库名或表名、列的数据类型或访问权限等。简单来说,information_schema是一个信息数据库,它保存着关于MySQL服务器所维护的所有其他数据库的信息。在这个数据库中,有一些只读表,它们实际上是视图,而不是基本表。
- performance_schema:用于监控MySQL服务器的执行过程,帮助用户了解服务器的性能。它提供了有关服务器执行的各种操作的详细信息,可以用于调优和故障排查。
- sys:是MySQL 5.7.6版本引入的一个视图数据库,提供了一些过程、函数和视图,帮助用户更容易地查看和管理MySQL服务器的性能。这个数据库提供了许多预定义的视图,用于简化对性能数据的访问和解释。
创建数据库语句 create database 数据库名;
使用某一数据库
use 数据库名;
当编写了很多sql语句时,我们忘记自己在那个数据库里面。可以使用select database();语句查询自己在那个数据库
不需要一个数据库的时候可以删除数据库,使用drop database 数据库名 删除数据库
DDL语句 操作表
怎么查询一个数据库的所有表呢?
使用show tables;
world数据库里面有三个表。如图所示
使用show tables 查询一个数据的所有表,那么我们查询一个表的结构怎么查询呢
使用 desc 表名查询表结构
表结构的创建
create table 表名
接下来可以查询我们的表结构
也可以查看表创建语句
使用 show create table 表名;
如果一个表已经存在了还创建就会报错
它会提醒我们已经存在这个表
那么怎么避免呢
在creat table 后面添加if not exists如果不存在我们才创建
我们怎么删除一个表呢
使用 drop table 表名
DDL 表的修改
如果想给表添加字段应该怎么操作
想给student添加一个性别字段
如果说我们需要修改一个字段应该怎么样操作 将id 的类型改为varchar
alter table 表名 modify 字段名 新数据类型
我们还可以将字段名和数据类型一起修改了
将num改成grade 且类型长度变短一点
alter table 表名 change 旧字段名字 新字段名字 新字段类型
我们也可以删除不需要的字段
删除sex字段
alter table 表名 drop 字段名
我们也可以修改表名,如将student表改成teache表
alter table 表名 rename to 新表名
我们也可以删除表数据
这个语句是删除这个表,然后创建一个和它一样的表,之前的数据不见了
也可以直接删除表
drop table 表名;