【MySQL】一文带你了解表的增删改查 CRUD

news2024/11/27 12:37:04

文章目录

    • 1. 增加(Create)
      • 1.1 单行插入 + 全列插入
      • 1.2 多行插入 + 指定列插入
    • 2. 查询(Retrieve)
      • 2.1 全列查询
      • 2.2 指定列查询
      • 2.3 查询字段为表达式
      • 2.4 别名
      • 2.5 去重
      • 2.6 排序
    • 3. 条件查询(Where)
      • 3.1比较运算符
      • 3.2 逻辑运算符
      • 3.3 举例
        • 1. > <
        • 2. and or 和 is null is not null
        • 3. between ... and ...
        • 4. in
        • 5. like
    • 4. 分页查询(limit)
    • 5. 修改(Update)
    • 6. 删除(Delete)
    • 7. 总结

1. 增加(Create)

语法
insert [into] table_name [(column [, column] …)] values (value_list) [, (value_list)] …
可能有点复杂,其实很简单,下面有分部的简单的解释。

1.1 单行插入 + 全列插入

-- 插入两条记录,value_list 数量必须和定义表的列的数量及顺序一致
insert books values('道诡异仙','狐尾的笔','259');
insert into books values('夜的命名术','会说话的肘子','239');

增加

1.2 多行插入 + 指定列插入

-- 插入两条记录,value_list 数量必须和指定列数量及顺序一致
insert into books(name, author) values('诡秘之主','潜水的乌贼'),('牧神记','宅猪');

cr

2. 查询(Retrieve)

语法
select [distinct] {* | column [, column] …} [from table_name] [where …] [order by column [asc | desc], …] limit …

2.1 全列查询

-- 谨慎使用 * 进行全列查询哦~
-- 1. 查询的列越多,意味着需要传输的数据量越大;
-- 2. 可能会影响到索引的使用。
select * from books;

查询

2.2 指定列查询

-- 指定列的顺序不需要按定义表的顺序来
select name, author from books;

插入指定

2.3 查询字段为表达式

-- 可以进行四则表达式
-- 更改的知识自己的客服端,当再一次查询的时候,仍为未运算时;
select name, price + 10 from books;

运算

2.4 别名

语法
select column [as] alias_name […] from table_name;

-- 当运算后,表中名字会很怪,例如上图价格不在时price,而是price + 10
-- 这个时候我们就可以起个别名,让它变得简单
select name, price + 10 as up from books;

加价

2.5 去重

语法
select distinct column from table_name;

select distinct author from books;

quc

2.6 排序

语法
select … from table_name [where…] order by column [ASC|DESC], […];

-- 升序
select * from books order by price;
--降序
select * from books order by price desc;

排序

3. 条件查询(Where)

3.1比较运算符

运算符说明
>, >=, <, <=大于,大于等于,小于,小于等于
=等于,null不安全,如:null = null 结果null
<=>等于,null安全,如:null = null 结果true(1)
!=,<>不等于
between a0 and a1范围匹配,[a0, a1],如果 a0 <= value <= a1,返回 true(1)
in(option …)如果是 option 中的任意一个,返回 true(1)
is null是null
is not null不是null
like模糊匹配。% 表示任意多个(包括 0 个)任意字符;_ 表示任意一个字符

3.2 逻辑运算符

运算符说明
and多个条件必须都为 TRUE(1),结果才是 TRUE(1)
or任意一个条件为 TRUE(1), 结果为 TRUE(1)
not条件为 TRUE(1),结果为 FALSE(0)

3.3 举例

1. > <

-- 查询价格在300以上
select * from books where price > 300;
-- 查询价格在300以下
select * from books where price < 300;  

><

2. and or 和 is null is not null

相当于&& ||

--查询作者是null并且价格为null
select * from books where author is null and price is null;
--查询作者是null或者价格不是null
select * from books where author is null or price is not null;

筛选

3. between … and …

-- 查询价格在280-320
select * from books where price between 280 and 320; 

280

4. in

-- 查询价格是 299 或者 359 或者 398 或者 399 的书
select name, price from books where price in(299, 359, 398,399);

in

5. like

-- % 匹配任意多个(包括 0 个)字符
select name, price from books where price like '2%';
-- _ 匹配严格的一个任意字符
select name, price from books where price like '3_';

like

4. 分页查询(limit)

语法

