查询:

简单查询

####查询的字段必须在表中存在
#### 对查询出来的数据进行修改时,不会修改原来的数据,只是修改了可视化的,我们看到的数据。
# 查一个数据
select 字段名 from 表名; # 查多个数据
select 字段名,字段名,字段名...... from 表名; # 对查询出来的内容进行运算
select 字段名*12 from 表名 # 对查询出来的数据字段名去重
####distinct
select distinct 某个字段 from 表; # 查询出来的字段进行重命名
select 字段名 新名字 from 表;
select 字段名 as 新名字 from 表; # 查询出来的内容进行拼接
# concat
select concat('你想要用什么拼接字段名',字段名,'你想要拼接的其他的内容','字段名')from 表;
# 自动拼接 (确定用什么拼接,然后拼接后面的所有字段,用法类似于str方法的join方法)
select concat_ws('你想要用什么拼接',字段名,字段名,字段名...) from 表;

条件查询:

1  case 语句

### case语句
select
(case
when 条件(比如:name =='小明') then # 如果条件成立,查找下面的这个内容
要查询的字段名
when 条件 then
concat(要查询的字段名,'_可以加上拼接的内容') # 如果这个条件成立,给这个内容,拼接(其实就是对这个内容的操作,)
else
concat(要查询的字段名,'拼接的内容')
end) as 新名字 from 表名 # end 结束语句, as 起一个代名,从表中查找

2  where 条件:

###where条件查询
# where 支持
# 1 比较运算符 :> < >= <= <> !=
# 2 between 80 and 100 值在80到100之间的数
# 3 in(80,90,100) 值为80或者90或者100
# not in 值不是80,90,100
# 4 like 'e%'
通配符可以是%或者_
% 表示任意多个字符
_表示一个字符 select 字段 from 表 where 条件;
select 字段 from 表 where like '金%' # 表示条件为 金...的内容,后面不限字数
#'金_' 表示 金*内容,固定了字数
#'金__' 表示金**内容,固定了字数
#tetween
select 字段 from 表 where 字段 between 范围 #身份运算符 is /is not null
# 用来判断你是不是为空 # regex 使用正则
select 字段 from 表 where 字段 regexp '正则表达式';

3   group by  分组

#### group by 分组
select 字段 from 表 group by 字段;
# 这个式子查出来的是根据这个分类,将相同的分成一类,并且重复的数据只显示一个,可以根据这个方法去重。 # 显示所有数据使用group_concat
select group_concat(字段) from 表 group by 字段;
# 这个式子查出来的是根据这个分类,将相同的分成一类,并显示每一类的所有数据

4    聚合函数

#强调:聚合函数聚合的是组的内容,若是没有分组,则默认一组

示例:
SELECT COUNT(*) FROM employee; # 查询中的数据数量
SELECT COUNT(*) FROM employee WHERE depart_id=1; # 查询表中depart_id= 1的数据数量
SELECT MAX(salary) FROM employee; # 查询salary字段最大的数据
SELECT MIN(salary) FROM employee;# 查询salary字段最小的数据
SELECT AVG(salary) FROM employee;# 查询salary字段数据的平均值
SELECT SUM(salary) FROM employee;
SELECT SUM(salary) FROM employee WHERE depart_id=3;# 查询depart_id=3的数据总和

5   having  过滤

###having
#对分组进行条件过滤,一般都和group by连用
select post,group_concat(emp_name) from emp group by post having salary > 10000;#错误,分组后无法直接取到salary字段,使用条件字段时,我们必须要先查找这个数据 mysql> select 字段,group_concat(字段) from 表 group by 字段 having avg(字段) > 10000;
# 查找分组中的数据 # 如果我们想要使用having当做条件查询
# 那么他的条件就要先找出来才能使用
select emp_name,age from emloyee having age>18; #select * 的时候,我们默认这个将整个表当做一个分组
select * from emloyee having age>18;

小总结:

#!!!执行优先级从高到低:where > group by > having
#1. Where 发生在分组group by之前,因而Where中可以有任意字段,但是绝对不能使用聚合函数。
#2. Having发生在分组group by之后,因而Having中可以使用分组的字段,无法直接取到其他字段,可以使用聚合函数

6  order  排序

按单列排序
SELECT * FROM employee ORDER BY salary; # 根据salary排序,升序
SELECT * FROM employee ORDER BY salary ASC; #ASC是升序
SELECT * FROM employee ORDER BY salary DESC;# desc是降序 按多列排序:先按照age排序,如果年纪相同,则按照薪资排序
SELECT * from employee
ORDER BY age,
salary DESC;

limit

显示前n条,limit n
limit 1 显示一条

    SELECT * FROM employee ORDER BY salary DESC
LIMIT 3; #默认初始位置为0 SELECT * FROM employee ORDER BY salary DESC
LIMIT 0,5; #从第0开始,即先查询出第一条,然后包含这一条在内往后查5条 SELECT * FROM employee ORDER BY salary DESC
LIMIT 5,5; #从第5开始,即先查询出第6条,然后包含这一条在内往后查5条

