MySQL—— DDL语句

  • 什么是MySQL的DDL语句
  • 查看所有的所有数据库
  • 查看当前使用的数据库
  • 库操作
  • 创建库
  • 使用数据库
  • 删除库
  • 表操作
  • 创建表
  • 查询当前库中所有的表
  • 查询表结构
  • 查询指定表的建表语句
  • 删除表
  • 表修改
  • 删除字段
  • 修改数据类型
  • 修改字段名和字段类型
  • 重命名表
  • 删除指定表并重新创建该表


我们今天接着来学习MySQL的DDL语句,如果还没有看过上一篇MySQL的小伙伴可以点击这里:


什么是MySQL的DDL语句

MySQL的DDL(Data Definition Language,数据定义语言)语句是一类用于定义和管理数据库结构的SQL命令。DDL语句允许用户创建、修改和删除数据库中的各种对象,如数据库本身、表、列、索引、视图、存储过程、触发器等,而不涉及数据的实际操作。这些操作通常是数据库管理员(DBA)或有相应权限的开发人员执行的。

MySQL中常见的DDL语句包括:

  1. CREATE:用于创建数据库、表、索引、视图、存储过程、函数等数据库对象。
  • CREATE DATABASE mydb; 创建数据库
  • CREATE TABLE mytable (column1 datatype, column2 datatype); 创建表
  1. ALTER:用于修改现有数据库对象的结构,比如添加、删除或修改表的列、索引等。
  • ALTER TABLE mytable ADD column3 datatype; 向表中添加列
  1. DROP:用于删除数据库对象,比如删除表、索引或整个数据库。
  • DROP TABLE mytable; 删除表
  • DROP DATABASE mydb; 删除数据库
  1. TRUNCATE:虽然有时也被归类在DDL中,但实际上更多地影响数据,它用于清空表中的所有数据,但表结构保持不变。
  • TRUNCATE TABLE mytable; 清空表数据
  1. RENAME:用于重命名数据库或表。
  • ALTER TABLE oldname RENAME TO newname; 重命名表

DDL语句执行的结果通常会永久性地改变数据库结构,因此在执行之前应谨慎考虑并确保有相应的备份策略。

查看所有的所有数据库

查看所有的所有数据库我们要用到show databases

show databases;

tdsql mysql导出数据为excel_数据库


同时注意一下,这几个数据库是系统自带的,不要删

tdsql mysql导出数据为excel_mysql_02

还有这几个用户,也是系统自带的,也不要删

tdsql mysql导出数据为excel_MySQL_03

查看当前使用的数据库

查看当前使用的数据库:

select database();

tdsql mysql导出数据为excel_数据库_04

这个结果表示我们还没有使用库。

库操作

创建库

创建库:

create database 数据库名字;

tdsql mysql导出数据为excel_数据库_05

使用数据库

使用数据库:

use 数据库名;

tdsql mysql导出数据为excel_数据库_06


再执行一次查看当前使用的数据库:

tdsql mysql导出数据为excel_MySQL_07

删除库

删除库:

drop database 数据库名称;

tdsql mysql导出数据为excel_mysql_08

表操作

创建表

CREATE TABLE table_name (
    column1 datatype1,
    column2 datatype2,
    ...
);

其中,请将table_name替换为要创建的表的名称,将column1column2等替换为列名,将datatype1datatype2等替换为相应的数据类型。

例如,要创建一个名为employees的表,其中包含id、name和age列,您可以执行以下命令:

CREATE TABLE employees (
    id INT PRIMARY KEY,
    name VARCHAR(50),
    age INT
);

tdsql mysql导出数据为excel_mysql_09

查询当前库中所有的表

查询当前库中所有的表:

show tables;

tdsql mysql导出数据为excel_mysql_10

查询表结构

查询表结构:

desc 表名;

tdsql mysql导出数据为excel_MySQL_11

查询指定表的建表语句

查询指定表的建表语句:

show create table 表名;

tdsql mysql导出数据为excel_数据库_12

删除表

删除表:

drop table 表名;

tdsql mysql导出数据为excel_表名_13

表修改

如果我们想给employees表加上一个新的字段,我们可以使用

ALTER TABLE 表名 ADD COLUMN 字段名 数据类型;

例如,要在employees表中添加一个名为email的列,可以执行以下命令:

ALTER TABLE employees ADD COLUMN email VARCHAR(100);

tdsql mysql导出数据为excel_表名_14


再来看一下表结构:

tdsql mysql导出数据为excel_数据库_15

删除字段

删除字段:

ALTER TABLE 表名 DROP COLUMN 字段;

例如,要从employees表中删除email列,您可以执行以下命令:

ALTER TABLE employees DROP COLUMN email;

tdsql mysql导出数据为excel_数据库_16

修改数据类型

修改数据类型:

ALTER TABLE 表名 MODIFY COLUMN 旧类型 新类型;

例如,要将employees表中的age列的数据类型从INT更改为FLOAT,可以执行以下命令:

ALTER TABLE employees MODIFY COLUMN age FLOAT;

tdsql mysql导出数据为excel_mysql_17

修改字段名和字段类型

修改字段名和字段类型:

ALTER TABLE 表名 CHANGE COLUMN 旧字段名 新字段名 类型(长度);

比如将employees表中的name改为NAME 并将varchar长度延伸到100:

ALTER TABLE employees CHANGE COLUMN name Name varchar(100);

tdsql mysql导出数据为excel_MySQL_18

重命名表

重命名表:

ALTER TABLE 旧表名 RENAME TO 新表名;

例如,要将employees表重命名为staff,您可以执行以下命令:

ALTER TABLE employees RENAME TO staff;

tdsql mysql导出数据为excel_数据库_19

删除指定表并重新创建该表

删除指定表并重新创建该表:

TRUNCATE TABLE 表名;

我们可以对staff表进行操作:

TRUNCATE TABLE staff;

这里我先插入一条数据:

tdsql mysql导出数据为excel_表名_20

然后重新执行这条语句:

tdsql mysql导出数据为excel_数据库_21

再来看:

tdsql mysql导出数据为excel_mysql_22


发现原来的记录没有了,这是因为我们删除又重新创建了表。