使用数据库最终要的莫过于查询数据,所以这里将会详细的介绍mysql数据库中查询语句的使用

普通查询

使用基本的select关键字进行查询,其语法及使用如下

# 格式
select [select选项] 字段 [as 别名] from 数据表;# 查询出所有字段的值,不建议直接写*
select * from user;# 查询出指定字段的值
select id,name from user;# 过滤掉指定字段重复的数据,自动过滤调用多余的id和name两个字段值相同的记录
select distinct id,name from user;# 给查询出的字段去别名
select name as user_name from user;

带有子句的查询

mysql中的子句有5类,如下:

where 用于条件判断,过滤数据,判断条件有:> ,< , >= ,<= ,!= ,like ,between and ,in/not in ,and ,or 。 where是唯一一个直接从磁盘获取数据时就进行判断的条件 where id = 5
group by 用于引导分组查询语句 group by age
having 作用类似于where,但是它是对内存中的数据进行过滤,通常和group by连用,可以使用字段的别名进行条件判断 group by age having count(age) > 5
order by 排序查询,对查询出的数据进行排序,asc表示升序,desc表示降序 order by id desc
limit 用于限制返回查询的数据记录数,一般用于分页使用 limit 10

以上几个子句可以混合使用,接下来写几个实例,来看一下如何使用

# 使用where进行条件判断
select name,age from user where id > 2;# 获取当前表中前10条数据
select name,age from user limit 10;# 获取表中第5到第8条数据
select name , age from user limit 4,4; # 获取表中第i到第j条数据
select name ,age from user limit (i-1) , (j-i-1) ;# 查询user表中有哪几类名字
select name from user group by name;# 将所有数据按着年龄大小排序(NULL值默认是最小的)
select name,age from user order by age desc;# 查询相同名字数量大于2的有几人,名字是什么(count是一个内置的函数,用于计算个数,有几条记录,count函数的值就为几)
select name ,count(name) from user group by name having count(name) > 2;

联合查询

联合查询指的是将多个查询结果组成一个查询结果返回,使用union关键字完成联合查询,注意每一个查询结果的返回字段数、类型必须一致,一般在处理多个类型不同但是数据结构相同的表时使用,实例如下:

# 联合查询,过滤掉所有对应字段值都相同的数据
select name,age from user1 where id < 5
union
select name,age from user2 where id > 7;# 联合查询,不会过滤掉所有对应字段值都相同的数据
select name,age from user1 where id < 5
union all
select name,age from user2 where id > 7;

正则查询

# ^匹配以特定字符串开头的记录
select id,name,age from user where name regexp '^li';# $匹配以特定字符串结尾的记录
select id,name,age from user where name regexp 'si$';# .匹配字符串的任意一个字符(只要带s的都会被查询到)
select id,name,age from user where name regexp '.s';# [字符集合] 匹配字符集合中的任意一个字符,只要name值带有i或者s的都会被查询到
select id,name,age from user where name regexp '[is]';# [^字符集合] 匹配除字符集合以外的任意一个字符
select id,name,age from user where name regexp '[^is]';# S1|S2|S3  匹配S1,S2,S3中的任意一个字符串
select id,name,age from user where name regexp 'si|san';# a*b 匹配b之前出现过a的记录,包括0次
select id,name,age from user where name regexp 'l*s';# a+b 匹配b之前出现过a的记录,至少1次
select id,name,age from user where name regexp 'l+s';# a{N} 匹配字符串a连续出现过N次的记录
select id,name,age from user where name regexp  'i{2}';# a{M,N} 匹配字符串至少出现过M次,至多出现过N次的记录
select id,name,age from user where name regexp  'i{2,5}';

