MySQL数据库操作基础(增删查改)

news2024/11/27 21:07:03

数据库操作基础(增删查改)

1.插入

1.1往数据表中插入一条数据

insert into 表名 values (值,值,值...)

此处列出的这些值的数目和类型 要和表的相对应

image-20230714173539079

1.2指定列插入

insert into 表名(列名) values (值);

image-20230714173849256

image-20230714175353393

1.3一次插入多个记录

insert into 表名 values (值),(值)...

image-20230714173952702

一次插入多行记录效率 往往高于 一次插入一条记录,分多次插入

2.查询

2.1 全列查询

select * from 表名;

这个操作,就是查询出当前数据库中所有的行和列

*****能够代表所有的列

image-20230714174839151

2.2 指定列查询

select 列名,列名.. from 表名;

手动指定要查询的某一列或某几列~~ 服务器返回的结果,就只包含想要的数据~~

image-20230714175618988

2.3 查询字段为表达式

查询的同时,可以进行计算

eg:image-20230714180125773

image-20230714182319122

2.4 查询的时候给列/表达式 指定别名 as

select 列名 as 别名 from 表名;

as 关键字,可以省略,但是不建议 ,写上 as 会更容易看,别名会最终显示在查询结果的临时表中.

image-20230714183052577

2.5查询时去重 distinct

select distinct 列名 from 表名;

查询的时候,把重复的行,去掉,只保留一份~~

image-20230714183428684

2.6排序查询 order by ----- asc/desc

针对查询到的结果进行排序,

mysql 是一个客服端-服务器结构的程序~~,因此这里的排序,也是针对临时表进行的,对于数据库服务器上的原始数据没有任何顺序上的影响

select 列名 from 表名 order by 列名 asc/desc;

asc 是升序,不写也是默认升序

desc 降序

image-20230714184102811

如果SQL中没有指定 order by,则我们不能确定他是有顺序的,虽然有时候我们看着是有顺序的,但是我们不能依赖这个顺序,因为mysql没有说他是有序的


order by 还能指定多个列排序~~(order by 后面可以写多个列~)

image-20230714184459787

2.7条件查询: where

2.7.1 运算符

指定一个筛选条件,把符合条件的结果保留下来,不符合的就剔除掉~~

关系运算符

在这里插入图片描述

逻辑运算符

image-20230715081659393

注:

  1. where 条件可以使用表达式,但不能使用别名。
  2. 多个条件时,使用 () 来确保正确的顺序

2.7.2 基本查询

eg:

– 查询英语不及格的同学及英语成绩 ( < 60 )

image-20230715082120455

– 查询语文成绩好于英语成绩的同学

注: 条件比较的时候,并不只是使用列名和常量比较(math>60),也可以使用列名和其他列名比较~~

image-20230715082431778

–查询总分在 200 分以下的同学

注: 条件查询,也可以结合一些更复杂的表达式

image-20230715082741946

mysql 的 where 条件中,无法使用 的别名

image-20230715083206806

and 与 or

image-20230715083615589

2.7.3 范围查询

between and —查询这个区间

eg: 查询语文成绩在 [80,90] 分的同学及语文成绩

image-20230715093818537

注: 可以看出也能用 and 来实现,但是 between and 更方便

in 查询符合要求的

image-20230715094111595

2.7.4** 模糊查询 like**

mysql 进行 like 模糊查询,低效,实际开发,慎重使用

% 匹配任意多个(包括 0 个)字符

_ 匹配严格的一个任意字符

image-20230715094851624

2.7.5 null 查询 – > is[not]null

image-20230715100229722

null 与其他运算的结果还是 null,即最后结果相当于 false

image-20230715101839731

<=> 可以理解为 equals ,比较 两个值是否相同

c72068d18a4b8bd33159d66cb83e9c0


2.8分页查询 limit , offset 偏移量

LIMIT出现在查询语句的最后,可以使用一个参数或两个参数来限制取出的数据。其中第一个参数代表偏移量:offset(可选参数),第二个参数代表取出的数据条数:rows。

  • 单参数用法

当指定一个参数时,默认省略了偏移量,即偏移量为0,从第一行数据开始取,一共取rows条。

/* 查询前5条数据 */
SELECT * FROM Student LIMIT 5;
  • 双参数用法

当指定两个参数时,需要注意偏移量的取值是从0开始的,此时可以有两种写法:

/* 查询第1-10条数据 */
SELECT * FROM Student LIMIT 0,10;
/* 查询第11-20条数据 */
SELECT * FROM Student LIMIT 10 OFFSET 10;// 

针对查询出来的结果,进行 截取 ,取出其中的一个部分~~

image-20230715185049370

就像是四个一页

image-20230715185141524

offset 就是相当于 从哪一个开始算

上述八种查询的写法比较基础,也是经常用到的,熟练掌握即可,多写,多练


3.修改 update

update 表名 set 列名 = 值 where 条件...;

