-查询基本使用(条件,排序,聚合函数,分组,分页)
1)创建一个表结构然后添加数据
create table baba (id int unsigned not null auto_increment primary key,    #设置id为不能空的约束和自增主键
-> name varchar() default '', #varchar(20)的意思为最多20个字符,根据字符个数占据内存大小
-> age tinyint unsigned default , #年纪默认值设为0
-> high decimal(,), #小数类型为5进2
-> gender enum('男', '女', '中性', '保密') default '保密', 设置枚举类型
-> cls_id int unsigned default ,
-> is_delete bit default
-> );
2)添加字段内数据
insert into baba values
(,'小明',,180.00,,,),
(,'小月月',,180.00,,,),
(,'彭于晏',,185.00,,,),
(,'刘德华',,175.00,,,),
(,'黄蓉',,160.00,,,),
(,'凤姐',,150.00,,,),
(,'王祖贤',,170.00,,,),
(,'周杰伦儿',,null,,,),
(,'程坤',,181.00,,,),
(,'和珅',,166.00,,,),
(,'刘亦菲',,162.00,,,),
(,'金星',,180.00,,,),
(,'静香',,170.00,,,),
(,'郭靖',,167.00,,,),
(,'周杰',,178.00,,,),
(,'钱小豪',,178.00,,,),
(,'谢霆锋',,175.00,,,),
(,'陈冠希',,175.00,,,);
4)查看全部字段内容:
select * from baba;            #将字段为列标题,内容行输出
+----+--------------+------+--------+--------+--------+-----------+
| id | name | age | high | gender | cls_id | is_delete |
+----+--------------+------+--------+--------+--------+-----------+
| | 小明 | | 180.00 | 男 | | |
| | 小月月 | | 180.00 | 男 | | |
| | 彭于晏 | | 185.00 | 男 | | |
| | 刘德华 | | 175.00 | 男 | | |
| | 黄蓉 | | 160.00 | 女 | | |
| | 凤姐 | | 150.00 | 保密 | | |
| | 王祖贤 | | 170.00 | 女 | | |
| | 周杰伦儿 | | NULL | 男 | | |
| | 程坤 | | 181.00 | 男 | | |
| | 和珅 | | 166.00 | 男 | | |
| | 刘亦菲 | | 162.00 | 女 | | |
| | 金星 | | 180.00 | 中性 | | |
| | 静香 | | 170.00 | 女 | | |
| | 郭靖 | | 167.00 | 男 | | |
| | 周杰 | | 178.00 | 男 | | |
| | 钱小豪 | | 178.00 | 男 | | |
| | 谢霆锋 | | 175.00 | 男 | | |
| | 陈冠希 | | 175.00 | 男 | | |
5)查看前三行内容
select * from baba where id< ;      用where来限定范围
+----+-----------+------+--------+--------+--------+-----------+
| id | name | age | high | gender | cls_id | is_delete |
+----+-----------+------+--------+--------+--------+-----------+
| | 小明 | | 180.00 | 男 | | |
| | 小月月 | | 180.00 | 男 | | |
+----+-----------+------+--------+--------+--------+-----------+
6)查看指定字段:
select name,age from baba;       #查看指定的name,age段
+--------------+------+
| name | age |
+--------------+------+
| 小明 | |
| 小月月 | |
| 彭于晏 | |
| 刘德华 | |
| 黄蓉 | |
| 凤姐 | |
| 王祖贤 | |
| 周杰伦儿 | |
| 程坤 | |
| 和珅 | |
| 刘亦菲 | |
| 金星 | |
| 静香 | |
| 郭靖 | |
| 周杰 | |
| 钱小豪 | |
| 谢霆锋 | |
| 陈冠希 | |
7)查看指定字段并设置别名: 
)查看指定字段并设置别名:
select name as '姓名' ,age as '年龄‘ from baba; #字段中间用逗号隔开
+--------------+--------+
| 姓名 | 年龄 |
+--------------+--------+
| 小明 | |
| 小月月 | |
| 彭于晏 | |
| 刘德华 | |
| 黄蓉 | |
| 凤姐 | |
| 王祖贤 | |
| 周杰伦儿 | |
| 程坤 | |
| 和珅 | |
| 刘亦菲 | |
| 金星 | |
| 静香 | |
| 郭靖 | |
| 周杰 | |
| 钱小豪 | |
| 谢霆锋 | |
| 陈冠希 | |
8)通过表名字段查询
select baba.name from baba;         
9) 给表起别名查询
select mama.name from baba as mama;
10)消除重复行查询(distinct)
select distinct age from baba;
+------+
| age |
+------+
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
条件查询

