MySQL速成笔记1:DDL(数据定义语言)

DDL概述

数据定义语言(DDL)用于定义和管理数据库对象,包括数据库、表、索引等。主要操作包括创建(CREATE)、修改(ALTER)、删除(DROP)和重命名(RENAME)。

数据库操作

创建数据库:

CREATE DATABASE database_name;

删除数据库:

DROP DATABASE database_name;

选择数据库:

USE database_name;
表操作

创建表:

CREATE TABLE table_name (
    column1 datatype constraints,
    column2 datatype constraints,
    ...
);

删除表:

DROP TABLE table_name;

修改表结构:

ALTER TABLE table_name ADD column_name datatype;
ALTER TABLE table_name DROP COLUMN column_name;
ALTER TABLE table_name MODIFY COLUMN column_name new_datatype;

重命名表:

RENAME TABLE old_name TO new_name;
约束操作

添加主键:

ALTER TABLE table_name ADD PRIMARY KEY (column_name);

添加外键:

ALTER TABLE table_name ADD FOREIGN KEY (column_name) REFERENCES other_table(column_name);

添加唯一约束:

ALTER TABLE table_name ADD UNIQUE (column_name);
索引操作

创建索引:

CREATE INDEX index_name ON table_name (column_name);

删除索引:

DROP INDEX index_name ON table_name;
视图操作

创建视图:

CREATE VIEW view_name AS SELECT column1, column2 FROM table_name WHERE condition;

删除视图:

DROP VIEW view_name;
常用数据类型
  • 整数类型:INT, TINYINT, SMALLINT, BIGINT
  • 小数类型:FLOAT, DOUBLE, DECIMAL
  • 字符串类型:CHAR, VARCHAR, TEXT
  • 日期时间类型:DATE, TIME, DATETIME, TIMESTAMP
示例

创建学生表:

CREATE TABLE students (
    id INT PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(50) NOT NULL,
    age INT,
    gender CHAR(1),
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

修改表添加字段:

ALTER TABLE students ADD email VARCHAR(100);

创建索引:

CREATE INDEX idx_name ON students(name);
注意事项
  1. 执行DROP操作前需谨慎,数据将不可恢复
  2. 修改表结构可能影响现有应用程序
  3. 索引可提高查询性能,但会降低写入速度
  4. 约束条件可确保数据完整性

以上内容涵盖了MySQL DDL的基础操作,掌握这些命令可以完成大多数数据库对象的定义和管理任务。

https://github.com/gs-akey/lqa_t6ay
https://github.com/matsorton/lmc_9nu7
https://github.com/studenttow/hzc_1pqw
https://github.com/rrrollin/s63_oz6d
https://github.com/singme1227/qb4_a8vm

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