相关学习推荐:php编程(视频),mysql教程
上篇教程我们介绍了 MySQL 的安装以及如何在客户端连接并管理 MySQL 数据库,今天我们来简单过一下日常常用的 SQL 语句,以 phpMyAdmin 作为 GUI 工具为例进行演示。
SQL 语句总体上分为三个部分:
- DDL(Data Definition Language,数据定义语言)
- DML(Data Manipulation Language,数据操作语言)
- DCL(Data Control Language,数据控制语言)
DDL
DDL 语句主要针对数据库中的对象操作,这些对象包含数据库、数据表、索引、列、视图等,这些操作包含创建、删除、重命名等。
新建数据库
要创建一个数据库可以通过 CREATE DATABASE
语句完成,不过编写 SQL 语句过于繁琐,GUI 工具都提供了按钮进行对应可视化操作,更加方便,我们以 phpMyAdmin 为例,点击左侧面板中的「新建」,然后在右侧面板表单中填写数据库名称和编码信息,最后点击「创建」按钮,即可创建一个新的数据库:
如果通过 SQL 语句执行,对应的 SQL 语句是:
CREATE DATABASE `test` DEFAULT CHARACTER SET = `utf8mb4`;
这里设置编码为 utf8mb4
主要是为了支持中文字符以及 Emoji 表情符号的存储。
数据库重命名和删除
对于已创建的数据库,可以通过重命名数据库修改数据库名称,还可以点击删除链接进行删除,这些都位于选中指定数据库后,右侧面板顶部导航条「操作」面板中:
重命名其实就包含了删除操作,再新建一个新的数据库。
新建数据表
创建完数据库之后,默认就会进入创建数据表界面,我们新建一个名为 post
的数据表,点击右下角「执行」按钮保存:
接下来,就进入了数据表字段(列)创建页面,我们首先需要设置一个主键 ID 字段,当选择索引为 PRIMARY(主键索引)时,会弹出创建索引窗口:
点击「执行」创建该索引并关闭窗口,然后继续设置字段信息:
目前就创建四个字段,如果要新增字段可以通过顶部数据表名右侧的添加功能添加,这里我们需要区分下不同的字段类型,ID 字段一般是整型数字,所以类型设置为 INT
,文章标题一般是字符串,所以类型设置为 VARCHAR
,文章内容是长文本,类型设置为 TEXT
,最后 created_at
字段存储创建时间,所以类型设置为 DATETIME
。
在表结构选项中设置存储引擎为 InnoDB,保存之前,可以通过「预览 SQL 语句」按钮预览下创建 post
表的 SQL 语句:
然后点击页面右下角保存按钮保存数据表设置,即可进入数据表结构页面:
我们可以点击每个字段对应的修改链接修改该字段,如果要对整张表进行修改,可以通过顶部「操作」导航完成(删除和清空表也在这里完成,下拉到底部就可以看到对应的操作选项):
当然所有这些操作都可以通过对应的 SQL 语句完成,只是通过图形化界面更直观、更快捷。
数据表索引
关于数据表索引的类型、创建和维护我们在后面会结合实战项目进行介绍,这里不单独展开了。
DML
DML 语句主要针对数据表的增删改查操作,即对数据表的 INSERT、DELETE、UPDATE、SELECT 操作。
插入语句
新建数据表后,可以通过 INSERT INTO
插入数据,这里我们还可以通过 phpMyAdmin 演示,选中左侧面板的 post
数据表,点击右侧「插入」顶部导航,在表单字段中填写字段值,ID 是自增字段可以留空,最后点击「执行」按钮保存:
插入成功后,可以看到对应的 SQL 插入语句:
再点击顶部「浏览」导航条,就可以看到插入的记录了:
查询语句
你也可以通过「SQL」导航进入 SQL 查询面板通过 SELECT
语句进行查询:
不指定查询条件默认返回所有查询结果,你也可以通过 WHERE
子句指定查询条件返回特定结果:
SELECT * FROM `post` WHERE id = 1;
还可以指定要查询的字段:
SELECT id, title, content FROM `post`;
另外,还可以通过 ORDER BY
语句对查询结果进行排序:
SELECT * FROM `post` ORDER BY id DESC;
更新语句
我们可以通过「浏览」界面每一条记录左侧的「编辑」功能修改每条记录的字段值:
也可以在「SQL」界面通过 UPDATE
语句进行更加复杂的自定义修改,点击「UPDATE」按钮,会在输入框填充更新语句模板,按需进行填写即可:
点击「执行」按钮进行更新,就可以看到修改后的字段值了,在进行 UPDATE 更新时,需要特别关注 WHERE
子句,因为如果没有设置 WHERE
条件,会更新整张表。
删除语句
要删除单条记录,可以通过「浏览」界面记录左侧的删除按钮删除,也可以在「SQL」面板通过 DELETE
语句进行更加复杂的自定义删除操作:
和 UPDATE
一样,如果没有通过 WEHRE
子句设置删除条件,也会删除整张表记录,所以在执行删除操作前需要格外注意。
要清空整张表记录,并将自增 ID 重置为 1,需要在「操作」面板通过 TRUNCATE
操作完成: