首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >【Mysql】数据表的增删查改(基础)

【Mysql】数据表的增删查改(基础)

作者头像
E绵绵
发布2025-02-10 14:24:18
发布2025-02-10 14:24:18
4430
举报
文章被收录于专栏:编程学习之路编程学习之路

以下是针对数据表中数据的增删查改。

2.增加数据

单行数据 + 全列插入

代码语言:javascript
复制
insert 数据表名 value (值1,值2,...,值n);
  • 在插入数据时,插入的数据顺序必须与创建数据表时对应的字段位置顺序相同,不可搞乱顺序,规避数据顺序错误情况,总而言之要一一对应。

单行数据+指定列插入

代码语言:javascript
复制
​
insert 数据表名(字段名1,字段名2,...,字段名n)value (值1,值2,...,值n);

​

指定的字段名可以是数据表中的全部字段,也可以是部分字段。未添加的数据的字段系统会自动为该字段添加默认值NULL(空的)


多行数据 + 全列插入

代码语言:javascript
复制
​
insert 数据表名 value (值列表1),(值列表2),...,(值列表n);

​
  • 在同时插入多行数据时,多个值列表之间使用逗号相隔。

插入数据时我们一般都不用单行插入,而是多行数据一起插入,这样更高效。

3.查询数据

全列查询

代码语言:javascript
复制
SELECT * FROM  数据表;
  • 查询数据表中所有字段的数据,星号*通配符代表数据表中的所有字段名。

通常情况下不建议使用 * 进行全列查询 1. 查询的列越多,意味着需要传输的数据量越大; 2. 可能会影响到索引的使用。(索引待后面课程讲解)

指定列查询

代码语言:javascript
复制
SELECT 字段名1,字段名2,字段名3,...,字段名n FROM 数据表名;

指定列的顺序不需要按定义表的顺序来

查询 字段为表达式

代码语言:javascript
复制
select 表达式 from 表名;

表达式不包含字段时:

表达式包含一个字段时:

表达式包含多个字段时:

表达式中的 加减乘除 之类的针对列进行的运算 只是对数据库服务器査询出的数据进行运算,它们是临时的数据,不会影响到数据库服务器原有的保存的数据.

别名

为查询结果中的列指定别名,以别名作为该列的名称出现在临时表中

代码语言:javascript
复制
​
SELECT 字段名 as 别名 FROM 数据表名;

​

去重:distinct

使用DISTINCT关键字对某列数据进行去重:

而原本是:

所以达到了一个很好的去重效果 而如果有多列,那去重就要求该多列完全一样才能去重,否则会如下图一样。

左边虽然相同,但右边不相同,所以去不了重。

排序:order by

代码语言:javascript
复制
select ... from 数据表 order by 字段 (asc/desc);

-- ASC 为升序(从小到大) -- DESC 为降序(从大到小) -- 如果都不填默认为 ASC。

1.注意排序以一整行为单位,排序会对一整行做出改变。 2.同样该排序只是对数据库服务器査询出的数据进行排序,它们是临时的数据,不会影响到数据库服务器原有的保存的数据顺序. 3.如果你 select 的时候没有把order by 指定的列查出来 也不影响 排序~~,其他列依旧会排序


4.order by 还可以针对表达式进行排序~~


5.order by 还可以指定多个列进行排序,排序优先级随书写顺序。先按照最左边顺序来,如果最左边相同,再按照右边顺序来。

如图就是先按照c进行升序,因为存在相同的行,相同行又按照b大小进行降序。

条件查询:where

其中要用到运算符,分为比较运算符和逻辑运算符。

比较运算符:

逻辑运算符:

注意:

1. where条件可以使用表达式,但尽量别使用别名,很可能报错。

2. AND的优先级高于OR,在同时使用时,需要使用小括号()包裹优先执行的部分

3.MySQL不存在==这种运算符

4.like运算符的模糊匹配只适用于字符串。


以下是一些经典案例,这是数据表中的内容:


基本查询:

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


AND与OR :

查询语文成绩大于80分,且英语成绩大于80分的同学

查询语文成绩大于80分,或英语成绩大于80分的同学


范围查询:

1. BETWEEN ... AND ...

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

2. IN

查询数学成绩是 58 或者 59 或者 98 或者 99 分的同学及数学成绩


模糊查询:LIKE

like只针对于字符串,其中%能表示任意多个(包括0个)任意字符;_表示任意一个字符。


NULL 的查询:is not null

我们加入了一个没有成绩的李白

查询有语文成绩的同学

查询没有英语成绩的同学


分页查询:LIMIT

语法如下:

代码语言:javascript
复制
SELECT 列 from 数据表  LIMIT n;
代码语言:javascript
复制
SElECT 列 from 数据表  LIMIT n offset s;

其计算是以下标方式计算的,其中我们将第一行数据当作下标为0。

所以limit n 的代码也就是从 0(第一行) 开始,筛选 n 条结果。

所以limit n 也就相当于 limit n offset 0;

limit n offset s也就相当于从s(第s+1行)开始,筛选n条结果

其中如果筛选的结果不足,不会有影响。

4.修改数据

代码语言:javascript
复制
UPDATE table_name SET column = expr [, column = expr ...]
 [WHERE ...] [ORDER BY ...] [LIMIT ...]

案例:

因为不存在== ,所以mysql这里的=既可以代表赋值,还可以代表是否相等。

5.删除数据

代码语言:javascript
复制
DELETE FROM  table_name [WHERE ...] [ORDER BY ...] [LIMIT ...]

案例:

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-02-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 2.增加数据
    • 单行数据 + 全列插入
    • 单行数据+指定列插入
    • 多行数据 + 全列插入
  • 3.查询数据
    • 全列查询
    • 指定列查询
    • 查询 字段为表达式
    • 别名
    • 去重:distinct
    • 排序:order by
    • 条件查询:where
    • 分页查询:LIMIT
  • 4.修改数据
  • 5.删除数据
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档