9、mysql数据表中数据的查询(1)相关推荐

  1. mysql数据表中取几列_MySQL查询数据表中数据记录(包括多表查询)

    MySQL查询数据表中数据记录(包括多表查询) 转自:http://www.baike369.com/content/?id=5355 在MySQL中创建数据库的目的是为了使用其中的数据. 使用sel ...

  2. MySQL查询数据表中数据记录(包括多表查询)

    MySQL查询数据表中数据记录(包括多表查询) 在MySQL中创建数据库的目的是为了使用其中的数据. 使用select查询语句可以从数据库中把数据查询出来. select语句的语法格式如下: sele ...

  3. 【MySQL】根据数据表中日期字段查询某个月每一天的数据量?查询数据表中所有日期每天的数据量?近三天每天数据量?

    前提这个table有一个日期字段date_time之类的 1.根据数据表中日期字段查询某个月每一天的数据量 如果要获取8月的数据,可以这么写: SELECT count(*), DATE_FORMAT ...

  4. SQL Server数据表中数据的增加(插入)、查询、修改、删除

    目录 零.码仙励志 一.数据表中数据的增加(插入) 二.数据表中数据的查询 三.数据表中数据的修改 四.数据表中数据的删除 零.码仙励志 伟人所达到并保持着的高处,并不是一飞就到的,而是他们在同伴们都 ...

  5. phpMyAdmin将数据表中数据导出为csv文件,用微软excel打开时,中文乱码的原因以及解决办法

    中文乱码的原因:用户使用phpMyAdmin可以将数据表中数据导出为csv文件,而使用Excel工具打开该文件时,可能出现中文乱码的情况.这是因为phpMyAdmin导出的csv文件使用了UTF-8编 ...

  6. 10、mysql数据表中数据的查询(2)

    介绍一下mysql中查询的重中之重,连接查询 创建student和teacher表,表中数据如下: student teacher 交叉连接查询 查询结果是连接的几个表中满足条件的相关联的数据的交集 ...

  7. 8、mysql数据表中数据的增删改

    已经介绍了数据表的创建.修改和删除,接下来介绍一下如何往数据表中添加数据.修改数据.删除数据 添加数据 # 默认给表中所有字段添加数据,要保证添加的数据列和字段列一致 insert into user ...

  8. mysql删除表中数据

    方法1:delete from 表名; 方法2:truncate table 表名; 比  较: 1> truncate 是整体删除 (速度较快),delete是逐条删除 (速度较慢) 2> ...

  9. MySQL 清空表中数据

    MySQL清空表中的数据(不算DROP语句) 1. truncate 语句 truncate table table_name 不能与where一起使用 truncate删除数据后是不可以rollba ...

  10. mysql 删除数据表中数据_Mysql-删除数据表-三种方式详解

    Mysql 删除数据表的三种方式详解 用法: 1.当你不再需要该表时, 用 drop; 2.当你仍要保留该表,但要删除所有记录时, 用 truncate; 3.当你要删除部分记录或者有可能会后悔的话, ...

最新文章

  1. android系统短信库的一些用法
  2. Object-c学习之路三(@class与#import的区别)
  3. Wine cannot find the ncurses library (libncurses.so.5)
  4. Linux 文件与目录基本操作
  5. ros创建工作空间_ROS 初级 - 安装和配置 ROS 环境
  6. SAP License:一个资深SAP顾问的2021年项目总结
  7. LeetCode题解——Palindrome Number
  8. css颜色渐变 移动,CSS颜色渐变
  9. 设计模式读书笔记之结构型模式
  10. [转]coolfire黑客入门教程系列之(四)
  11. rabbitvcs svn如何添加到忽略列表,如何恢复
  12. Mac上命令行安装证书p12文件及描述文件mobileprovision
  13. html中边距属性,CSS边距属性
  14. Hbase跨集群数据同步验证
  15. elementUI之表格排序失效,表格宽度可拖拽变宽变窄
  16. 【408】计算机组成原理第一轮强化笔记
  17. 每日股市大盘自动复盘(基于聚宽量化投资平台)
  18. bismark 识别甲基化位点-比对篇
  19. 【转】dB、dBm是什么意思~
  20. 传遍朋友圈的Workflow,到底是什么鬼

热门文章

  1. 卖shell看站什么意思_粤语俚语卖咸鸭蛋是什么意思?
  2. github可以传java吗_如何在github上传本地项目代码(新手使用)----亲测使用
  3. php 设置excel格式,php 操作excel文件的方法小结
  4. aop springboot 传入参数_Springboot添加AOP打印请求参数
  5. [JavaWeb-XML]XML_快捷查询方式(selector选择器,XPath)
  6. C++ 基类,子对象,派生类构造函数调用顺序
  7. vue.js中mock本地json数据
  8. mysql 多行拼接注入_MySQL注入汇总
  9. 快速排序 (Quick Sort)(Java实现)
  10. Free tour II SPOJ - FTOUR2 点分治 + 树状数组