MySQL数据库的DDL(数据定义语言)用于定义和管理数据库对象,如数据库、表、索引和视图等,以下是详细的DDL语句及其用法:
创建和删除数据库
1、创建数据库:
语法:CREATE DATABASE database_name [CHARACTER SET charset_name] [COLLATE collation_name];
示例:CREATE DATABASE mydatabase CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
2、删除数据库:
语法:DROP DATABASE [IF EXISTS] database_name;
示例:DROP DATABASE IF EXISTS mydatabase;
创建和删除表
1、创建表:
语法:CREATE TABLE table_name (column1 datatype, column2 datatype, ...);
示例:
CREATE TABLE employees ( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50) NOT NULL, position VARCHAR(50), hire_date DATE );
2、删除表:
语法:DROP TABLE [IF EXISTS] table_name;
示例:DROP TABLE IF EXISTS employees;
修改表结构
1、添加列:
单列:ALTER TABLE table_name ADD column_name datatype;
多列:ALTER TABLE table_name ADD column1 datatype, ADD column2 datatype, ...;
示例:
ALTER TABLE employees ADD email VARCHAR(100); ALTER TABLE employees ADD phone_number VARCHAR(15), ADD address VARCHAR(255);
2、设置列字段默认值:
语法:ALTER TABLE table_name ALTER COLUMN column_name SET DEFAULT default_value;
示例:ALTER TABLE employees ALTER COLUMN position SET DEFAULT 'Staff';
3、修改列数据类型:
语法:ALTER TABLE table_name MODIFY COLUMN column_name new_datatype;
示例:ALTER TABLE employees MODIFY COLUMN phone_number CHAR(15);
4、修改列名:
语法:ALTER TABLE table_name CHANGE old_column_name new_column_name new_datatype;
示例:ALTER TABLE employees CHANGE COLUMN position job_title VARCHAR(75);
5、删除列:
语法:ALTER TABLE table_name DROP COLUMN column_name;
示例:ALTER TABLE employees DROP COLUMN address;
创建和删除索引
1、创建索引:
语法:CREATE INDEX index_name ON table_name (column_name);
示例:CREATE INDEX idx_lastname ON employees (name);
2、删除索引:
语法:DROP INDEX index_name ON table_name;
示例:DROP INDEX idx_lastname ON employees;
创建和删除主键及外键
1、创建主键:
语法:ALTER TABLE table_name ADD CONSTRAINT pk_constraint_name PRIMARY KEY (column_name);
示例:ALTER TABLE employees ADD CONSTRAINT pk_employee_id PRIMARY KEY (id);
2、删除主键:
语法:ALTER TABLE table_name DROP PRIMARY KEY;
示例:ALTER TABLE employees DROP PRIMARY KEY;
3、创建外键:
语法:ALTER TABLE table_name ADD CONSTRAINT fk_constraint_name FOREIGN KEY (column_name) REFERENCES referenced_table_name (referenced_column_name);
示例:
ALTER TABLE employees ADD CONSTRAINT fk_department_id FOREIGN KEY (department_id) REFERENCES departments (id);
4、删除外键:
语法:ALTER TABLE table_name DROP FOREIGN KEY fk_constraint_name;
示例:ALTER TABLE employees DROP FOREIGN KEY fk_department_id;
创建和删除视图
1、创建视图:
语法:CREATE VIEW view_name AS SELECT column1, column2, ... FROM table_name WHERE condition;
示例:
CREATE VIEW employee_names AS SELECT name FROM employees;
2、删除视图:
语法:DROP VIEW [IF EXISTS] view_name;
示例:DROP VIEW IF EXISTS employee_names;
这些DDL语句为数据库管理员提供了强大的工具来创建、修改和删除数据库对象,在执行这些操作时,请确保已备份相关数据,以防止意外丢失。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1215739.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复