MySQL数据查询

要点概论

1. SELECT语句的语法

2. 简单查询

3. 连接查询

4.联合查询

5. 子查询

6. 正则表达式查询

7. 通过正则表达式查询数据

1. SELECT 语句的语法

  http://www.cnblogs.com/HZY258/p/8496391.html

2. 简单查询

  2.1 获取所有列

SELECT * FROM table_name;

    如果数据表中的列较少,也可以通过列出所有列名的方式获取数据。

  2.2 获取指定列

  

SELECT 列名列表 FROM table_name;

# 各列名以逗号隔开

  2.3 为列指定别名

    当表或者列名的名称比较长时,使用别名很有用。在 SELECT 语句查询中,可以使用以下任意一种方式为列指定别名。

    1)采用符合 ANSI 规则的方法指定别名

      

SELECT address_id ‘地址 ID‘,address ‘地址‘ FROM address;

#采用 ANSI 规则的标准方法是指在列表表达式中给出列名

    2)使用 AS 关键字指定别名

 

SELECT address_id as ‘地址 ID‘,address as ‘地址‘ FROM address;

    PS:为列指定别名操作时,必须注意以下几点:

      ① 当引用中文别名时,可以不加引号,但是不能使用全角引号,否则查询会出错。

      ② 当引用英文的别名超过两个单词时,则必须用引号将其引起来。

      ③ 可以同时使用以上两种方法,会返回同样的结果集。

  

  2.4 获取不重复的数据

    如果没有为数据库表中的列添加唯一性约束或者主键约束时,这些列很可能存在着重复的值。

    使用 DISTINCT 关键字筛选结果集,对于重复行(这里是指结果集数据行的每个字段数据值都一样)只保留并显示一行。语法如下:

SELECT DISTINCT column 1[,column 2,..., column n] FROM table_name;

    PS:使用 DISTINCT 关键字时,如果表中存在多个为 NULL 的行,它们将作为相等处理

  2.5 限制查询结果

    1)LIMIT 指定初始位置

 

LIMIT 初始位置,查询记录数量;

    2)LIMIT 不指定初始位置

LIMIT 显示记录数;

    PS:在上述语法中,如果 “显示记录数” 小于或者等于查询结果的总数量,那么将会从第一条记录开始,显示指定条数的记录。

       如果 “显示记录数” 大于查询结果的总数量,数据库会直接显示查询出来的所有记录。

  2.6 WHERE 条件查询

    WHERE 设置查询条件时,WHERE 字句可以使用算术运算符(如 +,-,*,/,%),比较运算符(如 》=,《=,BETWEEN AND 和 LIKE)和逻辑运算符(如 AND,OR,NOT)等多种运算符。

  

  2.7 对查询结果分组

GROUP BY 字段名 [HAVING 条件表达式] [WITH ROLLUP];

    上述语法说明如下:

      1)字段名:它是指按照该字段的指进行分组,指定多各字段时中间使用 逗号 进行分割

      2)HAVING 条件表达式:可选参数,用来限制分组后的显示,满足条件表达式的结果将会被显示出来。

      3)WITH ROLLUP:可选参数,将会在所有记录的最后加上一条,该记录是上面所有记录的总和。

      PS: GROUP BY 可以单独使用,单独使用时查询结果就是字段取值的分组情况,字段中取值相同的记录为一组,但是只显示该组的第一条记录。

    一般在使用聚合函数时才会使用到 GROUP BY 子句,GROUP BY 之后可以跟 HAVING 子句,它实现对结果集的筛选。

    HAVING 和 WHERE 的不同点表现在以下三个方面:

      1)HAVING 针对结果组: WHERE 针对的时列的数据。

      2)HAVING 可以与聚合函数一起使用,但是 WHERE 不能。

      3)HAVING 语句只过滤分组后的数据;WHERE 在分组前对数据进行过滤

  

  2.8 对查询结果排序

    

ORDER BY order_expression [ASC | DESC];

    在语法格式中,order_expression 指明了排序列或列的别名和表达式。

    当有多个排序列时,每个排序列之间用逗号隔开,而且列后都可以跟一个排序要求。