比较运算符:
*查看所有数据中年纪大于40的数据。
MariaDB [mysql]> select * from baba where age > ;
+----+-----------+------+--------+--------+--------+-----------+
| id | name | age | high | gender | cls_id | is_delete |
+----+-----------+------+--------+--------+--------+-----------+
| | 刘德华 | | 175.00 | 男 | | |
| | 黄蓉 | | 160.00 | 女 | | |
| | 凤姐 | | 150.00 | 保密 | | |
| | 王祖贤 | | 170.00 | 女 | | |
| | 程坤 | | 181.00 | 男 | | |
| | 和珅 | | 166.00 | 男 | | |
| | 金星 | | 180.00 | 中性 | | |
| | 钱小豪 | | 178.00 | 男 | | |
12)*查看所有数据中身高在170到180之间的。
MariaDB [mysql]> select * from baba  where high> and high < ;     #注意不能写成170<high<
+----+-----------+------+--------+--------+--------+-----------+
| id | name | age | high | gender | cls_id | is_delete |
+----+-----------+------+--------+--------+--------+-----------+
| | 刘德华 | | 175.00 | 男 | | |
| | 周杰 | | 178.00 | 男 | | |
| | 钱小豪 | | 178.00 | 男 | | |
| | 谢霆锋 | | 175.00 | 男 | | |
| | 陈冠希 | | 175.00 | 男 | | |
13)*查看所有数据中id>15,或者性别为男的数据;
select * from baba where id > or gender=;
+----+--------------+------+--------+--------+--------+-----------+
| id | name | age | high | gender | cls_id | is_delete |
+----+--------------+------+--------+--------+--------+-----------+
| | 小明 | | 180.00 | 男 | | |
| | 小月月 | | 180.00 | 男 | | |
| | 彭于晏 | | 185.00 | 男 | | |
| | 刘德华 | | 175.00 | 男 | | |
| | 周杰伦儿 | | NULL | 男 | | |
| | 程坤 | | 181.00 | 男 | | |
| | 和珅 | | 166.00 | 男 | | |
| | 郭靖 | | 167.00 | 男 | | |
| | 周杰 | | 178.00 | 男 | | |
| | 钱小豪 | | 178.00 | 男 | | |
| | 谢霆锋 | | 175.00 | 男 | | |
| | 陈冠希 | | 175.00 | 男 | | |

模糊查询(like)

%代表0个或多个

