MySQL~数据库表中数据的增删查改(基础篇)

| 5 | 貂蝉 | 80.5 | 87.6 | 90.3 |

| 6 | 孙尚香 | 99.0 | 12.1 | 10.0 |

| 7 | 小乔 | 98.0 | 99.0 | 4.3 |

| 8 | 孙权 | 85.0 | 77.0 | 87.0 |

| 9 | 孙策 | NULL | NULL | NULL |

| 10 | 刘禅 | NULL | NULL | NULL |

±-----±----------±--------±-----±--------+

10 rows in set (0.00 sec)

指定列查询


mysql> select id,name from exam;

±-----±----------+

| id | name |

±-----±----------+

| 1 | 刘备 |

| 2 | 关羽 |

| 3 | 大乔 |

| 4 | 吕布 |

| 5 | 貂蝉 |

| 6 | 孙尚香 |

| 7 | 小乔 |

| 8 | 孙权 |

| 9 | 孙策 |

| 10 | 刘禅 |

±-----±----------+

10 rows in set (0.00 sec)

查询字段为表达式


mysql> select id, name, english + 10 from exam;

±-----±----------±-------------+

| id | name | english + 10 |

±-----±----------±-------------+

| 1 | 刘备 | 50.9 |

| 2 | 关羽 | 40.8 |

| 3 | 大乔 | 40.8 |

| 4 | 吕布 | 80.2 |

| 5 | 貂蝉 | 100.3 |

| 6 | 孙尚香 | 20.0 |

| 7 | 小乔 | 14.3 |

| 8 | 孙权 | 97.0 |

| 9 | 孙策 | NULL |

| 10 | 刘禅 | NULL |

±-----±----------±-------------+

10 rows in set (0.00 sec)

mysql> select id, name, chinese + math + english from exam;

±-----±----------±-------------------------+

| id | name | chinese + math + english |

±-----±----------±-------------------------+

| 1 | 刘备 | 201.3 |

| 2 | 关羽 | 181.2 |

| 3 | 大乔 | 200.1 |

| 4 | 吕布 | 201.0 |

| 5 | 貂蝉 | 258.4 |

| 6 | 孙尚香 | 121.1 |

| 7 | 小乔 | 201.3 |

| 8 | 孙权 | 249.0 |

| 9 | 孙策 | NULL |

| 10 | 刘禅 | NULL |

±-----±----------±-------------------------+

10 rows in set (0.00 sec)

查询字段 名字重定义


mysql> select id, name, chinese + math + english as totle from exam;

±-----±----------±------+

| id | name | totle |

±-----±----------±------+

| 1 | 刘备 | 201.3 |

| 2 | 关羽 | 181.2 |

| 3 | 大乔 | 200.1 |

| 4 | 吕布 | 201.0 |

| 5 | 貂蝉 | 258.4 |

| 6 | 孙尚香 | 121.1 |

| 7 | 小乔 | 201.3 |

| 8 | 孙权 | 249.0 |

| 9 | 孙策 | NULL |

| 10 | 刘禅 | NULL |

±-----±----------±------+

10 rows in set (0.00 sec)

去重 distinct


  • 使用去重distinct时,所有的列都必须放在distinct的后面

mysql> select distinct chinese from exam;

±--------+

| chinese |

±--------+

| 90.1 |

| 99.0 |

| 80.5 |

| 98.0 |

| 85.0 |

| NULL |

±--------+

6 rows in set (0.01 sec)

排序 order by


  • asc为升序 desc为降序 什么都不加 默认asc

– 查询同学及总分,由高到低

mysql> select id, name, chinese + math + english as totle from exam order by totle desc;

±-----±----------±------+

| id | name | totle |

±-----±----------±------+

| 5 | 貂蝉 | 258.4 |

| 8 | 孙权 | 249.0 |

| 1 | 刘备 | 201.3 |

| 7 | 小乔 | 201.3 |

| 4 | 吕布 | 201.0 |

| 3 | 大乔 | 200.1 |

| 2 | 关羽 | 181.2 |

| 6 | 孙尚香 | 121.1 |

| 9 | 孙策 | NULL |

| 10 | 刘禅 | NULL |

±-----±----------±------+

10 rows in set (0.00 sec)

– 查询同学各门成绩,依次按 数学降序,英语升序,语文升序的方式显示

mysql> select * from exam order by chinese desc, math desc, english desc;

±-----±----------±--------±-----±--------+

| id | name | chinese | math | english |

±-----±----------±--------±-----±--------+

| 3 | 大乔 | 99.0 | 70.3 | 30.8 |

| 6 | 孙尚香 | 99.0 | 12.1 | 10.0 |

| 7 | 小乔 | 98.0 | 99.0 | 4.3 |

| 1 | 刘备 | 90.1 | 70.3 | 40.9 |

| 2 | 关羽 | 90.1 | 60.3 | 30.8 |

| 8 | 孙权 | 85.0 | 77.0 | 87.0 |

| 5 | 貂蝉 | 80.5 | 87.6 | 90.3 |

| 4 | 吕布 | 80.5 | 50.3 | 70.2 |

