首页 数据库 mysql教程 数据库怎么做单表查询?

数据库怎么做单表查询?

Jun 29, 2020 am 11:08 AM
mysql

数据库单表查询的方法:1、select查询操作,筛选列;2、where语句,筛选行;3、group by分组;4、having过滤条件,是针对组做过滤条件,是放在group by后面执行的;5、order by排序,对查询出来的数据排序。

数据库怎么做单表查询?

数据库单表查询的方法:

1、关键字执行的优先级(重点)

重点中的重点:关键字的执行优先级
1:from #找到表
2:where #使用where指定的条件,去表中取出一条条记录
3:group by #将取出的数据进行分组,如果没有指定,则整体作为一组
4:having #将分组的结果按照having指定的条件进行过滤
5:select #指定select查询
6:distinct #去重
7:order by #将查询的结果按照order by指定的字段进行排序
8:limit #限制结果的显示数量
登录后复制

2、select查询操作(筛选列)

1:#select 查询操作
'''
注意所有select 查询后面右加括号的方法,比如,select user()这种带括号的都是Mysql的 内置方法,select本身就是查询操作,from只是说明从哪查,
'''
select * from 表名; #查询表中所有的数据  *代表所有
select 字段名 from 表名;#查询表中某一个字段的数据
select 字段名,字段名,字段名 from 表名;#查询表中多个字段的数据
select database();#查询返回当前操作的数据库
select user();#查询当前登陆的用户
select now;#查询返回当前的时间
===========================================================
2:#distinct 去重操作
'''
当使用select查询表某些字段数据的时候,这个字段中可能出现多个重复的数据,就可以使用distinct对查询出来的数据进行去重操作,distinct也可以对多个字段的数据进行联合去重
'''
select dictinct 字段名 from 表名;#对查出来的字段数据进行去重
select distinct 字段名,字段名 from 表名;#对多个字段查询的数据进行联合去重
===========================================================
3:#四则运算
'''
使用select 查询某个字段的数据的时候,对数值类型的字段数据,可以进行四则运算,四则运 算包括加减乘除等操作
'''
select 字段名*12 from 表名;#对查询出来的数据乘以12,返回结果,>>字段名要是数值类型
===========================================================
4:#concat字符串拼接和concat_ws指定分割符进行拼接(自定义显示的格式)
'''
concat内置函数可以对查询出来的字段数据进行字符串拼接
'''
select concat('姓名:',name) from 表名;#对查询出来的姓名字段的数据前面都加上一  个字符串姓名,能够友好的显示查询出来的数据的意思,其实就是字符串拼接
select concat(name,':',salary)as info from 表名;#concat还可以将两个字段的数据拼接,,产生一个新的字段数据显示出来,as是个这个字段重命名
'''
concat_ws()函数也只是字符串拼接,不过concat_ws的凭借方式是类似与python join拼接    的方式,就是以某个元素对多个字段的数据进行拼接
'''
    select concat_ws('_','姓名:',name,'性别:',sex)as info from 表名;
==========================================================
5:#case end 语句 对查询出来的每一个数据进行加工和显示
'''
case语句的作用是,对表中数据进行查询时,对于查询出来的语句进行进一步的加工,并且显示出来,case end语句有点像python里的if语句,不过sql的case语句需要表明开始和结束,case代表开始,end代表结束.when代表的就是if条件,else就是其他,当有多个when的时候,从第二个when开始就代表的类似于elif的意思,,,,,知道了解就好>>>>>>
'''
select(
case
    when name='田少岗' concat(name,'逗比')
    when name='田彩' concat(name,'女神')
    else 
    concat(name,'边玩去')
   end
)as now_name from 表名;
==========================================================
6:#select的相关总结;
    可以查一个,多个,*所有
    调用函数:now(),database(),concat(),concat_ws()
    可以四则运算
    可以去重 distinct
    可以使用case end 条件判断语句
登录后复制

3、where 筛选行语句