*查询所有数据中与’月‘相关的数据
MariaDB [mysql]> select * from baba where name like '%月%';
+----+-----------+------+--------+--------+--------+-----------+
| id | name | age | high | gender | cls_id | is_delete |
+----+-----------+------+--------+--------+--------+-----------+
| | 小月月 | | 180.00 | 男 | | |
*查询两个字的人名
ariaDB [mysql]> select * from baba where name like '__';    '_'为一个字符的为一个字符的占位符
+----+--------+------+--------+--------+--------+-----------+
| id | name | age | high | gender | cls_id | is_delete |
+----+--------+------+--------+--------+--------+-----------+
| | 小明 | | 180.00 | 男 | | |
| | 黄蓉 | | 160.00 | 女 | | |
| | 凤姐 | | 150.00 | 保密 | | |
| | 程坤 | | 181.00 | 男 | | |
| | 和珅 | | 166.00 | 男 | | |
| | 金星 | | 180.00 | 中性 | | |
| | 静香 | | 170.00 | 女 | | |
| | 郭靖 | | 167.00 | 男 | | |
| | 周杰 | | 178.00 | 男 | | |
*查询三个字以及以上的人名:
MariaDB [mysql]> select * from baba where name like '_ _ _%';
+----+--------------+------+--------+--------+--------+-----------+
| id | name | age | high | gender | cls_id | is_delete |
+----+--------------+------+--------+--------+--------+-----------+
| | 小月月 | | 180.00 | 男 | | |
| | 彭于晏 | | 185.00 | 男 | | |
| | 刘德华 | | 175.00 | 男 | | |
| | 王祖贤 | | 170.00 | 女 | | |
| | 周杰伦儿 | | NULL | 男 | | |
| | 刘亦菲 | | 162.00 | 女 | | |
| | 钱小豪 | | 178.00 | 男 | | |
| | 谢霆锋 | | 175.00 | 男 | | |
| | 陈冠希 | | 175.00 | 男 | | |
范围查询 in(1,,5,9) 查询非连续范围内的数据
*查询年纪是18和52的数据
MariaDB [mysql]> select * from baba where age= or age=;         #注意这里和查询用的是or
+----+-----------+------+--------+--------+--------+-----------+
| id | name | age | high | gender | cls_id | is_delete |
+----+-----------+------+--------+--------+--------+-----------+
| | 小明 | | 180.00 | 男 | | |
| | 王祖贤 | | 170.00 | 女 | | |
| | 静香 | | 170.00 | 女 | | |
*查询不在20到50岁的数据
MariaDB [mysql]> select * from baba where age not between  and ;
+----+-----------+------+--------+--------+--------+-----------+
| id | name | age | high | gender | cls_id | is_delete |
+----+-----------+------+--------+--------+--------+-----------+
| | 小明 | | 180.00 | 男 | | |
| | 小月月 | | 180.00 | 男 | | |
| | 刘德华 | | 175.00 | 男 | | |
| | 黄蓉 | | 160.00 | 女 | | |
| | 王祖贤 | | 170.00 | 女 | | |
| | 和珅 | | 166.00 | 男 | | |
| | 静香 | | 170.00 | 女 | | |
| | 钱小豪 | | 178.00 | 男 | | |
空判断(字符内容是否是null   用is)
MariaDB [mysql]> select * from baba where high is null;
+----+--------------+------+------+--------+--------+-----------+
| id | name | age | high | gender | cls_id | is_delete |
+----+--------------+------+------+--------+--------+-----------+
| | 周杰伦儿 | | NULL | 男 | | |
+----+--------------+------+------+--------+--------+-----------+
排序(order by) asc从小到大,desc从大到小排序
*查询年纪在18到34岁的男性,身高从高到矮排序,如果身高相同的情况下按照年纪从小到大排序,如果年龄也相等那么按照id从小到大排序;
MariaDB [mysql]> select * from baba where age between  and  and gender= order by high desc,age asc,id asc;
+----+--------------+------+--------+--------+--------+-----------+
| id | name | age | high | gender | cls_id | is_delete |
+----+--------------+------+--------+--------+--------+-----------+
| | 彭于晏 | | 185.00 | 男 | | |
| | 小明 | | 180.00 | 男 | | |
| | 小月月 | | 180.00 | 男 | | |
| | 周杰 | | 178.00 | 男 | | |
| | 郭靖 | | 167.00 | 男 | | |
| | 周杰伦儿 | | NULL | 男 | | |
多个排序方法用逗号可开

