查询:

简单查询

####查询的字段必须在表中存在
#### 对查询出来的数据进行修改时,不会修改原来的数据,只是修改了可视化的,我们看到的数据。
# 查一个数据
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. JVM--01

    ---恢复内容开始--- jdk  jre  jvm 的关系 java7的结构图 java8 jvm内存溢出 jdk /bin 目录下的jconsole java发展历史 oak:用在嵌入式设备上 相 ...

  2. saltstack 入门

    1.Saltstack是什么? saltstack 是一个异构平台基础设施管理工具,具有远程执行.配置管理.云管理.只需花费数分钟就可以运行起来,扩展性足以支撑上万台服务器,速度快,服务器之间秒级通讯 ...

  3. 【原创】大叔问题定位分享(30)mesos agent启动失败:Failed to perform recovery: Incompatible agent info detected

    mesos agent启动失败,报错如下: Feb 15 22:03:18 server1.bj mesos-slave[1190]: E0215 22:03:18.622994 1192 slave ...

  4. C# 微信开发-----微信会员卡(二)

    主要说说如何使用微信的激活会员卡 如图: 点击激活会员卡时,要跳转到如下的图片: 要实现这个功能,首先我们在创建会员卡后就操作如下代码 #region 添加激活时的自定义字段 string custo ...

  5. vue-地址插件 v-region

    demo地址:https://terryz.gitee.io/vue/#/region/demo

  6. 初识Vue

    Vue.js介绍 Vue是一套用于构建用户界面的渐进式框架.与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用.Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合.另 ...

  7. ycmd for emacs 代码自动补全

    YCMD FOR EMACS Table of Contents 1. 安装 1.1. 下载 1.2. 安装相关依赖 1.3. 更新submodules 1.4. 安装 2. 配置 1 安装   1. ...

  8. 咸鱼入门到放弃7--jsp<二>jsp常用标签

    一.JSP标签介绍 JSP标签也称之为Jsp Action(JSP动作)元素,它用于在Jsp页面中提供业务逻辑功能,避免在JSP页面中直接编写java代码,造成jsp页面难以维护. 二.JSP常用标签 ...

  9. Android-SD卡相关操作

    SD卡相关操作 1.获取 App 文件目录 //获取 当前APP 文件路径 String path1 = this.getFilesDir().getPath(); 当前APP目录也就是应用的这个目录 ...

  10. Mysql SQL执行错误:#1136

    情况:在插入数据时可能会遇到这种情况: 原因: 插入时的数据个数与表中的字段个数不一致 解决方法: 检查表中的字段数与代码中所插入的数据字段数是否一致 例如:以下为Salary表中结构  虽然ActI ...