1:#范围查询
    #< > >= <= !=  <>代表不等于和!=是一个意思 
    select age from 表名 where age <100 and age>20;(多条件查询)
    #between 1 and 10 找寻1到10之间的
    select age from 表名 where between 1 and 100; >>注意包含1和100
    #in (1,2,3,4) 多选一
    select age from 表名 where age in (10,20,30,40);
    #将age=10和age=20的都能取出来
    select age from 表名 where age=10 or age=20;
2:#模糊查询
    #like
    like的表现形式是,&#39;%a&#39;查询以a结尾的,&#39;a%&#39;查询以a开始的,&#39;%a%&#39;查询包含a的
    select name from 表名 where name like &#39;田%&#39;;>>>查询出姓田的所有人
    like还有一种形式,&#39;_a&#39;,&#39;a_&#39;,&#39;a__&#39;一个划线代表一个字符,%代表的是任意长度
    select name from 表名 where name &#39;like &#39;田_&#39;;>>>查询出以田开头的两个字的姓名
    #regexp 可以使用正则匹配(记一下正则表达式)
3:#is is not 
    is null is not null 一般用来判断是不是空,
4:#逻辑运算
    and or not
登录后复制

4、group by(分组)

&#39;&#39;&#39;group by可以对某个字段的值进行分组,这个字段有多少种值就分多少组,group by还有一个特性就是去重,一旦使用group by对数据分组了,就不能对某一条数据进行操作,永远都是这一组数据&#39;&#39;&#39;
group_concat()函数(只用来做最终的显示,不做中间数据的操作)可以显示当前这一组的所有信息,拼在一起显示
select post,group_concat(name),count(id) from employee group by post having count(id) < 2;
&#39;&#39;&#39;
mysql> set global sql_mode=&#39;STRICT_TRANS_TABLES,ONLY_FULL_GROUP_BY&#39;;
ONLY_FULL_GROUP_BY的语义就是确定select target list中的所有列的值都是明确语义,简单的说来,在ONLY_FULL_GROUP_BY模式下,target list中的值要么是来自于聚集函数的结果,要么是来自于group by list中的表达式的值。(了解就好)
&#39;&#39;&#39;
登录后复制

5、聚合函数

1:#count 计数
2:#max  求最大值
3:#avg  求平均值
4:#min  求最小值
5:#sum  求和
登录后复制

6、having 过滤条件

&#39;&#39;&#39;
having是针对一个组做的过滤条件,是放在group by 后面执行的,他的意思和where是一样的
where group 和 having的执行顺序是,where>group by>having,所以having一般都是和having一起用的
&#39;&#39;&#39;
select post,group_concat(name),count(id) from employee group by post having count(id) < 2;
登录后复制

7、order by 排序

&#39;&#39;&#39;
对查询出来的数据进行排序,可以升序或者降序(desc),可以使用多个条件一起排序,执行顺序按照从左到右执行排序
&#39;&#39;&#39;
SELECT * FROM employee ORDER BY salary; #默认是升序排列
SELECT * FROM employee ORDER BY salary ASC; #升序
SELECT * FROM employee ORDER BY salary DESC; #降序
登录后复制

8limit 分页

&#39;&#39;&#39;
可以和order by一起使用,先排序再分页取几个,还可以指定删选的范围,limit m,n这个意思是从m+1开始取n条数据,不如limit 0,6,就是从1开始取六条数据,然是limit分页时,只适合做小数据的分页,当数据量过大时,效率就会非常慢,limit还有一种语法是:limit n offset m,这个意思也是从m+1开始,取n条,这个语法知道就行,
&#39;&#39;&#39;
#默认初始位置为0,从第一条开始顺序取出三条 
SELECT * FROM employee ORDER BY salary DESC LIMIT 3;
#从第0开始,即先查询出第一条,然后包含这一条在内往后查5条
    SELECT * FROM employee ORDER BY salary DESC
        LIMIT 0,5;  
##从第5开始,即先查询出第6条,然后包含这一条在内往后查5条
    SELECT * FROM employee ORDER BY salary DESC
        LIMIT 5,5;
登录后复制

相关学习推荐:mysql视频教程

以上是数据库怎么做单表查询?的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