聚合函数(count,max,min) where用于限定范围,聚合函数用于比较统计
*查询男性有多少人
MariaDB [mysql]> select count(*) from baba where gender=;  #chount统计个数
+---------+
| count(*) |
+----------+
| |
*查询年纪最大的
MariaDB [mysql]> select max(age) from baba;    #max(字段),缩小了搜索范围
+----------+
| max(age) |
+----------+
| |
*查询身高最小的
MariaDB [mysql]> select min(high) from baba;       #min(字段)
+-----------+
| min(high) |
+-----------+
| 150.00 |
*查看女性中身高最高的
MariaDB [mysql]> select max(high) from baba where gender=;
+-----------+
| max(high) |
+-----------+
| 170.00 |
*计算序号大于1的男性的平均年纪
MariaDB [mysql]> select sum(age)/count(*), from baba where gender= and id >;
MariaDB [mysql]> select sum(age)/count(*), from baba where gender= and id >;
+-------------------+---+
| sum(age)/count(*) | |
+-------------------+---+
| 38.6364 | |
也可以将sum(age)/count(*) 写作avg(age)    ,2为保留两位小数
分组(group by)
*查询每组性别中的人数
MariaDB [mysql]> select gender ,count(*) from baba  group by gender;     #中间逗号隔开;查看以性别分的组,统计每组人数个数
+--------+----------+
| gender | count(*) |
+--------+----------+
| 男 | |
| 女 | |
| 中性 | |
| 保密 | |
*查看男性组的成员姓名    #附带的字段内容用group——concat()来指定
MariaDB [mysql]> select gender ,group_concat(name) from baba where gender= group by gender;
+--------+-------------------------------------------------------------------------------------------------------------+
| gender | group_concat(name) |
+--------+-------------------------------------------------------------------------------------------------------------+
| 男 | 小明,谢霆锋,钱小豪,周杰,郭靖,和珅,程坤,周杰伦儿,刘德华,彭于晏,小月月,陈冠希
*查询男性中的人数多于4个的组的信息(这里就将性别看作成一个组)
MarmariaDB [mysql]> select gender ,group_concat(name,'|',age,'|',high) from baba where gender= group by gender having count(*)>;
| gender | group_concat(name,'|',age,'|',high) #查看附加信息为年纪,姓名,身高,中间用’|‘分开,附加信息跟在组后面用逗号隔开,限定条件放在后面。
| 男 | 小明||180.00,谢霆锋||175.00,钱小豪||178.00,周杰||178.00,郭靖||167.00,
和珅||166.00,程坤||181.00,刘德华||175.00,彭于晏||185.00,小月月||180.00,陈冠希||175.00
分页
*分页显示,每页显示2条数据
MariaDB [mysql]> select * from baba limit n,;        #4代表的是数据从n+1行开始显示,2代表的是每页显示两行数据(这建立设置了主键自增的前提下,否则从n开始)
+----+-----------+------+--------+--------+--------+-----------+
| id | name | age | high | gender | cls_id | is_delete |
+----+-----------+------+--------+--------+--------+-----------+
| n+ | 小明 | | 180.00 | 男 | | |
| n+ | 小月月 | | 180.00 | 男 | | |
*按照身高从高到矮排序,查找出所有女性,并且分页显示,每页显示2条数据
MariaDB [mysql]> select * from baba where gender= order by high desc limit ;  #一个数字默认为(0,2)
+----+-----------+------+--------+--------+--------+-----------+
| id | name | age | high | gender | cls_id | is_delete |
+----+-----------+------+--------+--------+--------+-----------+
| | 静香 | | 171.00 | 女 | | |
| | 王祖贤 | | 170.00 | 女 | | |
 
 
 

 

