查,改,删操作------------MySQL基础操作

操作详解 - 查询数据、修改数据、删除数据

图片图片

教程每周二、四、六更新

图片

查询数据

在关联之前,我们先插入一个作者信息。
MariaDB [bookstore]> INSERT INTO authors
    -> (name_last, name_first, country)
    -> VALUES('Kafka', 'Franz', 'Czech Republic');

上面插入的内容,我们发现没有给出author_id,这是因为我们创建表的时候对于author_id使用了AUTO_INCREMENT,mariadb会自动从1开始给一个author_id。

再准备一本书的信息:

MariaDB [bookstore]> INSERT INTO books
    -> (title, author_id, isbn, year_pub)
    -> VALUES('The Castle', '1', '0805211063', '1998');

这样就插入了书的信息。我们注意到,插入信息的时候,每一列可以不按照创建表的顺序来写,但是和数据信息要一一对应。作者Kafka,author_id是1,书名是The Castle。我们还可以再添加Kafka的一些其他书:

MariaDB [bookstore]> INSERT INTO books
    -> (title, author_id, isbn, year_pub)
    -> VALUES('The Trial', '1', '0805210407', '1995'),
    -> ('The Metamorphosis', '1', '0553213695', '1995'),
        -> ('America', '1', '0805210644', '1995');

我们用一个语句添加了三本书,每本书的信息用小括号括起来,用逗号作为分隔符,结束的时候用分号。

下面开始查询:

MariaDB [bookstore]> SELECT title FROM books LIMIT 3;
+-------------------+
| title |
+-------------------+
| The Metamorphosis |
| The Trial |
| America |
+-------------------+

如果想列出每本书的作者和书名,就必须让books表和authors表发生关联,为此我们可以使用JOIN语句:

MariaDB [bookstore]> SELECT title , name_last
    -> FROM books
    -> JOIN authors USING ( author_id );
+-------------------+-----------+
| title | name_last |
+-------------------+-----------+
| The Metamorphosis | Kafka |
| The Trial | Kafka |
| America | Kafka |
| The Castle | Kafka |
+-------------------+-----------+

请注意,我们从中提取数据的主表在FROM子句中给出。我们要连接的表在JOIN子句中给出,用于连接的公共字段使用USING给出。

如果仅根据 Kafka 的姓名(而不是 author_id)检索由 Kafka 撰写的书籍的名字,我们将使用带有SELECT WHERE的语句:

MariaDB [bookstore]> SELECT title AS 'Kafka Books'
    -> FROM books
    -> JOIN authors USING (author_id)
    -> WHERE name_last = 'Kafka';
+-------------------+
| Kafka Books |
+-------------------+
| The Metamorphosis |
| The Trial |
| America |
| The Castle |
+-------------------+

上面语句中的AS是为了显示结果的时候把title改为'Kafka Books'。通过where实现查询结果的过滤。

修改数据、删除数据

如果上面有一本书名字写错了,应该是Amerika而不是America,这个时候我们就需要修改,而我们要找到它,那就只能通过唯一键值isbn来找,所以:

MariaDB [bookstore]> UPDATE books
    -> SET title = 'Amerika'
    -> WHERE isbn = '0805210644';

如果我们要删除数据,比如删除author_id为1024的所有行,那么我们可以这样做:

MariaDB [bookstore]> DELETE FROM books
    -> WHERE author_id = '1024';

雷哥的Linux云计算运维基础阶段的视频课程已经上线,欢迎关注: 

图片

推荐阅读

 

《一站式教程之集群架构》:

初识MySQL

部署并登录MySQL

MySQL数据库基本操作

MySQL数据库基本操作(2)

操作详解 - mariadb数据类型

操作详解 - 创建数据库和表、查看表

 

 

看完本文有收获?请分享给更多人

推荐关注「Cloud研习社」,带你从零开始掌握云计算技术!

Cloud研习社
为Linux云计算零基础同学服务,致力于打造一套完整的linux云计算教程。包括新手学习路线、linux、存储、集群架构以及Docker,K8S,DevOps等
225篇原创内容

图片

 

Cloud研习社
收录于合集 #一站式教程
 276
上一篇操作详解 - 创建数据库和表、查看表
阅读 63
Cloud研习社
 
 
posted @ 2023-08-22 11:05  往事已成昨天  阅读(9)  评论(0编辑  收藏  举报