MySQL:世界上最受欢迎的数据库的简介 MySQL:世界上最受欢迎的数据库的简介 Apr 12, 2025 am 12:18 AM

MySQL是一种开源的关系型数据库管理系统,主要用于快速、可靠地存储和检索数据。其工作原理包括客户端请求、查询解析、执行查询和返回结果。使用示例包括创建表、插入和查询数据,以及高级功能如JOIN操作。常见错误涉及SQL语法、数据类型和权限问题,优化建议包括使用索引、优化查询和分表分区。

MySQL的位置:数据库和编程 MySQL的位置:数据库和编程 Apr 13, 2025 am 12:18 AM

MySQL在数据库和编程中的地位非常重要,它是一个开源的关系型数据库管理系统,广泛应用于各种应用场景。1)MySQL提供高效的数据存储、组织和检索功能,支持Web、移动和企业级系统。2)它使用客户端-服务器架构,支持多种存储引擎和索引优化。3)基本用法包括创建表和插入数据,高级用法涉及多表JOIN和复杂查询。4)常见问题如SQL语法错误和性能问题可以通过EXPLAIN命令和慢查询日志调试。5)性能优化方法包括合理使用索引、优化查询和使用缓存,最佳实践包括使用事务和PreparedStatemen

apache怎么连接数据库 apache怎么连接数据库 Apr 13, 2025 pm 01:03 PM

Apache 连接数据库需要以下步骤:安装数据库驱动程序。配置 web.xml 文件以创建连接池。创建 JDBC 数据源,指定连接设置。从 Java 代码中使用 JDBC API 访问数据库,包括获取连接、创建语句、绑定参数、执行查询或更新以及处理结果。

为什么要使用mysql?利益和优势 为什么要使用mysql?利益和优势 Apr 12, 2025 am 12:17 AM

选择MySQL的原因是其性能、可靠性、易用性和社区支持。1.MySQL提供高效的数据存储和检索功能,支持多种数据类型和高级查询操作。2.采用客户端-服务器架构和多种存储引擎,支持事务和查询优化。3.易于使用,支持多种操作系统和编程语言。4.拥有强大的社区支持,提供丰富的资源和解决方案。

docker怎么启动mysql docker怎么启动mysql Apr 15, 2025 pm 12:09 PM

在 Docker 中启动 MySQL 的过程包含以下步骤:拉取 MySQL 镜像创建并启动容器,设置根用户密码并映射端口验证连接创建数据库和用户授予对数据库的所有权限

MySQL的角色:Web应用程序中的数据库 MySQL的角色:Web应用程序中的数据库 Apr 17, 2025 am 12:23 AM

MySQL在Web应用中的主要作用是存储和管理数据。1.MySQL高效处理用户信息、产品目录和交易记录等数据。2.通过SQL查询,开发者能从数据库提取信息生成动态内容。3.MySQL基于客户端-服务器模型工作,确保查询速度可接受。

laravel入门实例 laravel入门实例 Apr 18, 2025 pm 12:45 PM

Laravel 是一款 PHP 框架,用于轻松构建 Web 应用程序。它提供一系列强大的功能,包括:安装: 使用 Composer 全局安装 Laravel CLI,并在项目目录中创建应用程序。路由: 在 routes/web.php 中定义 URL 和处理函数之间的关系。视图: 在 resources/views 中创建视图以呈现应用程序的界面。数据库集成: 提供与 MySQL 等数据库的开箱即用集成,并使用迁移来创建和修改表。模型和控制器: 模型表示数据库实体,控制器处理 HTTP 请求。

centos7如何安装mysql centos7如何安装mysql Apr 14, 2025 pm 08:30 PM

优雅安装 MySQL 的关键在于添加 MySQL 官方仓库。具体步骤如下:下载 MySQL 官方 GPG 密钥,防止钓鱼攻击。添加 MySQL 仓库文件:rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm更新 yum 仓库缓存:yum update安装 MySQL:yum install mysql-server启动 MySQL 服务:systemctl start mysqld设置开机自启动

See all articles