MySQL DDL语句
介绍
DDL(Data Definition Language)指的是用于定义数据库结构和对象的语句。它包括创建、修改和删除数据库、表、视图、索引和其他对象的操作。MySQL是一种流行的开源数据库管理系统,本文将详细介绍MySQL中常用的DDL语句。
数据库操作
创建数据库
使用CREATE DATABASE语句可以创建一个新的数据库,语法如下:
CREATE DATABASE database_name;
示例:
CREATE DATABASE mydatabase;
删除数据库
使用DROP DATABASE语句可以删除一个数据库,语法如下:
DROP DATABASE database_name;
示例:
DROP DATABASE mydatabase;
修改数据库
使用ALTER DATABASE语句可以修改一个数据库的属性,语法如下:
ALTER DATABASE database_name [OPTIONS];
示例:
ALTER DATABASE mydatabase CHARACTER SET utf8 COLLATE utf8_general_ci;
表操作
创建表
使用CREATE TABLE语句可以创建一个新的表,语法如下:
CREATE TABLE table_name (
column1 datatype constraint,
column2 datatype constraint,
...
);
示例:
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
age INT
);
删除表
使用DROP TABLE语句可以删除一个表,语法如下:
DROP TABLE table_name;
示例:
DROP TABLE users;
修改表
使用ALTER TABLE语句可以修改一个表的结构,语法如下:
ALTER TABLE table_name [OPTIONS];
示例:
ALTER TABLE users ADD COLUMN email VARCHAR(100);
修改列
使用ALTER TABLE语句可以修改表中的列,语法如下:
ALTER TABLE table_name MODIFY COLUMN column_name [OPTIONS];
示例:
ALTER TABLE users MODIFY COLUMN name VARCHAR(100) NOT NULL;
删除列
使用ALTER TABLE语句可以删除表中的列,语法如下:
ALTER TABLE table_name DROP COLUMN column_name;
示例:
ALTER TABLE users DROP COLUMN age;
索引操作
创建索引
使用CREATE INDEX语句可以创建一个表的索引,语法如下:
CREATE [UNIQUE] INDEX index_name ON table_name (column1, column2, ...);
示例:
CREATE INDEX idx_name ON users (name);
删除索引
使用DROP INDEX语句可以删除一个表的索引,语法如下:
DROP INDEX index_name ON table_name;
示例:
DROP INDEX idx_name ON users;
视图操作
创建视图
使用CREATE VIEW语句可以创建一个新的视图,语法如下:
CREATE VIEW view_name AS SELECT column1, column2, ... FROM table_name [WHERE condition];
示例:
CREATE VIEW adult_users AS SELECT id, name FROM users WHERE age >= 18;
删除视图
使用DROP VIEW语句可以删除一个视图,语法如下:
DROP VIEW view_name;
示例:
DROP VIEW adult_users;
示例代码
下面是一个完整的示例代码,演示了如何使用MySQL的DDL语句创建数据库、表、索引和视图:
-- 创建数据库
CREATE DATABASE mydatabase;
-- 使用mydatabase数据库
USE mydatabase;
-- 创建用户表
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
age INT
);
-- 创建索引
CREATE INDEX idx_name ON users (name);
-- 创建视图
CREATE VIEW adult_users AS SELECT id, name FROM users WHERE age >= 18;
结论
本文介绍了MySQL中常用的DDL语句,包括数据库操作、表操作、索引操作和视图操作,通过示例代码演示了这些语句的用法。掌握这些DDL语句可以方便地管理MySQL数据库的结构和对象,提高开发和维护效率。