-- 起始下标为 0
-- 从 0 开始,筛选 n 条结果
select ... from table_name [where ...] [order by ...] limit n;
-- 从 s 开始,筛选 n 条结果
select ... from table_name [where ...] [order by ...] limit s, n;
-- 从 s 开始,筛选 n 条结果,比第二种用法更明确,建议使用
select ... from table_name [where ...] [order by ...] limit n offset s;
-- 按价格分页,每页三条,分4页
-- 第一页
select * from books order by price limit 3 offset 3;
-- 第二页
select * from books order by price limit 3 offset 3;
-- 第三页
select * from books order by price limit 3 offset 6;
-- 第四页 不足三个无影响
select * from books order by price limit 3 offset 9;

分页

5. 修改(Update)

语法
update table_name set column = expr [, column = expr …] [where …] [order by …] [limit …]

-- 将斗罗大陆的作者改为唐家三少
update books set author = '唐家三少' where name = '斗罗大陆';
-- 将所有书降价10

修改
降价

6. 删除(Delete)

语法
delete from table_name [where …] [order by …] [limit …]

-- 删除斗破苍穹的价格
delete from books where name = '斗破苍穹';
-- 删除整表数据
--谨慎操作
delete from goods;
-- 但是表仍然存在
-- 删除整个表
drop table books;

shanchu

7. 总结

就是表的增删改查CRUD, 即增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)四个单词的首字母缩写。
这些属于基础的操作,下面还有更复杂的操作,我们下次见!

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

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

相关文章

【人工智能】— 学习与机器学习、无/有监督学习、强化学习、学习表示

【人工智能】— 学习与机器学习、无/有监督学习、强化学习、学习表示 上一章Bayesian Networks本章&#xff1a;观测学习学习学习元素机器学习概论机器学习对什么有用自动语音识别计算机视觉Information retrieval—信息检索 机器学习机器学习&#xff1a;定义 电子邮件过滤问题…

全志V3S嵌入式驱动开发(gpio输出)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 不管是对mcu&#xff0c;还是对soc来说&#xff0c;gpio肯定是越多越好。但是一个芯片上&#xff0c;它的引脚总是有限的&#xff0c;特别对于非BG…

修改邻接变量-0day漏洞利用原理(6)

大多数情况下,局部变量在栈中的分布是相邻的,但也有可能出于编译优化等需要而有所例外。具体情况我们需要在动态调试中具体对待,这里出于讲述基本原理的目的,可以暂时认为局部变量在栈中是紧挨在一起的。 提供理论基础 下一篇利用:非法的超长密码去修改 bufer 的邻接变量…

支持向量机练习

练习5&#xff1a;支持向量机 介绍 在本练习中&#xff0c;我们将使用支持向量机&#xff08;SVM&#xff09;来构建垃圾邮件分类器。 在开始练习前&#xff0c;需要下载如下的文件进行数据上传&#xff1a; data.tgz -包含本练习中所需要用的数据文件 其中&#xff1a; e…

2. 卷积的经典模型

一、什么是卷积神经网络 卷积神经网络就是含有卷积层的网络。 二、有哪些经典的模型&#xff1f;每一次的技术进步在哪里&#xff1f; 卷积神经网络&#xff08;LeNet&#xff09; LeNet第一次将卷积神经网络推上舞台&#xff0c;通过梯度下降训练卷积神经网络可以达到手写数字…

chatgpt赋能python:Python中取出中间文本的方法

Python中取出中间文本的方法 在Python开发中&#xff0c;我们常常需要从字符串中取出特定位置的文本&#xff0c;例如从一个网页源码中提取出指定的内容。而且&#xff0c;一份好的代码需要清晰易懂、高效可靠。那么&#xff0c;在Python中如何取出中间文本呢&#xff1f;下面…

超详细Redis入门教程——Redis 主从集群(下)

前言 本文小新为大家带来 Redis 主从集群 相关知识&#xff0c;具体内容包括哨兵机制实现&#xff08;包括&#xff1a;哨兵机制简介&#xff0c;Redis 高可用集群搭建&#xff0c;Redis 高可用集群的启动&#xff0c;Sentinel 优化配置&#xff09;&#xff0c;哨兵机制原理&a…

史上最全网络安全面试题汇总

最近有不少小伙伴跑来咨询&#xff1a; 想找网络安全工作&#xff0c;应该要怎么进行技术面试准备&#xff1f;工作不到 2 年&#xff0c;想跳槽看下机会&#xff0c;有没有相关的面试题呢&#xff1f; 为了更好地帮助大家高薪就业&#xff0c;今天就给大家分享一份网络安全工…

vmware创建ubuntu服务器>>(使用xshell)配置连接

目录 引言服务器创建准备镜像创建服务器全过程新建虚拟机选择虚拟机硬件兼容性镜像选择服务器目录名和基础信息设置虚拟机命名和存储位置设置处理器配置内存配置网络选型下一步连续点击启动 服务器配置root用户密码设置root用户切换安装ssh服务并启动vmware-ssh配置链接 xshell…