mariadb(三)查的更多相关文章

  1. MariaDB数据库----查(实例演示)

    MariaDB数据--查 SQl语句执行顺序 基础查询 查询 添加数据 MariaDB [test]> insert into huluwa values -> (1 ,'葫芦爷爷',73 ...

  2. MariaDB——(三) MariaDB 10.0.15 standard replication主从复制搭建

    最近看了一下MariaDB的常规复制章节,就按部就班的搭建了一下最简单的主从复制.需要的硬件环境很简单(在虚拟机VMware中搭建): 1:两台server:Master: 192.168.6.133 ...

  3. HDP2.4安装(三):MySql安装

    在安装Ambari时,Ambari默认的数据库是ProstgreSQL,对ProstgreSQL不太熟悉,选择使用MySql. 但Centos 7 默认支持的是MariaDB数据库. MariaDB是 ...

  4. linux第三天

    一.用户的类型   1.root管理员:所有权限(r w x)   2.文件拥有者(u):谁创建谁拥有   3.组 (g):用户组   4.其它用户(o):不属于用户组,也不是文件的创建者,不是管理员 ...

  5. CentOS 7.0系统安装配置LAMP服务器(Apache+PHP+MariaDB)

    CentOS 7.0接触到的用户是比较少的,今天看了站长写了一篇关于centos7中安装配置LAMP服务器的教程,下面我把文章稍加整理一下转给大家学习交流,希望例子能给各位带来帮助哦.   cento ...

  6. CentOS 7.0安装配置LAMP服务器(Apache+PHP+MariaDB)

    CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop firewalld.service #停止fir ...

  7. CentOS 7 安装 Apache PHP MariaDB

    准备篇: 一.配置防火墙,开启80端口.3306端口 CentOS 7 默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl sto ...

  8. Linux安装配置Mariadb

    一.安装数据库Mariadb 参考:http://blog.51cto.com/12173069/2047746 从最新版本的linux系统开始,默认的是 Mariadb而不是mysql! 使用系统自 ...

  9. MongoDB的常用命令和增查改删

    数据库操作 Mongodb MySQL 查询库 show databases | show dbs show databases 选中库 use databaseName use databaseNa ...

  10. iptables的增删改查

    iptables是linux系统自带的防火墙,功能强大,学习起来需要一段时间,下面是一些习iptables的时候的记录.如果iptables不熟悉的话可以用apf,是一款基于iptables的防火墙, ...

随机推荐

  1. [Python3] 011 字符串:给你们看看我的内置方法 第三弹

    目录 少废话,上例子 1. encode(encoding='utf-8', errors='strict') 2. expandtabs([tabsize=8]) 借此机会简单地说一说 print( ...

  2. 循环结构 :do-while

    循环结构 :do-while 循环四要素: 1.初始化条件 2.循环条件 3.循环体 4.迭代条件 格式: 1.初始化条件 do{ 3.循环体 4.迭代条件 }while(2.循环条件); publi ...

  3. [BZOJ 3295] [luogu 3157] [CQOI2011]动态逆序对(树状数组套权值线段树)

    [BZOJ 3295] [luogu 3157] [CQOI2011] 动态逆序对 (树状数组套权值线段树) 题面 给出一个长度为n的排列,每次操作删除一个数,求每次操作前排列逆序对的个数 分析 每次 ...

  4. BZOJ 1100 &&luogu 3454(计算几何+KMP)

    题面 给定一个多边形,求对称轴数量. 分析 初看这似乎是一道计算几何的题目,但是如果暴力枚举对称轴,再去判断对称轴两边的边和角是否相等,时间复杂度为\(O(n^2)\),显然会TLE 问题转换 顺时针 ...

  5. 关于html5 video

    获取视频长度 <video id="video" width="200px" height="auto" src="vide ...

  6. RMAN备份与恢复 —— 完全恢复与不完全恢复

    名词解释: 顾名思义,完全恢复就是指数据没有丢失的恢复了.不完全恢复是指恢复后有部分数据丢失.它们是数据库的两种恢复方式.        完全恢复:利用重做日志或增量备份将数据块恢复到最接近当前时间的 ...

  7. sys模块与shutil模块

    #coding=utf-8 import sys ## sys.argv #从命令行获取参数 import shutil #文件.文件夹.压缩包.处理模块 f1 = open("test.t ...

  8. C#设计模式:代理模式(Proxy Pattern)

    一,什么是C#设计模式? 代理模式(Proxy Pattern):为其他对象提供一种代理以控制对这个对象的访问 二,代码如下: using System; using System.Collectio ...

  9. mysql安装,卸载; 库和表的基础操作

    数据库  """ 1.什么是数据库:管理数据的系统 - 安装某种管理数据的系统 - 管理的对象本质是文件 2.存储数据的位置:内存.硬盘 3.什么是系统:运行在硬件基础上 ...

  10. SQLyog安装

    安装 使用 首先看到下面的界面