3. 连接查询

  连接查询是把两个或两个以上的表按某个条件连接起来,从中选取需要的数据。

  连接查询时同时查询两个或两个以上的表时使用的。

  当不同的表中存在表示相同意义的列时,可以通过该字段来连接这几个表。

  MySQL 中支持不同的连接类型。

  3.1 交叉连接查询

    PASS

  3.2 内连接查询

    PASS

  3.3 外连接查询

    PASS

  3.4 自连接查询(待补充

  

原文地址:https://www.cnblogs.com/HZY258/p/8496786.html

时间: 2024-09-30 10:13:42

MySQL数据查询的相关文章

Windows中使用MySQL 数据查询(三)

一.排序 select * from employees order by name; 字符型默认字符顺序(也就是说z永远比a大),不管大小写:如果想按编码值排序(也就是说小写永远大于大写),则使用 select * from employees order by binary name; 二.取前n条记录(n在本例中为3) select * from employees order by id limit 3; 三.日期时间函数 1.获取当前日期 select curdate(); 2.取年

nodejs mysql 数据查询例子

1.安装nodejs 2.安装mysql  npm包 地址:https://github.com/felixge/node-mysql npm install mysql 3.相应API查看及调用: var mysql = require('mysql'); var connection = mysql.createConnection({ host : 'localhost', user : 'me', password : 'secret' }); connection.connect();

MySQL数据查询入门

数据查询就是对于数据表中现有的数据进行逐行筛选的工作.满足查询条件的数据被提取出来,形成记录集.类似表的结构.在记录集上可以再次查询. SELECT命令是使用频率最高的SQL语句.SELECT语句中含有大量子句,用来完成不同的查询功能. SELECT * from 表名字; 全表查询. *代表所有字段 //一般不用通配符  * SELECT  字段1,字段2.......  from 表名字;  //选择字段查询 别名 SELECT  字段1 as 别名1,字段2 as 别名2.......  

mysql数据查询基础

数据查询 select * from 表名  //*号查看表中所有数据 select 字段 from 表名    //查看指定的字段 排序 使用order by 字句查询,比如对学生年龄进行排序,年龄用(age)表示: select age from 表名 order by age asc              //asc表示升序排列 select age from 表名 order by age desc            //desc表示降序排列 原文地址:https://www.c

Mysql数据查询练习题一

设计一个系统,保存乒乓球联赛的比赛信息! 要求:在mysql命令行输出如下信息: 1. 创建一个数据库(本例以ginvip数据库为例) create database ginvip; 2.  创建队员信息表 create table player ( id int unsigned primary key auto_increment, player_name varchar(20) default '', gender enum('male','female','secret') ); 在pl

Mysql 数据查询语句中between and 是包含边界值的

MySQL的sql语句中可以使用between来限定一个数据的范围,例如: select * from user where userId between 5 and 7; 查询userId为5.6,7的user,userId范围是包含边界值的,也等同如下查询: select * from user where userId >= 5 and userId <= 7; 很多地方都提到between是给定的范围是大于等第一值,小于第二个值,其实这是不对的.此前我一直也是这么认为,通过实验,结论是

20180813 mysql 数据查询

数据查询语言DQL select [all | distinct] 字段或表达式列表 [from子句] [where子句] [group by子句] [having子句] [order by子句] [limit子句]: where中可用的运算符: 算术运算符: +  -  *  /   % 比较运算符: >   >=   <    <=   =(等于)   <>(不等于) ==(等于,mysql扩展),!=(不等于,mysql扩展) 逻辑运算符: and(与)  or(

Mysql——数据查询

关键字: 1.简单查询select,from 2.条件查询where,limit 3.排序查询order by desc | asc 4.分组查询group by, having 5.嵌套查询select from (select ...) 6.多表查询inner join, outer join,... --------------- --------------- --------- 1.简单查询 起别名:列别名,表别名 select first_name as name ,salary f

python 编写 SQLSERVER,ORACLE,MYSQL 数据查询及插入数据

SQLSERVER方法: 插入数据代码演示(上下文管理器方法): import pymssql,uuidfrom class_area.class_ReadConf import ReadDate #导入读取配置文件模块方法sql_data=ReadDate('sqlserver.conf','DATABASE','config').readdata() read_data=ReadDate('area.conf','AREAS','config').readdata()area_read_2=