| 9 | 孙策 | NULL | NULL | NULL |

| 10 | 刘禅 | NULL | NULL | NULL |

±-----±----------±--------±-----±--------+

10 rows in set (0.00 sec)

条件查询


运算符

  • >, >=, <, <= 大于,大于等于,小于,小于等于

  • = 等于,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 个)任意字符; _ 表示任意一个字符

  • AND 多个条件必须都为 TRUE(1),结果才是 TRUE(1)

  • OR 任意一个条件为 TRUE(1), 结果为 TRUE(1)

  • NOT 条件为 TRUE(1),结果为 FALSE(0)

  • 注意:

  1. where条件可以使用表达式,但是不能使用别名

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

比较查询

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

mysql> select id, name, english from exam where english < 60;

±-----±----------±--------+

| id | name | english |

±-----±----------±--------+

| 1 | 刘备 | 40.9 |

| 2 | 关羽 | 30.8 |

| 3 | 大乔 | 30.8 |

| 6 | 孙尚香 | 10.0 |

| 7 | 小乔 | 4.3 |

±-----±----------±--------+

5 rows in set (0.00 sec)

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

mysql> select id, name, chinese, english from exam where chinese > english;

±-----±----------±--------±--------+

| id | name | chinese | english |

±-----±----------±--------±--------+

| 1 | 刘备 | 90.1 | 40.9 |

| 2 | 关羽 | 90.1 | 30.8 |

| 3 | 大乔 | 99.0 | 30.8 |

| 4 | 吕布 | 80.5 | 70.2 |

| 6 | 孙尚香 | 99.0 | 10.0 |

| 7 | 小乔 | 98.0 | 4.3 |

±-----±----------±--------±--------+

6 rows in set (0.00 sec)

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

mysql> select id, name, chinese + math + english as totle from exam where chinese + math + english < 200;

±-----±----------±------+

| id | name | totle |

±-----±----------±------+

| 2 | 关羽 | 181.2 |

| 6 | 孙尚香 | 121.1 |

±-----±----------±------+

2 rows in set (0.00 sec)

and与or

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

mysql> select id, name, chinese, english from exam where chinese > 80 and english > 80;

±-----±-------±--------±--------+

| id | name | chinese | english |

±-----±-------±--------±--------+

| 5 | 貂蝉 | 80.5 | 90.3 |

| 8 | 孙权 | 85.0 | 87.0 |

±-----±-------±--------±--------+

2 rows in set (0.00 sec)

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

mysql> select id, name, chinese, english from exam where chinese > 80 or english > 80;

±-----±----------±--------±--------+

| id | name | chinese | english |

±-----±----------±--------±--------+

| 1 | 刘备 | 90.1 | 40.9 |

| 2 | 关羽 | 90.1 | 30.8 |

| 3 | 大乔 | 99.0 | 30.8 |

| 4 | 吕布 | 80.5 | 70.2 |

| 5 | 貂蝉 | 80.5 | 90.3 |

| 6 | 孙尚香 | 99.0 | 10.0 |

| 7 | 小乔 | 98.0 | 4.3 |

| 8 | 孙权 | 85.0 | 87.0 |

±-----±----------±--------±--------+

8 rows in set (0.00 sec)

范围查询

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

mysql> select id, name, chinese from exam where chinese between 80 and 90;

±-----±-------±--------+

| id | name | chinese |

±-----±-------±--------+

| 4 | 吕布 | 80.5 |

| 5 | 貂蝉 | 80.5 |

| 8 | 孙权 | 85.0 |

±-----±-------±--------+

3 rows in set (0.00 sec)

in 查询

– 查询数学成绩是 99.0 或者 60.3 或者 70.3 的同学及数学成绩

mysql> select name, math from exam where math in (99.0, 60.3, 70.3);

±-------±-----+

| name | math |

±-------±-----+

| 刘备 | 70.3 |

| 关羽 | 60.3 |

| 大乔 | 70.3 |

| 小乔 | 99.0 |

±-------±-----+

4 rows in set (0.00 sec)

模糊查询 like

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

1200页Java架构面试专题及答案

小编整理不易,对这份1200页Java架构面试专题及答案感兴趣劳烦帮忙转发/点赞

百度、字节、美团等大厂常见面试题

)in 查询

– 查询数学成绩是 99.0 或者 60.3 或者 70.3 的同学及数学成绩

mysql> select name, math from exam where math in (99.0, 60.3, 70.3);

±-------±-----+

| name | math |

±-------±-----+

| 刘备 | 70.3 |

| 关羽 | 60.3 |

| 大乔 | 70.3 |

| 小乔 | 99.0 |

±-------±-----+

4 rows in set (0.00 sec)

模糊查询 like

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

1200页Java架构面试专题及答案

小编整理不易,对这份1200页Java架构面试专题及答案感兴趣劳烦帮忙转发/点赞

[外链图片转存中…(img-MRdeqc8H-1725904720343)]

[外链图片转存中…(img-yBRFzuUY-1725904720344)]

百度、字节、美团等大厂常见面试题

[外链图片转存中…(img-jWuZJy4V-1725904720345)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值