mysql 查询以及多表查询

以下所有表格样例都采用下边这个表格

mysql> select * from benet;

+------+------+----------+

| id   | name | nianling |

+------+------+----------+

|    3 | a    |       16 |

|    4 | b    |       17 |

|    3 | a    |       16 |

|    5 | b    |       15 |

|    3 | b    |       15 |

|    5 | b    |       15 |

|    3 | b    |       15 |

+------+------+----------+

1. 查询所有的内容。

select * from 表名称;

mysql> select * from benet;

2. 查询某个字段的内容

select 字段名1,字段名2,... from 表名称

mysql> select id from benet;

3.根据条件查询

例子1:

mysql> select * from benet where id=5;

+------+------+----------+

| id   | name | nianling |

+------+------+----------+

|    5 |    b |       15 |

|    5 |    b |       15 |

+------+------+----------+

例子查询名字等于a的所有字段

mysql> select * from benet where name='a'; 注意:当条件内容是字符的时候,需要用引号引起来,但是数字不用。

+------+------+----------+

| id   | name | nianling |

+------+------+----------+

|    3 | a    |       16 |

|    3 | a    |       16 |

+------+------+----------+

例子3:名字为b并且id大于3的内容

在多条件查询中 && 符号可以用and代替

mysql> select * from benet where name='b' && id > 3;

+------+------+----------+

| id   | name | nianling |

+------+------+----------+

|    4 | b    |       17 |

|    5 | b    |       15 |

|    5 | b    |       15 |

+------+------+----------+

例子4:名字为b并且id大于3并且年龄大于15

mysql> select * from benet where name='b' && id > 3 && nianling > 15;

+------+------+----------+

| id   | name | nianling |

+------+------+----------+

|    4 |    b |       17 |

+------+------+----------+

4.查询特定的参数

1.disdinct参数:重复的结果只显示一次

例子:

mysql> select * from benet;

+------+------+----------+

| id   | name | nianling |

+------+------+----------+

|    3 | a    |       16 |

|    4 | b    |       17 |

|    3 | a    |       16 |

|    5 | b    |       15 |

|    3 | b    |       15 |

|    5 | b    |       15 |

|    3 | b    |       15 |

+------+------+----------+

我们查询id字段

mysql> select id from benet;

+------+

| id   |

+------+

|    3 |

|    4 |

|    3 |

|    5 |

|    3 |

|    5 |

|    3 |

+------+

查询后的结果有些是重读的,我们可以让这些重复的结果只显示一次

mysql> select distinct id from benet;

+------+

| id   |

+------+

|    3 |

|    4 |

|    5 |

+------+

(2).   在某个范围之间

格式:between....and....

例子:

use benet

create table benet (id int(3),name char(10),nianling int(3));

insert into benet values (1,'a',10), (2,'a',10), (3,'a',10), (3,'b',12),( 3,'b',14), (3,'b',15), (3,'b',16) ,(3,'c',18);

例子:

mysql> select * from benet where nianling between 12 and 16;

+------+------+----------+

| id   | name | nianling |

+------+------+----------+

|    3 | b    |       12 |

|    3 | b    |       14 |

|    3 | b    |       15 |

|    3 | b    |       16 |

+------+------+----------+

(3)like  '关键字'   根据关键字查找

% :表示任意长度的任意字符

_ : 表示单个字符

mysql> create table meinv (name char(30),nianling int(3));

insert into meinv values ('yangmi',25);

insert into meinv values ('gaoyuanyuan',25);

insert into meinv values ('yangziqiong',28);

查找y开头的名字

mysql> select * from meinv where name like 'y%';

+-------------+----------+

| name        | nianling |

+-------------+----------+

| yangmi      |       25 |

| yangziqiong |       28 |

+-------------+----------+

查找包含yuan的名字

mysql> select * from meinv where name like '%yuan%';

+-------------+----------+

| name        | nianling |

+-------------+----------+

| gaoyuanyuan |       25 |

+-------------+----------+

 

查询某个字段为空值的数据。

mysql> create table abc (name char(20),nianling int(3));

mysql> insert into abc values ('a',10),('b',3),('c',null);

mysql> select * from abc;

+------+----------+

| name | nianling |

+------+----------+

| a    |       10 |

| b    |        3 |

| c    |     NULL |

+------+----------+

mysql> select * from abc where nianling is null;

查询年龄字段中为空的数据。

mysql> select * from abc where nianling is not null;

查询年龄字段中不为空的数据。

查询排序

order by 排序的一依据字段

例子1:根据nianling字段内容按照升序排列。

select * from abc order by nianling;

+------+----------+

| name | nianling |

+------+----------+

| c    |     NULL |

| b    |        3 |

| a    |       10 |

+------+----------+

例子2根据nianling字段内容按照降序排列。

mysql> select * from abc order by nianling desc;

+------+----------+

| name | nianling |

+------+----------+

| a    |       10 |

| b    |        3 |

| c    |     NULL |

+------+----------+

显示查询后的部分结果limit

例子1:

mysql> select * from abc limit 2;

只显示结果的前两行

+------+----------+

| name | nianling |

+------+----------+

| a    |       10 |

| b    |        3 |

+------+----------+

聚合计算

依然采用上面的表作为例子

mysql> select sum(nianling) from abc;   求nianling字段所有数据的和

+---------------+

| sum(nianling) |

