MySQL—— DDL语句
- 什么是MySQL的DDL语句
- 查看所有的所有数据库
- 查看当前使用的数据库
- 库操作
- 创建库
- 使用数据库
- 删除库
- 表操作
- 创建表
- 查询当前库中所有的表
- 查询表结构
- 查询指定表的建表语句
- 删除表
- 表修改
- 删除字段
- 修改数据类型
- 修改字段名和字段类型
- 重命名表
- 删除指定表并重新创建该表
我们今天接着来学习MySQL的DDL语句,如果还没有看过上一篇MySQL的小伙伴可以点击这里:
https://blog.csdn.net/qq_67693066/article/details/138304228
什么是MySQL的DDL语句
MySQL的DDL(Data Definition Language,数据定义语言)语句是一类用于定义和管理数据库结构的SQL命令。DDL语句允许用户创建、修改和删除数据库中的各种对象,如数据库本身、表、列、索引、视图、存储过程、触发器等,而不涉及数据的实际操作。这些操作通常是数据库管理员(DBA)或有相应权限的开发人员执行的。
MySQL中常见的DDL语句包括:
- CREATE:用于创建数据库、表、索引、视图、存储过程、函数等数据库对象。
- 如
CREATE DATABASE mydb;
创建数据库CREATE TABLE mytable (column1 datatype, column2 datatype);
创建表
- ALTER:用于修改现有数据库对象的结构,比如添加、删除或修改表的列、索引等。
- 如
ALTER TABLE mytable ADD column3 datatype;
向表中添加列
- DROP:用于删除数据库对象,比如删除表、索引或整个数据库。
- 如
DROP TABLE mytable;
删除表DROP DATABASE mydb;
删除数据库
- TRUNCATE:虽然有时也被归类在DDL中,但实际上更多地影响数据,它用于清空表中的所有数据,但表结构保持不变。
- 如
TRUNCATE TABLE mytable;
清空表数据
- RENAME:用于重命名数据库或表。
- 如
ALTER TABLE oldname RENAME TO newname;
重命名表
DDL语句执行的结果通常会永久性地改变数据库结构,因此在执行之前应谨慎考虑并确保有相应的备份策略。
查看所有的所有数据库
查看所有的所有数据库我们要用到show databases:
show databases;
同时注意一下,这几个数据库是系统自带的,不要删:
还有这几个用户,也是系统自带的,也不要删:
查看当前使用的数据库
查看当前使用的数据库:
select database();
这个结果表示我们还没有使用库。
库操作
创建库
创建库:
create database 数据库名字;
使用数据库
使用数据库:
use 数据库名;
再执行一次查看当前使用的数据库:
删除库
删除库:
drop database 数据库名称;
表操作
创建表
CREATE TABLE table_name (
column1 datatype1,
column2 datatype2,
...
);
其中,请将table_name
替换为要创建的表的名称,将column1
、column2
等替换为列名,将datatype1
、datatype2
等替换为相应的数据类型。
例如,要创建一个名为employees的表,其中包含id、name和age列,您可以执行以下命令:
CREATE TABLE employees (
id INT PRIMARY KEY,
name VARCHAR(50),
age INT
);
查询当前库中所有的表
查询当前库中所有的表:
show tables;
查询表结构
查询表结构:
desc 表名;
查询指定表的建表语句
查询指定表的建表语句:
show create table 表名;
删除表
删除表:
drop table 表名;
表修改
如果我们想给employees表加上一个新的字段,我们可以使用
ALTER TABLE 表名 ADD COLUMN 字段名 数据类型;
例如,要在employees表中添加一个名为email的列,可以执行以下命令:
ALTER TABLE employees ADD COLUMN email VARCHAR(100);
再来看一下表结构:
删除字段
删除字段:
ALTER TABLE 表名 DROP COLUMN 字段;
例如,要从employees表中删除email列,您可以执行以下命令:
ALTER TABLE employees DROP COLUMN email;
修改数据类型
修改数据类型:
ALTER TABLE 表名 MODIFY COLUMN 旧类型 新类型;
例如,要将employees表中的age列的数据类型从INT更改为FLOAT,可以执行以下命令:
ALTER TABLE employees MODIFY COLUMN age FLOAT;
修改字段名和字段类型
修改字段名和字段类型:
ALTER TABLE 表名 CHANGE COLUMN 旧字段名 新字段名 类型(长度);
比如将employees表中的name改为NAME 并将varchar长度延伸到100:
ALTER TABLE employees CHANGE COLUMN name Name varchar(100);
重命名表
重命名表:
ALTER TABLE 旧表名 RENAME TO 新表名;
例如,要将employees表重命名为staff,您可以执行以下命令:
ALTER TABLE employees RENAME TO staff;
删除指定表并重新创建该表
删除指定表并重新创建该表:
TRUNCATE TABLE 表名;
我们可以对staff表进行操作:
TRUNCATE TABLE staff;
这里我先插入一条数据:
然后重新执行这条语句:
再来看:
发现原来的记录没有了,这是因为我们删除又重新创建了表。