MySQL中DDL语句详解(mysql中ddl语句是)
MySQL中DDL语句详解
MySQL是一款流行的关系型数据库管理系统。在MySQL中,数据定义语言(DDL)用于定义数据库、表和其他对象。DDL语句包括CREATE、ALTER和DROP语句。在本文中,我们将详细介绍MySQL中DDL语句的用法及示例。
1. CREATE语句
CREATE语句用于创建数据库和表。下面是一个创建表的示例:
CREATE TABLE `employee` (
`id` int NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL,
`address` varchar(255) DEFAULT NULL, `phone` varchar(20) DEFAULT NULL,
PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
以上代码创建了一个名为“employee”的表。表包括以下列:id(整数类型,自动递增)、name(字符型,不允许为空)、address(字符型,默认为空)和phone(字符型,默认为空)。还通过PRIMARY KEY约束为主键。
2. ALTER语句
ALTER语句用于修改数据库、表和表中的列。以下是一个修改表的示例:
ALTER TABLE `employee` ADD COLUMN `eml` varchar(255) DEFAULT NULL;
以上代码在“employee”表中添加了一个名为“eml”的列。该列为字符型,其默认值为NULL。
3. DROP语句
DROP语句用于删除数据库、表和表中的列。以下是一个删除表的示例:
DROP TABLE `employee`;
以上代码将删除名为“employee”的表。
4. 示例
下面是一个完整的MySQL脚本示例,它定义一个名为“student”的数据库,并在其中创建一个名为“score”的表:
CREATE DATABASE `student` CHARSET utf8mb4 COLLATE utf8mb4_general_ci;
USE `student`;
CREATE TABLE `score` ( `id` int NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL, `math_score` int DEFAULT NULL,
`english_score` int DEFAULT NULL, PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
ALTER TABLE `score` ADD COLUMN `science_score` int DEFAULT NULL;
DROP TABLE `score`;
以上代码创建了一个名为“student”的数据库,并在其中创建了一个名为“score”的表。表包括以下列:id(整数类型,自动递增)、name(字符型,不允许为空)、math_score(整数型,默认为空)、english_score(整数型,默认为空)和science_score(整数型,默认为空)。还通过PRIMARY KEY约束为主键。
然后,通过ALTER语句添加了一个名为“science_score”的列。使用DROP语句删除了“score”表。
总结
DDL语句是MySQL中定义数据库、表和其他对象的基本工具。CREATE语句用于创建数据库和表,ALTER语句用于修改数据库、表和表中的列,而DROP语句用于删除数据库、表和表中的列。在使用这些语句时,请仔细检查语法,并在测试环境中进行测试,以确保正确性和安全性。