沃梦达 / IT编程 / 数据库 / 正文

MySQL ddl语句的使用

MySQL中DDL语句是指用于定义数据库、表、列、索引等各种对象的语句,包括创建、删除、修改等操作。下面我们将从以下几个方面详细讲解MySQL DDL语句的使用。

MySQL中DDL语句是指用于定义数据库、表、列、索引等各种对象的语句,包括创建、删除、修改等操作。下面我们将从以下几个方面详细讲解MySQL DDL语句的使用。

创建数据库

创建数据库的语句如下所示:

CREATE DATABASE IF NOT EXISTS mydb;

其中,IF NOT EXISTS为可选参数,如果指定则表示只有当该数据库不存在时才会创建。

创建表

创建表的语法如下所示:

CREATE TABLE IF NOT EXISTS stu_info (
  id INT UNSIGNED AUTO_INCREMENT,
  name VARCHAR(20) NOT NULL,
  age TINYINT UNSIGNED NOT NULL,
  gender ENUM('男','女') NOT NULL,
  PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

该语句创建了一个名为stu_info的表,包含id、name、age、gender等列,其中id为主键。可选参数IF NOT EXISTS、ENGINE和DEFAULT CHARSET分别表示如果表已经存在则不再重新创建、使用InnoDB引擎存储,并采用utf8mb4字符集。

修改表

修改表的语法比较复杂,常见的修改操作包括增加列、修改列属性、删除列、重命名列等,示例如下:

--增加列
ALTER TABLE stu_info ADD COLUMN email VARCHAR(50) NOT NULL DEFAULT '';
--修改列属性
ALTER TABLE stu_info MODIFY COLUMN name VARCHAR(30) NOT NULL DEFAULT '';
--删除列
ALTER TABLE stu_info DROP COLUMN email;
--重命名列
ALTER TABLE stu_info CHANGE COLUMN gender sex ENUM('男','女','不详') NOT NULL;

删除表

删除表的语句如下所示:

DROP TABLE IF EXISTS stu_info;

其中,IF EXISTS为可选参数,如果指定则表示只有当表存在时才会删除。

创建索引

创建索引的语句如下所示:

CREATE INDEX idx_name ON stu_info (name);

其中,idx_name为索引名称,stu_info为表名,name为要创建索引的列名。

示例

下面我们通过一个示例来演示DDL语句的使用。假设我们要创建一个名为mydb的数据库,并在其中创建一个名为stu_info的表,表包含id、name、age、gender等列。我们可以通过以下代码来实现:

CREATE DATABASE IF NOT EXISTS mydb;
USE mydb;
CREATE TABLE IF NOT EXISTS stu_info (
  id INT UNSIGNED AUTO_INCREMENT,
  name VARCHAR(20) NOT NULL,
  age TINYINT UNSIGNED NOT NULL,
  gender ENUM('男','女') NOT NULL,
  PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

假设我们要向stu_info表中增加email列并创建相应的索引。我们可以通过以下代码来实现:

ALTER TABLE stu_info ADD COLUMN email VARCHAR(50) NOT NULL DEFAULT '';
CREATE INDEX idx_email ON stu_info (email);

以上就是MySQL DDL语句的使用攻略。通过学习和掌握DDL语句,我们可以灵活地对数据库的结构进行管理,并有效提升数据库的性能和安全性。

本文标题为:MySQL ddl语句的使用