MySQL 基本使用(上):DDL 和 DML 语句

2020-07-29 18:08:48 浏览数 (1)

上篇教程我们介绍了 MySQL 的安装以及如何在客户端连接并管理 MySQL 数据库,今天我们来简单过一下日常常用的 SQL 语句,以 phpMyAdmin 作为 GUI 工具为例进行演示。

SQL 语句总体上分为三个部分:

  • DDL(Data Definition Language,数据定义语言)
  • DML(Data Manipulation Language,数据操作语言)
  • DCL(Data Control Language,数据控制语言)

1、DDL

DDL 语句主要针对数据库中的对象操作,这些对象包含数据库、数据表、索引、列、视图等,这些操作包含创建、删除、重命名等。

新建数据库

要创建一个数据库可以通过 CREATE DATABASE 语句完成,不过编写 SQL 语句过于繁琐,GUI 工具都提供了按钮进行对应可视化操作,更加方便,我们以 phpMyAdmin 为例,点击左侧面板中的「新建」,然后在右侧面板表单中填写数据库名称和编码信息,最后点击「创建」按钮,即可创建一个新的数据库:

在 phpMyAdmin 中新建数据库

在 phpMyAdmin 中新建数据库

如果通过 SQL 语句执行,对应的 SQL 语句是:

代码语言:javascript复制
CREATE DATABASE `test` DEFAULT CHARACTER SET = `utf8mb4`;

这里设置编码为 utf8mb4 主要是为了支持中文字符以及 Emoji 表情符号的存储。

数据库重命名和删除

对于已创建的数据库,可以通过重命名数据库修改数据库名称,还可以点击删除链接进行删除,这些都位于选中指定数据库后,右侧面板顶部导航条「操作」面板中:

数据库重命名和删除

重命名其实就包含了删除操作,再新建一个新的数据库。

新建数据表

创建完数据库之后,默认就会进入创建数据表界面,我们新建一个名为 post 的数据表,点击右下角「执行」按钮保存:

新建数据表

接下来,就进入了数据表字段(列)创建页面,我们首先需要设置一个主键 ID 字段,当选择索引为 PRIMARY(主键索引)时,会弹出创建索引窗口:

设置主键索引

点击「执行」创建该索引并关闭窗口,然后继续设置字段信息:

初始化表字段

目前就创建四个字段,如果要新增字段可以通过顶部数据表名右侧的添加功能添加,这里我们需要区分下不同的字段类型,ID 字段一般是整型数字,所以类型设置为 INT,文章标题一般是字符串,所以类型设置为 VARCHAR,文章内容是长文本,类型设置为 TEXT,最后 created_at 字段存储创建时间,所以类型设置为 DATETIME

在表结构选项中设置存储引擎为 InnoDB,保存之前,可以通过「预览 SQL 语句」按钮预览下创建 post 表的 SQL 语句:

创建数据表 SQL 语句

然后点击页面右下角保存按钮保存数据表设置,即可进入数据表结构页面:

数据表结构

我们可以点击每个字段对应的修改链接修改该字段,如果要对整张表进行修改,可以通过顶部「操作」导航完成(删除和清空表也在这里完成,下拉到底部就可以看到对应的操作选项):

修改数据表

当然所有这些操作都可以通过对应的 SQL 语句完成,只是通过图形化界面更直观、更快捷。

数据表索引

关于数据表索引的类型、创建和维护我们在后面会结合实战项目进行介绍,这里不单独展开了。

2、DML

DML 语句主要针对数据表的增删改查操作,即对数据表的 INSERT、DELETE、UPDATE、SELECT 操作。

插入语句

新建数据表后,可以通过 INSERT INTO 插入数据,这里我们还可以通过 phpMyAdmin 演示,选中左侧面板的 post 数据表,点击右侧「插入」顶部导航,在表单字段中填写字段值,ID 是自增字段可以留空,最后点击「执行」按钮保存:

在数据表中新增记录

插入成功后,可以看到对应的 SQL 插入语句:

插入 SQL 语句

再点击顶部「浏览」导航条,就可以看到插入的记录了:

插入的表记录

查询语句

你也可以通过「SQL」导航进入 SQL 查询面板通过 SELECT 语句进行查询:

查询 SQL 语句

不指定查询条件默认返回所有查询结果,你也可以通过 WHERE 子句指定查询条件返回特定结果:

代码语言:javascript复制
SELECT * FROM `post` WHERE id = 1;

还可以指定要查询的字段:

代码语言:javascript复制
SELECT id, title, content FROM `post`;

另外,还可以通过 ORDER BY 语句对查询结果进行排序:

代码语言:javascript复制
SELECT * FROM `post` ORDER BY id DESC; 
更新语句

我们可以通过「浏览」界面每一条记录左侧的「编辑」功能修改每条记录的字段值:

修改表记录

也可以在「SQL」界面通过 UPDATE 语句进行更加复杂的自定义修改,点击「UPDATE」按钮,会在输入框填充更新语句模板,按需进行填写即可:

更新SQL语句模板

更新SQL语句

点击「执行」按钮进行更新,就可以看到修改后的字段值了,在进行 UPDATE 更新时,需要特别关注 WHERE 子句,因为如果没有设置 WHERE 条件,会更新整张表。

删除语句

要删除单条记录,可以通过「浏览」界面记录左侧的删除按钮删除,也可以在「SQL」面板通过 DELETE 语句进行更加复杂的自定义删除操作:

删除 SQL 语句

UPDATE 一样,如果没有通过 WEHRE 子句设置删除条件,也会删除整张表记录,所以在执行删除操作前需要格外注意。

要清空整张表记录,并将自增 ID 重置为 1,需要在「操作」面板通过 TRUNCATE 操作完成:

清空数据表

以上就是数据表增删改查的基本操作实现。

0 人点赞