mysql--表数据操作的更多相关文章

  1. Django之mysql表单操作

    在Django之ORM模型中总结过django下mysql表的创建操作,接下来总结mysql表记录操作,包括表记录的增.删.改.查. 1. 添加表记录 class UserInfo(models.Mo ...

  2. 数据库 MySQL 之 数据操作

    数据库 MySQL 之 数据操作 一.MySQL数据类型介绍 MySQL支持多种类型,大致可以分为四类:数值.字符串类型.日期/时间和其他类型. ①二进制类型 bit[(M)] 二进制位(101001 ...

  3. 利用Flume将MySQL表数据准实时抽取到HDFS

    转自:http://blog.csdn.net/wzy0623/article/details/73650053 一.为什么要用到Flume 在以前搭建HAWQ数据仓库实验环境时,我使用Sqoop抽取 ...

  4. 如何实现MySQL表数据随机读取?从mysql表中读取随机数据

    文章转自 http://blog.efbase.org/2006/10/16/244/如何实现MySQL表数据随机读取?从mysql表中读取随机数据?以前在群里讨论过这个问题,比较的有意思.mysql ...

  5. MySQL 表数据多久刷一次盘?

    前言 事情是这样的,在某乎的邀请回答中看到了这个问题: - 然后当时我没多想就啪一下写下来这样的答案: 这个其实要通过 MySQL 后台线程来刷的,在 Buffer Pool 中被修改的过的 Page ...

  6. Python将MySQL表数据写入excel

    背景:将mysql表查询结果写入excel. 1.使用sqlyog工具将查询结果导出到Excel.xml中,用excel打开发现:因为text字段中有回车换行操作,显示结果行是乱的. 2.用mysql ...

  7. mysql之数据操作

    一 介绍 MySQL数据操作: DML 在MySQL管理软件中,可以通过SQL语句中的DML语言来实现数据的操作,包括 使用INSERT实现数据的插入 UPDATE实现数据的更新 使用DELETE实现 ...

  8. MySQL表的操作

    一.存储引擎(了解) 前几节我们知道mysql中建立的库===>文件夹,库中的表====>文件 现实生活中我们用来存储数据的文件有不同的类型,每种文件类型对应各自不同的处理机制:比如处理文 ...

  9. MySQL 之 数据操作

    一  介绍 在MySQL管理软件中,可以通过SQL语句中的DML语言来实现数据的操作,包括 使用INSERT实现数据的插入 UPDATE实现数据的更新 使用DELETE实现数据的删除 使用SELECT ...

  10. Database学习 - mysql 数据库 数据操作

    mysql数据操作 查询语法 select * | field1,field1 ... from 表名 where 条件 group by 字段 having 筛选 order by 字段 limit ...

随机推荐

  1. (转)http authorization 基本认证

    转:https://www.cnblogs.com/chenrong/articles/5818498.html http协议是无状态的, 浏览器和web服务器之间可以通过cookie来身份识别. 桌 ...

  2. Java面试题复习笔记(框架)

    1.什么是框架? 为解决一个开放性问题而设计的具有一定约束性的支撑结构,再次结构上可以根据具体问题扩展,安插更多的组成部分,从而更迅速和方便地构建完整解决问题的方案. 2.MVC模式? 用一种业务逻辑 ...

  3. ES6 语法学习(一)

    1.let 和 const 关键字 let 与 var 的区别有: a.let 声明的变量只在当前的块级作用域内有效(块级作用域通俗的话就是被{}包裹起来的区域声明对象的{}例外). b.let 声明 ...

  4. sass创建web项目环境步骤

    1)npm创建web前端项目环境步骤 1.新建文件夹,在该文件下进入cmd控制台2.输入命令 npm init 回车3.name:名字只支持小写,不支持大写,将大写的名字改为小写即可4.version ...

  5. java图片缩放与裁剪

    import java.awt.Graphics; import java.awt.Image; import java.awt.image.BufferedImage; import java.io ...

  6. xilinx和altera的fpga的不同之处!----如果不知道,你将为之付出代价! --转载

    本人从2004年接触fpga开始,至今已经8年了.开发过altera的flex系列和cyclone3系列:开发过xilinx的vii和v5系列.下面谈谈本人对二者的一些不同,以便引起开发者对一些细节上 ...

  7. Sqlserver 锁(转)

    转载 http://www.cnblogs.com/zhouqianhua/archive/2011/04/15/2017049.html 总结:    锁的种类: 共享锁\排它锁\更新锁\意向锁\计 ...

  8. bootstrap selectpicker控件select下拉框动态数据无法回显的问题

    有关于selectpicker下拉框数据回显的问题,当查看一个对象的属性的时候, 发现有关于selectpicker的下拉框并没有将返回的数据进行回显,显示的都是请选择, 经查证,当查看属性的时候,他 ...

  9. MSB4064 错误

    把项目从vs2008转成vs 2012 后,受用msbuild 编译出错 错误Code:MSB4064 修改 把msbuild 的路径从 %windir%\Microsoft.NET\Framewor ...

  10. request.getParameter和request.setAttribute/request.getAttribute

    https://blog.csdn.net/ryelqy/article/details/79230513 request.getQueryString https://blog.csdn.net/w ...