查,改,删操作------------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云计算运维基础阶段的视频课程已经上线,欢迎关注:
推荐阅读
《一站式教程之集群架构》:
看完本文有收获?请分享给更多人
推荐关注「Cloud研习社」,带你从零开始掌握云计算技术!
Cloud研习社
为Linux云计算零基础同学服务,致力于打造一套完整的linux云计算教程。包括新手学习路线、linux、存储、集群架构以及Docker,K8S,DevOps等
公众号
收录于合集 #一站式教程
276个上一篇操作详解 - 创建数据库和表、查看表
Cloud研习社