数据库简单查询

简单查询

语法句式如下:

SELECT filed1,filed2 ... filedn
    FROM tablename
    [WHERE CONDITION11]
    [GROUP BY filedm [HAVING CONDITION2]]
    [ORDER BY filedn [ASC|DESC]]

filed1 – filedn 参数表示 需要查询的字段名

tablename 参数表示 表的名称

CONDITION1 参数表示 查询条件

filedm 参数表示 按该字段中的数据进行分组

CONDITION2 参数表示 满足该表达式的数据才能输出

filen 参数表示 按该字段中的数据进行排序 ASC 表示 升序 DESC 表示 降序

查询所有字段数据

  1. 列出表的所有字段
SELECT filed1,filed2,...filedn FROM tablenamee;
mysql> SELECT name,sex,age FROM t_stu;
+
| name | sex   | age  |
+
| jack | woman |   18 |
| jim  | woman |   15 |
| tom  | man   |   15 |
+
3 rows in set (0.00 sec)
  1. “*” 的使用
SELECT filed1,filed2,...filedn FROM tablenamee;

查询指定字段数据

例如:从学生表中姓名、性别和年龄字段

SELECT name,sex,age FROM t_student;
mysql> SELECT *FROM t_stu;
+
| name | sex   | age  |
+
| jack | woman |   18 |
| jim  | woman |   15 |
| tom  | man   |   15 |
+
3 rows in set (0.00 sec)

DISTINCT 查询

实现查询不重复数据

SELECT DISTINCT filed1,filed2...filedn FROM tablename;
mysql> SELECT DISTINCT sex FROM t_stu;
+
| sex   |
+
| woman |
| man   |
+
2 rows in set (0.00 sec)

mysql> SELECT DISTINCT age FROM t_stu;
+
| age  |
+
|   18 |
|   15 |
+
2 rows in set (0.00 sec)

IN 查询

判断字段的数值是否在指定集合的条件查询

1. 在集合中的记录查询

SELECT filed1,filed2,...,filedn FROM tablename WHERE filedm IN(value1,value2,...,valuen);
mysql> SELECT name,age FROM t_stu WHERE age IN(15 ,17,16);
+
| name | age  |
+
| jim  |   15 |
| tom  |   15 |
+
2 rows in set (0.00 sec)

2. 不在集合中的记录查询

SELECT filed1,filed2,...,filedn FROM tablename WHERE filedm NOT IN(value1,value2,...,valuen);
mysql> SELECT name,age FROM t_stu WHERE age NOT  IN(15 ,17,16);
+
| name | age  |
+
| jack |   18 |
+
1 row in set (0.00 sec)

3. 集合查询的注意点

在具体使用关键字 IN

查询的集合中如果存在 NULL,则不会影响查询
使用关键字 NOT IN时,则不会有任何查询结果

mysql> SELECT name,age FROM t_stu WHERE age IN(15 ,17,16,NULL);
+
| name | age  |
+
| jim  |   15 |
| tom  |   15 |
+
2 rows in set (0.00 sec)
mysql> SELECT name,age FROM t_stu WHERE age NOT IN(15 ,17,16,NULL);
Empty set (0.00 sec)

BETWEEN AND 查询

实现判断字段的数值是否在指定范围内的条件查询

SELECT filed1,filed2,...,filedn
FROM tablename WHERE filedm BETWEEN minvalue AND maxvalue;
  mysql> SELECT *FROM t_stu WHERE age BETWEEN 15 AND 30;
+
| name   | sex   | age  |
+
| jack   | woman |   18 |
| jim    | woman |   15 |
| tom    | man   |   15 |
| 小花   | woman |   25 |
+
4 rows in set (0.00 sec)

mysql> SELECT *FROM t_stu WHERE age BETWEEN 16 AND 30;
+
| name   | sex   | age  |
+
| jack   | woman |   18 |
| 小花   | woman |   25 |
+
2 rows in set (0.00 sec)

一点小问题:关于字符编码

mysql> insert into t_stu values("小花",'woman',25);
ERROR 1366 (HY000): Incorrect string value: '\xE5\xB0\x8F\xE8\x8A\xB1' for column 'name' at row 1

插入数据失败 查看建表信息

数据库简单查询

解决连接CSDN

数据库简单查询

; LIKE 模糊查询

语法句式如下:

SELECT filed1,filed2,...,filedn
FROM tablename WHERE filedm LIKE value;

LIKE关键字支持的通配符

符号功能描述_该通配符能匹配单个字符%该通配符能匹配任意长度的字符串

  1. 带有 % 通配符的查询

  2. 带有 _ 通配符的查询

对查询结果进行排序

语法句式如下:

SELECT filed1,filed2,...,filedn
FROM tablename ORDER BY filedm [ASC|DESC];

简单分组查询

语法句式如下:

SELECT function()
FROM tablename WHERE CONDITION GROUP BY filed;

统计分组查询

语法句式如下:

联合查询

内连接查询

1. 自连接查询

自连接:表与其自身进行连接