+---------------+

|            13 |

+---------------+

mysql> select max(nianling) from abc;   求nianling字段所有数据最大值

mysql> select min(nianling) from abc;   求nianling字段所有数据最少值

mysql> select avg(nianling) from abc;   求nianling字段所有数据的平均值

+---------------+

| avg(nianling) |

+---------------+

|        6.5000 |

+---------------+

mysql语句2-单表查询的更多相关文章

  1. mysql 基础入门 单表查询

    单表查询 select 表头,表头 as 别名 ,表头(+-*/的运算) from table_a 1.条件查询 where + 条件 <> , != 不等于 = 等于,也可以表示字符串值 ...

  2. mysql 数据操作 单表查询 目录

    mysql 数据操作 单表查询 mysql 数据操作 单表查询 简单查询 避免重复DISTINCT mysql 数据操作 单表查询 通过四则运算查询 mysql 数据操作 单表查询 concat()函 ...

  3. mysql 数据操作 单表查询 where 约束 目录

    mysql 数据操作 单表查询 where约束 between and or mysql 数据操作 单表查询 where约束 is null in mysql 数据操作 单表查询 where约束 li ...

  4. mysql 数据操作 单表查询 group by 分组 目录

    mysql 数据操作 单表查询 group by 介绍 mysql 数据操作 单表查询 group by 聚合函数 mysql 数据操作 单表查询 group by 聚合函数 没有group by情况 ...

  5. MySQL数据库之单表查询中关键字的执行顺序

    目录 MySQL数据库之单表查询中关键字的执行顺序 1 语法顺序 2 执行顺序 3 关键字使用语法 MySQL数据库之单表查询中关键字的执行顺序 1 语法顺序 select distinct from ...

  6. MySQL数据库语法-单表查询练习

    MySQL数据库语法-单表查询练习 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客主要是对聚合函数和分组的练习. 一.数据表和测试数据准备 /* @author :yinz ...

  7. MySQL学习9 - 单表查询

    一.单表查询的语法 二.关键字的执行优先级(重点) 三.单表查询示例 1.where约束 2.group by分组查询 3.聚合函数 4.HAVING过滤 5.order by查询排序 6.limit ...

  8. mysql四-1:单表查询

    一 单表查询的语法 SELECT 字段1,字段2... FROM 表名 WHERE 条件 GROUP BY field HAVING 筛选 ORDER BY field LIMIT 限制条数 二 关键 ...

  9. mysql数据库之单表查询多表查询

    单表查询 前期表准备 create table emp( id int not null unique auto_increment, name varchar(20) not null, sex e ...

  10. Python、mysql四-1:单表查询

    一 单表查询的语法 SELECT 字段1,字段2... FROM 表名 WHERE 条件 GROUP BY field HAVING 筛选 ORDER BY field LIMIT 限制条数 二 关键 ...

随机推荐

  1. CentOS6+nginx+uwsgi+mysql+django1.6.6+python2.6.6

    1.配置网关 #vi /etc/sysconfig/network NETWORKING=yes(表示系统是否使用网络,一般设置为yes.如果设为no,则不能使用网络,而且很多系统服务程序将无法启动) ...

  2. spring下春注解的声明式事务控制

    package com.hope.test;import com.hope.domain.Account;import com.hope.service.IAccountService;import ...

  3. 【科研工具】MathType7.2的安装破解与使用

    亲测可用,可以嵌入word. [我们为什么要用MathType] tex不香嘛,但是学校给的模板只有word,word输入公式点起来实在是太麻烦了. 有了这个就可以直接输入公式转换啦. [安装破解教程 ...

  4. idea开发环境搭建ssh

    idea2020完整web开发(struts2+spring+hibernate) idea破解 第一步: 下载最新的 IDEA 2020.3.2 版本安装包 https://www.jetbrain ...

  5. Java中的选择结构(二)

    选择结构(二) 学习本章会用到的单词: case:实例,情形,情况 switch:转换,切换,开关 default:系统默认值,违约,预设.缺省 exit:出口,通道,退出 consume:消耗,耗费 ...

  6. 【划重点】Python遍历列表的四种方法

    一.通过for循环直接遍历 user1 = ["宋江","林冲","卢俊义","吴用"] for user in use ...

  7. 关于thinkPHP中的自动加载和手动导入

    首先先讲自动加载: 前提:你的第三方类库要满足(1)符合命名规范和后缀的类库(2)使用命名空间,命名空间和路径一致的类库 (1)在ThinkPHP目录下的library目录下的每一个子目录都是一个根命 ...

  8. Iphone开源项目汇总

    扫描wifi信息: http://code.google.com/p/uwecaugmentedrealityproject/ http://code.google.com/p/iphone-wire ...

  9. 童鞋,[HttpClient发送文件] 的技术实践请查收

    1.荒腔走板 前几天有个童鞋在群里面问:怎么使用HttpClient发送文件? 之前我写了一个ABP上传文件,主要体现的是服务端,上传文件的动作是由前端小姐姐完成的, 我还真没有用HttpClient ...

  10. 2020 NUPCTF pwn题目

    去年的一场比赛,今年来把去年不会做的题目来看一下,只在buu找到三道题,剩下两道好像是内核题,算了,估计找到也不会做. npuctf_2020_level2 bss段上的格式化字符串漏洞的利用. 程序 ...