进行修好,要明确一些信息

  1. 改哪个表
  2. 改这个表里的哪个列/哪些列,改成什么
  3. 改这个表的哪些行

将孙悟空同学的数学成绩变为 80 分

image-20230715192836896


将曹孟德同学的数学成绩变更为 60 分, 语文成绩变更为 70 分;

update 表名 set chinese = 70, math = 60 where name = '曹孟德';

image-20230715193535640


修改操作,也可以搭配 order by 这样的排序操作

eg : 将总成绩倒数前三的 3 位同学的数学成绩加上 10 分

update 表名 set math = math + 10 order by chinese + math + english limit 3;

注意: 修改时也要结合一下数据范围,不要超出,不然会报错

例如加上 30 分会超过范围

image-20230715204038259

​ 由此,可以知道, update可以理解成,先查询,再修改,即先查询一下看修改后的是否符合条件,然后在进行修改


如果update 后面没有指定任何条件,则会把所有的行都进行修改

update 表名 set math = 0;

image-20230715204544180

由此可见, update 也是一个很危险的操作,更改甚至比误删的后果还要大,也要谨慎使用.

4.删除 delete

delete from 表名 where 条件;

直接删除 符合条件 的行~~

eg: 删除 孙悟空 的成绩

delete from 表名 where name = '孙悟空';

如果在 delete 的时候,没有指定条件,就会把整个表的所有数据都删掉!!

delete from 删除之后,表还在,表里的数据,没了~~

drop table 删除之后,表和表里的数据都没了~~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1805070.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

深度学习500问——Chapter10:迁移学习(1)

文章目录 11.1 迁移学习基础知识 11.1.1 什么是迁移学习 11.1.2 为什么需要迁移学习 11.1.3 迁移学习的基本问题有哪些 11.1.4 迁移学习有哪些常用概念 11.1.5 迁移学习与传统机器学习有什么区别 11.1.6 迁移学习的核心及度量准则 11.1.7 迁移学习与其他概念的区别 11.1.8 什么…

达梦数据库相关SQL及适配Mysql配置总结

&#x1f353; 简介&#xff1a;java系列技术分享(&#x1f449;持续更新中…&#x1f525;) &#x1f353; 初衷:一起学习、一起进步、坚持不懈 &#x1f353; 如果文章内容有误与您的想法不一致,欢迎大家在评论区指正&#x1f64f; &#x1f353; 希望这篇文章对你有所帮助,欢…

Leetcode 力扣109. 有序链表转换二叉搜索树 (抖音号:708231408)

给定一个单链表的头节点 head &#xff0c;其中的元素 按升序排序 &#xff0c;将其转换为 平衡 二叉搜索树。 示例 1: 输入: head [-10,-3,0,5,9] 输出: [0,-3,9,-10,null,5] 解释: 一个可能的答案是[0&#xff0c;-3,9&#xff0c;-10,null,5]&#xff0c;它表示所示的高…

每日一题——Python实现PAT乙级1042 字符统计(举一反三+思想解读+逐步优化)

一个认为一切根源都是“自己不够强”的INTJ 个人主页&#xff1a;用哲学编程-CSDN博客专栏&#xff1a;每日一题——举一反三Python编程学习Python内置函数 Python-3.12.0文档解读 目录 我的写法 优点 缺点和改进建议 时间复杂度分析 空间复杂度分析 改进后的代码 我…

关键字、保留字、标识符

关键字 关键字是被 Java 赋予了特定含义的英文单词。 关键字的字母全部小写。 保留字 现有的 Java 版本尚未使用&#xff0c;但是以后版本可能会作为关键字使用。自己命名标识符时需要避免使用这些保留字。 保留字有&#xff1a;byValue, cast, future, generic, inner, op…

数据并非都是正态分布:三种常见的统计分布及其应用

你有没有过这样的经历&#xff1f;使用一款减肥app&#xff0c;通过它的图表来监控自己的体重变化&#xff0c;并预测何时能达到理想体重。这款app预测我需要八年时间才能恢复到大学时的体重&#xff0c;这种不切实际的预测是因为应用使用了简单的线性模型来进行体重预测。这个…

【吊打面试官系列-Mysql面试题】BLOB 和 TEXT 有什么区别 ?

大家好&#xff0c;我是锋哥。今天分享关于 【BLOB 和 TEXT 有什么区别&#xff1f;】面试题&#xff0c;希望对大家有帮助&#xff1b; BLOB 和 TEXT 有什么区别 &#xff1f; BLOB 是一个二进制对象&#xff0c;可以容纳可变数量的数据。TEXT 是一个不区分大小写的 BLOB。 1…

Java 语言概述 -- Java 语言的介绍、现在、过去与将来

大家好&#xff0c;我是栗筝i&#xff0c;这篇文章是我的 “栗筝i 的 Java 技术栈” 专栏的第 001 篇文章&#xff0c;在 “栗筝i 的 Java 技术栈” 这个专栏中我会持续为大家更新 Java 技术相关全套技术栈内容。专栏的主要目标是已经有一定 Java 开发经验&#xff0c;并希望进…

