简单的 SQL 查询

为了使用 MariaDB,我们将使用结构化查询语言 (SQL)。

首先访问 MariaDB/MySQL 命令行,如下所示,系统将提示我们输入在安装 MariaDB 教程中配置的密码。

[jack@onitroad ~]# mysql -u root -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 3
Server version: 5.5.44-MariaDB MariaDB Server
Copyright (c) 2000, 2014, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>

显示数据库

使用“show databases”查询,我们可以查看所有可用的数据库,默认情况下,安装 MariaDB 后我们将拥有这些数据库。

MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
+--------------------+
3 rows in set (0.01 sec)

创建数据库

使用后跟数据库名称的“创建数据库”查询创建数据库。
在本例中,我们创建的数据库名为“users”。

MariaDB [(none)]> create database users;
Query OK, 1 row affected (0.01 sec)

成功创建数据库后,我们可以使用“show databases”查询进行确认以查看它是否已列出。

MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| users              |
+--------------------+
4 rows in set (0.00 sec)

使用数据库

现在已经创建了数据库,要对其进行实际查询,我们首先需要使用数据库。

MariaDB [(none)]> use users;
Database changed
MariaDB [users]>

请注意,这已将我们的提示从“none”更改为“users”,即我们刚刚选择的数据库的名称。
这向我们展示了我们正在使用和正在使用的当前数据库,我们运行的查询将针对该数据库执行。

创建表

空数据库不是特别有用,我们现在将创建一些从表开始的示例数据。

MariaDB [users]>  create table name (firstname VARCHAR(50) NOT NULL, lastname VARCHAR(50) NOT NULL, middlename VARCHAR(50));
Query OK, 0 rows affected (0.05 sec)

这将创建一个名为 'name' 的表,其中包含 3 个名为 'firstname'、'lastname' 和 'middlename' 的字段。
'firstname' 和 'lastname' 字段设置为 NOT NULL 意味着必须有一个值,而 'middlename' 可能为空,因为该字段是可选的。
所有字段都设置为 VARCHAR(50),允许我们在每个字段中输入最多 50 个字符。

我们可以使用“show tables”命令查看此表。

MariaDB [users]> show tables;
+-----------------+
| Tables_in_users |
+-----------------+
| name            |
+-----------------+
1 row in set (0.00 sec)

描述表格

虽然前面的 show tables 命令向我们展示了用户数据库中有一个名为 name 的表,但它的信息量并不大。
我们可以使用describe命令查看表结构,如下所示。

MariaDB [users]> describe name;
+------------+-------------+------+-----+---------+-------+
| Field      | Type        | Null | Key | Default | Extra |
+------------+-------------+------+-----+---------+-------+
| firstname  | varchar(50) | NO   |     | NULL    |       |
| lastname   | varchar(50) | NO   |     | NULL    |       |
| middlename | varchar(50) | YES  |     | NULL    |       |
+------------+-------------+------+-----+---------+-------+
3 rows in set (0.00 sec)

该结构显示的字段与我们之前创建的字段相同。
describe 命令对于了解数据库结构和查看适当的模式很有用。

插入数据库

现在我们有一个空白表,我们可以使用“插入到”查询插入一些实际数据。

MariaDB [users]> insert into name (firstname, lastname) values ("bob", "user");
Query OK, 1 row affected (0.00 sec)
MariaDB [users]> select * from name;
+-----------+----------+------------+
| firstname | lastname | middlename |
+-----------+----------+------------+
| bob       | user     | NULL       |
+-----------+----------+------------+
1 row in set (0.00 sec)

在这个例子中,我们插入了一个名为“bob user”的用户。
可以使用 select 命令检索数据,在上面的示例中,我们从名称表中选择 * 指定的所有内容,目前只有一行。

更新数据

一旦数据输入到数据库中,就可以使用更新查询进行修改。

MariaDB [users]> update name set lastname="test" where lastname="user";
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0
MariaDB [users]> select * from name;
+-----------+----------+------------+
| firstname | lastname | middlename |
+-----------+----------+------------+
| bob       | test     | NULL       |
+-----------+----------+------------+
1 row in set (0.00 sec)

在这里,我们已将 bob 的姓氏值从用户更新为测试。

删除数据

也可以使用删除查询删除数据库中的数据。
在此示例中,我们通过指定要从 name 表中删除 firstname 设置为 bob 的所有实例来删除刚刚创建的 bob 行。

MariaDB [users]> delete from name where firstname="bob";
Query OK, 1 row affected (0.01 sec)
MariaDB [users]> select * from name;
Empty set (0.00 sec)

删除行并在名称表上运行选择后,我们现在可以看到它是空的,但表本身仍然存在。

我们还可以使用“drop table”命令删除表,如下所示,这将删除存储在表中的所有数据和表本身。

MariaDB [users]> drop table name;
Query OK, 0 rows affected (0.00 sec)
MariaDB [users]> show tables;
Empty set (0.01 sec)

删除数据库

尽管我们删除了 name 表中唯一的一行和表本身,但 users 数据库仍然存在。
可以使用“drop database”查询删除用户数据库,该查询将删除数据库和其中的所有数据,包括任何其他表。

MariaDB [users]> drop database users;
Query OK, 1 row affected (0.05 sec)
MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
+--------------------+
3 rows in set (0.00 sec)
如何对数据库执行简单的 SQL 查询

本教程中,我们将介绍如何使用基本的 SQL 查询,例如显示、创建、选择、插入、更新、删除、描述和删除,这将允许我们定义基本的数据库模式。

日期:2020-07-07 20:55:05 来源:oir作者:oir