【MySQL】表的增删查改(CRUD)(上)

ops/2025/2/25 11:06:08/

 个人主页:♡喜欢做梦

欢迎  👍点赞  ➕关注  ❤️收藏  💬评论


CRUD:Create(新增数据)、Retrieve(查询数据)、Update(修改数据)、Delete(修改数据)

✨一、新增数据(Create) 

语法:

INSERT [INTO] table_name[(column [, column] ...)]
VALUES (value_list) [, (value_list)] ...
value_list: value, [, value] ...
  •  大写表示关键字;
  • []表示可写可不写;

这里我们先学会一下查看表中的数据:

  • 查看数据:

select* from 表名 

示例:查看courses表中的数据

我还未在select表中添加数据,所以显示为空。 

🌟1.单行添加+全列插入

  • 写法一:

intsert [into] 表名 [(字段1,字段2...)]values(值1,值2...); 

示例1: 

 

 查看数据:

  •  写法二:简写

insert [into] 表名 values(值1,值2....);

示例:

查询数据:

🌟2.多行添加+指定列插入:

insert [into] 表名 [字段1,字段2] values(值1,值2)[,(值1,值2),(值1,值2)];

  • 多行添加用逗号隔开;
  • 与单行添加相似,可以该省的省 

示例:

 

查看数据:

注意:

  • into和字段可写可不写;
  • 字符要加单引号;
  • 值要与字段(列数)相对应,否则会报错; 

✨二、查询数据

语法:

SELECT[DISTINCT] {* | {column [, column] ...} [FROM table_name][WHERE ...][ORDER BY column [ASC | DESC], ...]LIMIT ...

💫全列查询

在之前我们其实已经学会了全列查询也就是:

select * from 表名;

  • select和from表示关键词;
  • * 表示要查询表中的所有列; 
  • 如果在生产环境中,查询表是一个很危险的操作, 因为其有庞大的数据量。

示例: 

mysql> select * from exam;
+------+--------+---------+------+---------+
| id   | name   | chinese | math | english |
+------+--------+---------+------+---------+
|    1 | 张三   |    67.0 | 80.0 |    88.0 |
|    2 | 李四   |    87.0 | 55.0 |    66.0 |
|    3 | 小五   |    91.0 | 90.0 |    96.0 |
|    4 | 小六   |    48.0 | 32.0 |    55.0 |
+------+--------+---------+------+---------+
4 rows in set (0.05 sec)

💫指定列查询

select 字段1,字段2... from 表名;

 示例:

mysql> select id,name,math from exam;
+------+--------+------+
| id   | name   | math |
+------+--------+------+
|    1 | 张三   | 80.0 |
|    2 | 李四   | 55.0 |
|    3 | 小五   | 90.0 |
|    4 | 小六   | 32.0 |
+------+--------+------+
4 rows in set (0.00 sec)

💫查询字段为表达式

表达式是有数字、变量、运算符、函数等一定规则组合成的式子,例如,2,2+3,x/3等.....

selsect 字段1,字段2,表达式  from 表名; 

  • 写法一:表达式中不包含字段

示例: 

  • 写法二:表达式中包含一个字段

示例:

 

  • null与任何数运算都为null

  • 写法三:表达式包含多个字段 

示例:

 

注意:   

  • 指定列的顺序与表的顺序无关; 

  • 除表达式外,如果查找该表中不存在的字段名,那么就会报错; 

 💫为查询结果指定别名

语法:

SELECT column [AS] alias_name [...] FROM table_name;

    示例:

    • 不指定别名前:

    • 指定别名后: 

    •  as可以省略,但是要空一格;
    • 如果别名之间有空格需要加上单引号

    💫去重查询

     select distinct 字段1,字段2....  from 表名;

    先查看一下表中的数据

    示例: 接下来对chinese、math、english中的元素进行去重

    如果我们要同时加上id,name并且对chinese、math、english中的元素进行去重,看一下是否可以成功?

    这是为什么呢?

    因为如果要去重的话,对重复行的要求是,你指定列上的元素要全部相同。 

    💫排序

     select 列名 from 表名 order by 列名[asc|desc];

    •  asc表示升序,从上至下依次从小到大排序;
    • desc表示降序,从上至下依次从大到小排序;
    • 如果都不写默认升序,但最好不要依赖系统给的默认排序;
    • 可以使用表达式和别名进行排序。 

    示例:

     

    • NULL比任何值都来的小。 
    • 也可以多个字段同时进行排序,但是存在优先级顺序

    查询的内容有点小多,下篇下继续写🌹🌹🌹 


    http://www.ppmy.cn/ops/161182.html

    相关文章

    PyTorch gather 方法详解:作用、应用场景与示例解析(中英双语)

    PyTorch gather 方法详解:作用、应用场景与示例解析 在深度学习和自然语言处理(NLP)任务中,我们经常需要从高维张量中提取特定索引的数据。 PyTorch 提供的 torch.gather 方法可以高效地从张量的指定维度收集数据,广泛…

    利用LangChain实现BabyAGI

    文章目录 BabyAGI介绍环境与工具向量存储构建任务链 本文将利用LangChain实现BabyAGI。通过本文内容,读者可以更加直观地看到每一步骤的运行情况,并且也可以在自己的环境中进行实验。 BabyAGI介绍 BabyAGI是由Yohei Nakajima在2023年5月发布的一个自治的…

    视频大小怎么计算?视频码率是什么,构成视频清晰度的核心要素!

    前言: 最近对高清视频比较感兴趣,码率是一个提及很多的词语,所以也就来了解一下码率。 1:含义 视频码率(Bitrate)是衡量视频数据在单位时间内传输或处理的数据量,通常以 比特每秒(…

    kafka基本知识

    什么是 Kafka? Apache Kafka 是一个开源的分布式流处理平台,最初由 LinkedIn 开发,后来成为 Apache 软件基金会的一部分。Kafka 主要用于构建实时数据管道和流处理应用程序。它能够高效地处理大量的数据流,广泛应用于日志收集、数…

    详解 @符号在 PyTorch 中的矩阵乘法规则

    详解 符号在 PyTorch 中的矩阵乘法规则 在 PyTorch 和 NumPy 中, 符号被用作矩阵乘法运算符,它本质上等价于 torch.matmul() 或 numpy.matmul(),用于执行张量之间的矩阵乘法。 在本篇博客中,我们将深入探讨: 运算符…

    Linux系统中常见的词GNU是什么意思?

    GNU 是 “GNU’s Not Unix” 的递归缩写,它是一个自由软件项目,旨在创建一个完全自由的操作系统。这个名字反映了GNU项目的核心理念:它试图创建一个类Unix的系统,但不是Unix本身。 GNU 项目由 理查德斯托曼(Richard S…

    使用Windbg调试目标进程排查C++软件异常的一般步骤与要点分享

    目录 1、概述 2、将Windbg附加到已经启动起来的目标进程上,或者用Windbg启动目标程序 2.1、将Windbg附加到已经启动起来的目标进程上 2.2、用Windbg启动目标程序 2.3、Windbg关联到目标进程上会中断下来,输入g命令将该中断跳过去 3、分析实例说明 …

    Python 高级数据结构操作全解析:从理论到实践

    Python 高级数据结构操作全解析:从理论到实践 本文深入剖析 Python 高级数据结构,通过丰富的代码示例、形象的配图,详细讲解集合、字典、堆、队列等数据结构的操作,同时拓展相关知识,帮助读者深入掌握 Python 编程核心…