首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MySQL查询

查询的语法及关键字执行的优先级 查询语法 SELECT DISTINCT 字段1,字段2......1.找到:from 2.拿着where指定的约束条件,去文件/中取出一条条记录 3.将取出的一条条记录进行分组group by,如果没有group by,则整体作为一组 4.执行select(去重)...= \2. between 80 and 100 在80到100之间 \3. in(80,90,100) 是80或90或100 \4. like 'e%' 通配符可以是%或_, %表示任意多字符...#1:条件查询 SELECT emp_name FROM employee WHERE post='sale'; #2:多条件查询 SELECT emp_name...强调: 如果我们用unique的字段作为分组的依据,则每一条记录自成一组,这种分组没有意义 多条记录之间的某个字段相同,该字段通常用来作为分组的依据 聚合函数 ?

17.8K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    MySQL-操作

    INSERT [INTO] 数据名 [(字段列表)]{VALUES|VALUE}(列表) ON DUPLICATE KEY UPDATE 字段名 1 = 新1[,字段名2 = 新2]…; 主键冲突替代...REPLACE [INTO] 数据名 [(字段列表)] {VALUES | VALUE }(列表)[,(列表)]…; REPLACE语句与INSERT语句的使用类似,区别在于前者每执行一次就会发生两个操作...SELETE selete 选项 字段列表 FROM 数据 在上述语法中,“selete选项”默认为All,表示保存所有查询到的记录;当设置为DISINCT时,表示去除重复记录,只保留一条。...#数据更新的排序与更新 UPDATE 数据名 SET 字段=新,…[WHERE 条件表达式] ORDER BY 字段 ASC|DESC LIMIT 记录数; #数据删除的排序与限量 DELETE...分组与聚合函数 分组 在MySQL中,可以使用GROUP BY 根据一个或多个字段进行分组,字段相同的为一组。另外对于分组的数据可以使用HAVING进行条件筛选。

    2K10

    MySQL&约束&事务

    DQL操作 排序 # 通过 ORDER BY 子句,可以将查询出的结果进行排序(排序只是显示效果,不会影响真实数据) SELECT 字段名 FROM 名 [WHERE 字段 = ] ORDER...; SELECT 聚合函数(字段名) FROM 名; 聚合函数 作用 count(字段) 统计指定列不为NULL的记录行数 sum(字段) 计算指定列的数值和 max(字段) 计算指定列的最大 min..., 但是可以有多个唯一约束 默认 默认约束 用来指定某列的默认 -- 创建带有默认 CREATE TABLE emp4( eid INT PRIMARY KEY AUTO_INCREMENT...MySQL 事务隔离级别 一个数据库可能拥有多个访问客户端,这些客户端都可以并发方式访问数据库. 数据库的相同数据可能被多个事务同时访问,如果不采取隔离措施,就会导致各种问题, 破坏数据的完整性。...查询得到的数据状态不准确,导致幻读 四种隔离级别 隔离级别相关命令 # 查看隔离级别 select @@tx_isolation; # 设置事务隔离级别,需要退出 MySQL 再重新登录才能看到隔离级别的变化

    1.2K30

    mysql-查询

    语法: 一、查询的语法    SELECT 字段1,字段2... ...5.执行select 6.去重 7.将结果按条件排序:order by 8.限制结果的显示条数 创建公司员工的字段和数据类型 company.employee     员工id          ...= 2.between 80 and 100 :在80到100之间 3.in(80,90,100)是10或20或30 4.like 'xiaomagepattern': pattern可以是%或者_...%小时任意多字符,_表示一个字符 5.逻辑运算符:在多个条件直接可以使用逻辑运算符 and or not 验证结果:where条件约束 1 :条件查询 mysql> select id,name from...min()求最小 avg()求平均值 sum() 求和 count() 求总个数 group_concat(字段) 字段所有信息 强调:聚合函数聚合的是组的内容,若是没有分组,则默认一组 每个部门有多少个员工

    4.3K20

    mysql存储量

    网上常说mysql2kw就需要考虑分了,但生产中我们也用过2亿的,而且毫无压力。所以记录一下为什么2kw就要分是依据什么原理,生产大概要注意什么。...1 存储原理这里只关注B+树的存储图片在MySQL中,为了保存内存地址,通常使用6字节来存储指针。...但是一般mysql到了第三层就差不多了,只需要通过3次IO,就可以读取到数据所在的叶子结点的页。至于提取需要的记录,则需要在内存中进行一次条件匹配。2 扩展这里2kw的原理就是这样的假设前提的。...如果是个小,一条数据不够1k,如0.1k,则第三层为2kw*2=2亿,3次IO也是问题。如果就是1k,256亿条以内的记录,也就是4次IO,真的有想象中的那么不堪吗?不一定!...4、为什么6 byte存储地址这是因为MySQL在32位系统上使用4字节来存储指针,而在64位系统上使用8byte来存储指针。为了在不同系统上保持兼容性,MySQL选择了6byte作为指针的存储长度。

    28020

    MySQL恢复步骤详解

    万幸的是,只是写花了,而不是哪位大神在DB里面玩drop table。...虽然已经很久没进行恢复了,但大致步骤都还在脑海中,没花多久就搞定了~ 言归正传,记录一下恢复的步骤和关键点,提醒自己也提醒大家。...第四步: 在主库上将写花的改名,其目的有二个,其一,停止对这个的写入(当然这对业务会有一定的影响,会出现一段时间内的写入失败报警,需要提前和业务部门联系好),其二,一旦恢复失败,至少还有一个写花的存在...### 快速的方法可以按照如下操作,在还原机上的命令 mysql -uusername -ppassword -S /tmp/mysql.sock dbname tablename | mysql -uusername...如果一切都没有问题之后,我们需要将刚才rename的drop掉,整个恢复操作就算大功告成了。

    2.2K10

    MySQL多表查询

    1.查询 #查询语法 select from where group by field 分组...id,name from staff where id <= 10; #2.between 10 and 20 :在10到20之间 #例子: #1.查看工资在1万到2万之间的员工 mysql> select...#提示:聚合函数聚合的是组的内容,如果没有分组,默认为一组 1.max() #求最大 2.min() #求最小 3.avg() #求平均值 4.sum() #求和 5.count()...发现department中id=203部门在employee中没有对应的员工,发现employee中id=6的员工在department中没有对应关系 #查看两个的交叉连接 mysql> select...并且employee中的age字段必须大于25,即找出年龄大于25岁的员工以及员工所在的部门 mysql> select employee.name,department.name from employee

    14.5K40

    MySQL查询详细解析

    一、关键字的执行优先级   1,from:找到   2,where:拿着where指定的约束条件,去文件/中取出一条条数据   3,group by:将取出的一条条数据进行分组,如果没有group...*12,是因为我们通过查询语句查询出来的也是一张,但是这个是不是内存当中的一个虚拟,并不是我们硬盘中存的那个完整的,对吧,虚拟是不是也有标题和记录啊, 既然是一个,我们是可以指定这个虚拟的标题的...name, salary*12 AS Annual_salary FROM employee; #as + 新字段名,就是起一个别名的意思,上面的那个salary*12的字段名也是一个别名,只不过不直观,是MySQL...100   3,in(80,90,100)   4,like 'ee%' 模糊匹配,%表示任意多字符,_表示一个字符   5,逻辑运算符:在多个条件直接可以用逻辑运算符 and or not #1:条件查询...group by post;#按照岗位分组,并查看每个组有多少人,每个人都有唯一的id号,我count是计算一下分组之后每组有多少的id记录,通过这个id记录我就知道每个组有多少人了 关于集合函数,mysql

    2.6K11

    MySql系列(1)——查询

    1.查询所有字段 SELECT * FROM 名称; 例如查询book中所有的数据: select * from book; ?...2.查询指定字段 SELECT 字段1,字段2,字段3...FROM 名称; 例如查询book中的书籍名称: select bookName from book; ?...3.WHERE条件查询 SELECT * FROM 名称 WHERE 条件表达式; 例如查询book中书价格低于60的书籍名称: select bookName from book where...4.带In关键字查询 SELECT * FROM 名称 WHERE 字段 [NOT] IN (元素1,元素2,元素3); 注意:该字段查询结果后是元素1,元素2和元素3; 例如查询book中书的价格是...7.空查询 SELECT * FROM 名称 WHERE 字段 IS [NOT] NULL;(此处的IS不可改为=) 例如查询中年龄为null的数据:select * from stu where

    2.5K30

    MySQL查询、多表查询

    一、查询: 单个的查询方法及语法顺序需要通过实际例子来熟悉 先将数据创建下: ? ?...所以需要设置sql_model 为only_full_group_by,这样意味着以后但凡分组,只能取到分组的依据,不应该去取组里面的单个元素的。...先创建2张作为示例 mysql> #建 mysql> create table...# 将2张关联到一起的操作,有专门的方法 # 1、内连接(inner join):只取两张有对应关系的记录 mysql> select * from emp inner join dep on emp.dep_id...,也可以通过其别名的方式把它作为一张虚拟去跟其他做关联查询 额外题: 部门中薪资超过部门平均薪资的员工姓名及薪资 mysql> select t1.name,t1.salary,t1.post,t2

    22K30

    MySQL查询(精简笔记)

    MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。...MySQL提供了功能强大、灵活的语句来实现这些操作,下面将介绍如何使用SELECT语句查询数据中的一列或多列数据、使用集合函数显示查询结果....◆匹配查询一个空◆ 空不同于0,也不同于空字符串,空一般表示数据未知、不适用或将在以后添加数据,,在SELECT语句中使用IS NULL子句,可以查询某字段内容为空的记录,这里为了方便演示,需要再次创建一个数据...MySQL中可以在GROUP BY子句中使用GROUP CONCATO函数,将每个分组中各个字段的显示出来....,而只是对数据进行总结.MySQL提供一些查询功能,可以对获取的数据进行分析和报告,这些函数的功能有:计算数据中记录行数的总数、计算某个字段列下数据的总和,以及计算中某个字段下的最大、最小或者平均值

    4.8K10

    MySQL数据查询之查询

    查询 简单查询 - 创建 DROP TABLE IF EXISTS `person`; CREATE TABLE `person` ( `id` int(11) NOT NULL AUTO_INCREMENT...你需要强制让MySQL按中文来排序 聚合查询 聚合: 将分散的聚集到一起....聚合函数: 对列进行操作,返回的结果是一个单一的,除了 COUNT 以外,都会忽略空 COUNT:统计指定列不为NULL的记录行数; SUM:计算指定列的数值和,如果指定列类型不是数值类型,那么计算结果为...0; MAX:计算指定列的最大,如果指定列是字符串类型,那么使用字符串排序运算; MIN:计算指定列的最小,如果指定列是字符串类型,那么使用字符串排序运算; AVG:计算指定列的平均值,如果指定列类型不是数值类型...person limit 5,5; #查询第10条到第15条数据 select * from person limit 10,5; ps: limit (起始条数),(查询多少条数); 正则表达式 MySQL

    6.3K30
    领券