超详细的 SQL 语句 DDL(数据定义语言)讲解

2023-12-04 14:45:25

一. DDL 简介

DDL 是数据定义语言的缩写,简单的说,就是对数据库内部的对象进行创建、删除、修改等操作的语言。和 DML 的最大区别,是 DML 只是对数据库里的数据进行操作,而不涉及到表的定义、结构修改。DDL 更多是由数据库的管理员使用,开发者一般很少使用。

MySQL 服务启动之后,在终端上输入 mysql -u root -p,回车后输入密码,就会连接到 MySQL 服务器中。

login

注释:u 是 -username 简写,表示数据库用户名,当然你的数据库可能不是 root,p 是 password 的简写,即数据库的密码。

二. 创建数据库

语法:

CREATE DATABASE 数据库名称;

例如,创建一个名叫school的数据库:

CREATE DATABASE school;

database

三. 查看系统中存在哪些数据库

语法:

SHOW DATABASES;

show database

四. 选择数据库

只有进入了数据库中,我们才能创建表。

语法:

USE 数据库名称;

例如,进入了school数据库中:

USE school;

use database

五. 查看数据库中存在哪些数据表

语法:

SHOW TABLES;

show tables

六. 删除数据库

语法:

DROP DATABASE 数据库名称;

例如,删除一个名叫school的数据库:

DROP DATABASE school;

drop database

七. 创建表

语法:

CREATE TABLE 表名(
  字段名1 列类型 约束条件,
  字段名2 列类型 约束条件,
  字段名3 列类型 约束条件,
  ...
);

注意:MySQL 中的表名是以目录的形式存在于磁盘中的,所以表名的字符可以用任何目录名允许的字符。

例如,创建一个student表,表中包含id(主键、自增)、name(姓名)、age(年龄):

CREATE TABLE student(
  id int PRIMARY KEY AUTO_INCREMENT,
  name varchar(10) NOT NULL,
  age int(3)
);

create table

八. 查询表定义

查询表定义,有两种方法:

1. DESC 表名;

2. SHOW CREATE TABLE 表名;

desc 命令可以查看表定义,但是输出信息不全面,想要获取更详细的表定义信息(创建表定义 SQL 语句),可以通过 show create table 表名。

show table

九. 删除表

DROP TABLE 表名;

例如,删除 student 表:

DROP TABLE student;

drop table

十. 修改表

对于已创建的表,表结构的修改,大多数使用 alter table 命令。

1. 修改表类型

ALTER TABLE 表名 MODIFY [COLUMN] 字段名 列类型 约束条件 [FIRST | AFTER 字段名];

例如,修改 student 表中的 name 列,将其 varchar(10),改为 varchar(15):

ALTER TABLE student MODIFY name varchar(15) NOT NULL;

alter column

2. 增加表字段

ALTER TABLE 表名 ADD [COLUMN] 字段名 列类型 约束条件 [FIRST | AFTER 字段名];

例如,student 表中添加一个 student_no(学号)列,表类型是 varchar(10) NOT NULL:

ALTER TABLE student ADD student_no varchar(10) NOT NULL;

add column

3. 删除表字段

ALTER TABLE 表名 DROP [COLUMN] 字段名;

例如,student 表中删除 student_no(学号)列:

ALTER TABLE student DROP student_no;

drop column

4. 表字段改名

ALTER TABLE 表名 CHANGE [COLUMN] 旧字段名 新字段名 列类型 约束条件 [FIRST | AFTER 字段名];

例如,student 表中 student_no(学号)列的名称改为 no:

ALTER TABLE student CHANGE student_no no varchar(10) NOT NULL;

change column name

5. 修改字段排列顺序

在 modify/change/add 命令中,都有一个可选项 [FIRST | AFTER 字段名],这个可选项就是进行列顺序。

  • FIRST:排在表中最前列

  • AFTER 字段名:排在表中定义字段名的后面

例如:修改 student_no 的类型为 varchar(15) not null,并将 student_no 列放在表中最前列

ALTER TABLE student MODIFY student_no varchar(15) NOT NULL FIRST;

modify column position

例如,修改 student_no 的类型为 varchar(10) not null,并将 student_no 列的排在 name 列的后面:

ALTER TABLE student MODIFY student_no varchar(10) NOT NULL AFTER name;

modify column position

十一. 修改表名

ALTER TABLE 表名 RENAME [TO] 新表名;

例如:将 student 表名改为 student1:

ALTER TABLE student RENAME student1;

modify table name

目录

相关推荐
MySQL入门-什么是MySQL,什么是SQLMySQL中如何对表字段进行增加、删除、改名、类型修改SQL语句-DML(数据操作语言)对表记录的插入、更改、删除命令MySQL中的约束详解超详细的DQL(数据查询语言)讲解