-查询基本使用(条件,排序,聚合函数,分组,分页)
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. Windows + Ubuntu 16.04 双系统安装详细教程(转)

    转载自:http://www.cnblogs.com/Duane/p/6776302.html 前言:本篇文章是对之前文章的更新,更新的主内容是把原来用手机拍摄的图片换成了虚拟机的截图,以及对磁盘划分 ...

  2. squid代理服务问答

    1. 简述一下squid的用途?squid可以做代理和缓存服务器,而做代理时,可以分为正向代理和反向代理.正向代理用在企业办公环境中,企业员工上网通过代理来上网,代理的缓存功能可以为企业节省宝贵的带宽 ...

  3. py基础

    基本语句和函数等练习,知识点都在代码里... """ a = int(input('a = ')) b = int(input('b = ')) print('%d + ...

  4. Spark-Core RDD的创建

    一.RDD创建的3种方式: 1.从集合中创建RDD 2.从外部存储创建RDD 3.从其他RDD转换得到新的RDD 二.从集合中创建RDD 1.使用parallelize函数创建 scala> v ...

  5. MVC 与 MVP 并无两样

    关于 MVC 的定义介绍,摘一段百度百科介绍: MVC 是一种使用 MVC(Model View Controller 模型-视图-控制器)设计创建 Web 应用程序的模式: Model(模型)表示应 ...

  6. SQL SERVER 数据库跨服务器备份

    原文:https://www.cnblogs.com/jaday/p/6088200.html 需求介绍:每天备份线上正式库并且把备份文件复制到测试服务器,测试服务器自动把数据库备份文件还原. 方案介 ...

  7. es6 promise 结束回调地狱

    promise的三种状态: pending---进行中 fulfiled---执行成功 rejected---执行失败 var promise = new Promise(function(resol ...

  8. JavaScript基础2——下拉列表左右选择

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  9. vue.js(10)--案例--列表增加与删除

    品牌管理案例 (1)bootstrip快速布局 <div class="app"> <div class="panel panel-primary&qu ...

  10. MongoDB的使用学习之(一)开篇

    本人是菜鸟-1级,整理这个系列,之所以用整理,而不是写,是因为本人不是从头自己读源码,一个一个字母翻译过来的,而是记录整个学习过程,查看别人好的文章,收集好的资料,并有自己的一些项目代码,并从中得到点 ...