算法(三)—— 双指针

文章目录 27 移除元素344 反转字符串&#xff08;手写reverse&#xff09;剑指 Offer 05 替换空格19 删除链表的倒数第N个节点面试题 02.07. 链表相交15 三数之和二、使用步骤1.引入库2.读入数据 总结 27 移除元素 题目&#xff1a;原地移除数组中值为val的元素 思路&#xff…

Jetson Orin Nano nvme系统备份和恢复

大家好&#xff0c;我是虎哥&#xff0c;Jeston Orin nano 8G模块&#xff0c;我自己也玩了一段时间&#xff0c;配置了很多环境后&#xff0c;我就在琢磨如何将系统像之前的模块一样捞取出来后&#xff0c;在新模块上进行恢复。过程是曲折的&#xff0c;结果也是曲折的&#x…

开源字节 考研集训营小程序

考研集训营的价格要比普通的班课贵很多&#xff0c;价格通常在上万元。考研集训营分为春季、暑期、秋季等短期集训营&#xff0c;还有半年和全年长期集训&#xff0c;为学生提供英语、数学、政治的公共课辅导和各种专业课的教学。想要了解更多的考研相关信息&#xff0c;获得适…

自然语言处理从入门到应用——自然语言处理的基本问题:结构预测问题

分类目录&#xff1a;《自然语言处理从入门到应用》总目录 与文本分类问题不同&#xff0c;在结构预测问题中&#xff0c;输出类别之间具有较强的相互关联性。例如&#xff0c;在词性标注任务中&#xff0c;一句话中不同词的词性之间往往相互影响&#xff0c;如副词之后往往出现…

1、mysql的安装与配置

下载安装配置 下载zip文件解压之后配置环境变量 在path后面添加mysql bin文件夹的路径&#xff1a;C:\Program Files (x86)\MySQL\bin 配置完环境变量后&#xff0c;在C:\Program Files (x86)\MySQL目录下新建一个配置文件mysql.ini&#xff0c;同时在bin的同级目录C:\Program …

算法的复杂度【数据结构】

1、时间复杂度 算法在编写成可执行程序后&#xff0c;运行时需要耗费时间资源和空间(内存)资源&#xff0c;因此衡量一个算法的好坏一般是从时间和空间两个维度来衡量的&#xff0c;即时间复杂度和空间复杂度时间复杂度主要衡量一个算法的运行快慢&#xff0c;而空间复杂度主要…

Jenkins安装配置

前言&#xff1a;Jenkins是一款CICD&#xff08;持续集成与持续交付&#xff09;工具。Jenkins可以帮你在写完代码后&#xff0c;一键完成开发过程中的一系列自动化部署的工作。 Jenkins 2.346.1 版本支持 jdk1.8 和 jdk11&#xff0c;最后一版支持jdk1.8的版本。 安装Jenkins前…

windows修改Pycharm的右键打开方式

title: windows中open floder as Pycharm太长了怎么修改 date: 2023-06-04 author: IoT_H2 tags: windows系统问题 categories: Markdown 问题描述&#xff1a; Pycharm这一栏这么长&#xff0c;长的我实在是很难受&#xff0c;事实上Jetbrains家的软件都是这个鸟模样 导…

RocketMq的单机版安装以及可视化软件的安装

一 RocketMq的单机版安装 1.1 RocketMq的上传 1.2 解压 [rootlocalhost export]# unzip rocketmq-all-4.9.6-bin-release.zip 1.3 修改配置 使用 vim 命令打开 bin/runserver.sh 文件。现将这些值修改为如下&#xff1a; [rootlocalhost bin]# vi runserver.sh 使用vim命令…

tinkerCAD入门操作(3):创建和操作分组对象

tinkerCAD入门操作(3)&#xff1a;创建和操作分组对象 介绍 我们现在将探索Tinkercad的超能力 - 组合简单的形状来制作复杂的对象。 组合形状是实体建模的基本目的。这就是汽车、建筑物和宇宙飞船等有趣东西的制作方式。现在&#xff0c;我们要教你这个超能力。 创建复合形状…

Stable-Diffusion|window10安装GPU版本的 Stable-Diffusion-WebUI遇到的一些问题(一)

教程主要参考&#xff1a; AI绘画第一步&#xff0c;安装Stable-Diffusion-WebUI全过程 ! Stable Diffusion WebUI使用手冊(正體中文)&#xff5c;Ivon的部落格 具体记录一下笔者除了按照上述教程&#xff0c;遇到坑的地方 文章目录 1 git PYTHON2 Nvidia设置3 stable-diffus…