使用proteus仿真51单片机的流水灯实现

proteus介绍&#xff1a; proteus是一个十分便捷的用于电路仿真的软件&#xff0c;可以用于实现电路的设计、仿真、调试等。并且可以在对应的代码编辑区域&#xff0c;使用代码实现电路功能的仿真。 汇编语言介绍&#xff1a; 百度百科介绍如下&#xff1a; 汇编语言是培养…

Knife4j 生成 API 文档

文章目录 Knife4j 简介使用步骤Knife4j 常用注解的列表案例注意 Knife4j 简介 Knife4j 是一个增强的 Swagger 文档生成工具&#xff0c;提供了更加友好的界面和更多功能&#xff0c;使得 API 文档更加美观且易于使用。它是基于 Spring Boot 和 Swagger 进行封装的&#xff0c;…

【下篇】从 YOLOv1 到 YOLOv8 的 YOLO 物体检测模型历史

YOLO 型号之所以闻名遐迩,主要有两个原因:其速度和准确性令人印象深刻,而且能够快速、可靠地检测图像中的物体。上回我解释了YoloX, 今天从Yolov6开始。 YOLOv6:面向工业应用的单级物体检测框架 美团视觉人工智能事业部(Meituan Vision AI Department)于 2022 年 9 月在…

《精通ChatGPT:从入门到大师的Prompt指南》第4章:避免常见错误

第4章&#xff1a;避免常见错误 在使用ChatGPT进行Prompt编写时&#xff0c;常见的错误可能会大大影响生成内容的质量和准确性。本章将详细讨论这些错误&#xff0c;并提供如何避免它们的建议。 4.1 不明确的指令 在使用ChatGPT时&#xff0c;一个常见的问题是指令不够明确。…

Vue3中的常见组件通信之$attrs

Vue3中的常见组件通信之$attrs 概述 ​ 在vue3中常见的组件通信有props、mitt、v-model、 r e f s 、 refs、 refs、parent、provide、inject、pinia、slot等。不同的组件关系用不同的传递方式。常见的撘配形式如下表所示。 组件关系传递方式父传子1. props2. v-model3. $re…

LLVM Cpu0 新后端4

想好好熟悉一下llvm开发一个新后端都要干什么&#xff0c;于是参考了老师的系列文章&#xff1a; LLVM 后端实践笔记 代码在这里&#xff08;还没来得及准备&#xff0c;先用网盘暂存一下&#xff09;&#xff1a; 链接: https://pan.baidu.com/s/1V_tZkt9uvxo5bnUufhMQ_Q?…

动态规划学习(分组背包)

分组背包的定义 分组背包是相比于01背包来讲&#xff0c;其就是多了一个组&#xff0c;给你n个组&#xff0c;每个组里有各自的物品&#xff0c;每个组里的物品只能选择一个&#xff0c;问你&#xff0c;选出来的最大价值是多少 这里我们的遍历顺序的三层循环&#xff0c;最外…

Burp Suite Professional 2024.5 (macOS, Linux, Windows) - Web 应用安全、测试和扫描

Burp Suite Professional 2024.5 (macOS, Linux, Windows) - Web 应用安全、测试和扫描 Burp Suite Professional, Test, find, and exploit vulnerabilities. 请访问原文链接&#xff1a;Burp Suite Professional 2024.5 (macOS, Linux, Windows) - Web 应用安全、测试和扫描…

Spring boot+vue前后端分离

目录 1、前端vue的搭建 2、后端项目的构建 pom文件中引入的jar包 yml文件用来配置连接数据库和端口的设置 application.property进行一些整合 service层 imp层 mapper 实体类 额外写一个类、解决跨域问题 3、测试 1、前端vue的搭建 建立项目的过程略 开启一个建立好…

Linux之进程信号详解【上】

&#x1f30e; Linux信号详解 文章目录&#xff1a; Linux信号详解 信号入门 技术应用角度的信号 信号及信号的产生       信号的概念       信号的处理方式 信号的产生方式         键盘产生信号         系统调用产生信号         软件…

python - pandas常用计算函数

文中所用数据集有需要的可以私聊我获取 学习目标 知道排序函数nlargest、nsmallest和sort_values的用法 知道Pandas中求和、计数、相关性值、最小、最大、平均数、标准偏差、分位数的函数使用 1 排序函数 导包并加载数据集 import pandas as pd ​ # 加载csv数据, 返回df对…

htb-linux-7-cronos-53-dns-nslookup-axfr

nmap DNS服务的枚举 靶机开启了53端口域名服务 枚举DNS服务 - nslookup 使用nslookup工具&#xff0c;设置DNS服务器的地址为10.10.10.13&#xff0c;需要查询10.10.10.13绑定的域名 枚举DNS服务 - axfr 使用dig工具来做区域传输(Zone Transfer)的查询&#xff1a;dig ax…