首页 > 数据库 >查,改,删操作------------MySQL基础操作

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

时间:2023-08-22 11:11:19浏览次数:52  
标签:author title Kafka ------------ books MySQL 操作 MariaDB id

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

原创 Cloud研习社 Cloud研习社 2023-08-22 07:31 发表于山东 收录于合集 #一站式教程276个 #mysql7个 #计算机251个 #数据库5个 #云计算288个 图片图片

教程每周二、四、六更新

图片

查询数据

在关联之前,我们先插入一个作者信息。
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研习社   ​     发消息    

标签:author,title,Kafka,------------,books,MySQL,操作,MariaDB,id
From: https://www.cnblogs.com/cherishthepresent/p/17648036.html

相关文章

  • 炫酷loading css实现
    实现效果代码本文使用react实现,其他同理index.jsimportReactfrom'react';importsfrom'./index.less';exportdefaultfunctionLoading(){return(<divclassName={`${s['loading-container']}${s['loading-active'......
  • ios开发 int,NSInteger,NSUInteger,NSNumber
    分享一下,在工作工程中遇到的一些不留心的地方:1.当需要使用int类型的变量的时候,可以像写C的程序一样,用int,也可以用NSInteger,但更推荐使用NSInteger,因为这样就不用考虑设备是32位的还是64位的。2.NSUInteger是无符号的,即没有负数,NSInteger是有符号的。3.有人说既然都有了NSInteger等......
  • ios开发之--Cocoapods更新指定的库
    最近接手了一个swift的老项目,问题还不少,把bug修复完成功编译后,还没来得及高兴,发现一运行都崩溃,经排查是三方库太旧的原因,但是有些老版本的库又不能全部更新,所以只能更新指定的库,命令如下:1、更新指定的第三方库podupdate库名2、只安装新添加的库,已更新的库忽略podinstall--verbo......
  • ios开发之--TableView刷新跳动问题
    场景:最近在项目中,加入了一个新的跳转功能,但是在返回上一个页面的时候,页面会出现跳动的问题,原因:1)接口调动的问题2)tableview的预估高度功能,就是可以给一个预估的高度,然后让cell自适应,_tableView.estimatedRowHeight=100.0f;_tableView.rowHeight=UITableViewAutomaticDimension;......
  • ios 开发之--逆序输出字符串
    //字符串反转NSString*str=@"abcedfghijklmnopqrstuvwxyz";NSMutableString*string=[NSMutableStringstringWithCapacity:str.length];intj=(int)str.length;for(inti=j-1;i>=0;i--){[stringappendFormat:@"%c......
  • SpringBoot实现统一异常处理
    大家在使用SpringBoot开发项目的时候肯定都需要处理异常吧,没有处理异常那么异常信息直接显示给用户这是非常不雅观的,同时还可能造成用户误会,那么今天我们就来简单的写一下如何在SpringBoot项目中实现统一的异常处理。1.自定义异常类我们先定义一个自定义业务异常类,这个异常类继......
  • Objective-C语法之动态类型(isKindOfClass, isMemberOfClass,id)等
    对象在运行时获取其类型的能力称为内省。内省可以有多种方法实现。判断对象类型-(BOOL)isKindOfClass:classObj判断是否是这个类或者这个类的子类的实例/ 判断是否是这个类的实例-(BOOL)isMemberOfClass:classObj 我们试试这两个方法的使用。1、新建Person类继承NSObject,新......
  • iOS开发之--instancetype和id
    -(instancetype)initWithFrame:(CGRect)frame{self=[superinitWithFrame:(CGRect)frame];if(self){}returnself;}+(id)something;以上者两个方法,可能我们在码代码的过程中用过无数次,但是实际instancetype和id这两个具体区别,可能还真没怎么在......
  • iOS开发之--NSError错误码
    1、AFNNSURLErrorDomain错误编码typedefenum{NSURLErrorUnknown=-1,//未知NSURLErrorCancelled=-999,//取消NSURLErrorBadURL=-1000,//错误URLNSURLErrorTimedOut=-1001,//超时NSURLErrorUnsupportedURL=-1002,//不支持URLNSURLErrorC......
  • ios开发之--Multiple commands produce "xxxxx"
    新拉下来的项目执行完podinstall后,报如下错误,是因为使用了新的构建系统,改成原来的就可以了,如下图:  选择后,进入下图: 选择LegacyBuildSystem即可通过编译!重新编译即可,仅做记录!作者:稻草人11223......