select ts1.stuid ,ts1.name,ts1.classno
from t_student as ts1, t_student as  ts2
WHERE ts1.classno = ts2.classno and ts2.name = 'Alicia Florric';

更多请点击这里

Original: https://www.cnblogs.com/iforeverhz/p/16255982.html
Author: iforeverhz
Title: 数据库简单查询

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/583236/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • WEB自动化-10-Page Object 模型

    10 Page Object 模型 10.1 概述 在针对一个WEB页面编写自动化测试用例时,需要引用页面中的元素( 数据)才能进行操作( 动作)并显示出页面内容。如果编写的测试用…

    Linux 2023年6月7日
    088
  • NGINX压力测试

    Nginx可以作为HTTP服务器和反向代理服务器。反向代理服务器取决于后端服务器的性能,这次只针对HTTP服务器做性能测试。Nginx作为服务器对于网络的性能必然是非常依赖的,尤其…

    Linux 2023年6月14日
    0108
  • NoteOfMySQL-09-存储过程与函数

    常用的SQL语句在执行时需要先编译,然后执行;而存储过程(Store Procedure)是经编译后存储在数据库中的SQL语句集,在数据库中创建和保存。 一、存储过程与函数的区别 …

    Linux 2023年6月14日
    082
  • 搭建Nginx正向代理服务

    需求背景: 前段时间公司因为业务需求需要部署一个正向代理,需要内网服务通过正向代理访问到外网移动端厂商域名通道等效果,之前一直用nginx做四层或者七层的反向代理,正向代理还是第一…

    Linux 2023年6月8日
    0107
  • 使用PowerShell收集多台服务器的性能计数器

    写在前面 当管理多台Windows Server服务器时(无论是DB、AD、WEB以及其他的应用服务器),当出现性能或其他问题后,参阅性能计数器都是一个非常好的维度从而推测出问题可…

    Linux 2023年5月28日
    093
  • 【实测】Python 和 C++ 下字符串查找的速度对比

    最近在备战一场算法竞赛,语言误选了 Python ,无奈只能着手对常见场景进行语言迁移。而字符串查找的场景在算法竞赛中时有出现。本文即对此场景在 Python 和竞赛常用语言 C+…

    Linux 2023年6月13日
    0125
  • Linux快速入门(八)效率工具(SSH)

    (1)Kali(源主机),IP:10.211.55.4/24(2)Ubuntu(目标主机),IP:10.211.55.5/24 OpenSSH用于在远程系统上安全的运行 Shell…

    Linux 2023年6月6日
    094
  • lvs

    1.lvs简介 2.结构体系 3.lvs工作模式及原理 4.配置lvs 4.1 部署lvs-nat模式的httpd负载集群—http协议 4.2 部署lvs-dr模式的…

    Linux 2023年6月13日
    097
  • 单例模式也能玩出花

    一、单例模式 (1)单例模式 (2)单例模式实现要点 (3)使用场景当频繁创建、销毁某个对象时,可以考虑单例模式。当创建对象消耗资源过多时,但又经常使用时,可以考虑单例模式。 (1…

    Linux 2023年6月14日
    094
  • Linux 配置 IPv4或 IPv6地址

    Linux 配置 IPv4或 IPv6地址 配置 配置介绍 查看网络 ifconfig 网卡介绍 eth0 :本地网卡(CentOS7 是ens33) lo :内网网卡,管理内网I…

    Linux 2023年6月6日
    095
  • Java基础学习笔记

    Java 入门基础编程笔记 Java 入门基础编程视频课件地址:点击我啦哟 提取码:50ME 1 前言 1.1 软件开发介绍 软件,即一系列按照特定顺序组织的计算机数据和指令的集合…

    Linux 2023年6月13日
    0112
  • Linux常用命令

    Linux常用命令 在学习瑞吉外卖项目课程中自己做的一个linux常用命令的小笔记便于以后复习使用,仅供参考。 文件目录操作命令 pwd:显示该目录或者文件的路径 ls命令 ls:…

    Linux 2023年6月7日
    091
  • centos 8及以上安装mysql 8.0

    本文适用于centos 8及以上安装mysql 8.0,整体耗时20分钟内,不需要FQ 1.环境先搞好 systemctl stop firewalld //关闭防火墙 syste…

    Linux 2023年6月7日
    0111
  • docker安装xxl-job-admin

    拉取镜像 docker pull xuxueli/xxl-job-admin:2.3.1 运行容器 docker run -d -e PARAMS=”–sp…

    Linux 2023年6月7日
    099
  • 【转】认识长轮询:配置中心是如何实现推送的?

    一 前言 传统的静态配置方式想要修改某个配置时,必须重新启动一次应用,如果是数据库连接串的变更,那可能还容易接受一些,但如果变更的是一些运行时实时感知的配置,如某个功能项的开关,重…

    Linux 2023年6月16日
    0125
  • vert.x-快速入门

    vert.x是Eclipse软件基金会顶级java开源项目之一,它基于netty的、运行在jvm之上的、支持多种编程语言的高性能异步、非阻塞、响应式全栈java web框架。它在t…

    Linux 2023年6月8日
    0117
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球