背景 有一个商品的名称配置错误了,需要进行修改,但是涉及到的表太多了,因为商品的sku_name被冗余到了很多表中,一个一个的找非常的费事费力,特地记下便捷查询操作以备后用。...数据库SQL快捷查询 1.查询包含某个字段的所有表名 SELECT DISTINCT table_name FROM information_schema.columns WHERE table_schema...= 'db_lingyejun' and column_name='sku_id'; 2.查询同时含有两个字段的所有表名 SELECT DISTINCT a.table_name FROM information_schema.columns
单表查询 1、普通查询 (1)命令:select * from 名>;//通匹 (2)命令:select 查询的字段> from 名>; 2、去重查询(distinct) 命令:select...distinct 查询的字段> from 名> 3、排序查询(order by) 升序:asc 降序:desc 降序排列命令:select 查询的字段名> from 名> order...by 查询的字段名> desc 不加desc一般默认为升序排列 4、分组查询(group by) 命令:select , Sum(score) from 名> group...命令:mysql>select id, Sum(score) from result group by id; 多表查询 一、等值查询 现在有两个表: 现在要查询年龄小于20岁学生的不及格成绩...如果存在左表中过滤出来的数据,右表没有匹配上,这样的话右表就会出现NULL; (2)右外连接查询 select a.id,score from (select id,age from stu where
查看数据库名 2. 查看实例名 1. 查看数据库名 select name from v$database; 更详细点的话,就执行这个(注意,这个必须在命令行界面执行)。...查看实例名 select instance_name from v$instance; desc v$instance;
继续造轮子 mysql数据库改名,官方没有直接修改数据库名称的命令 只有通过修改表名方式实现 #!.../bin/bash mysqlconn="mysql -uroot -p123456" 需要修改的数据库名 olddb="test1" # 修改后的数据库名 newdb="test2" # 创建新数据库...$mysqlconn -e "drop database if exists ${newdb};create database ${newdb};" # 获取所有表名 tables=$($mysqlconn...-N -e "select table_name from information_schema.tables where table_schema='${olddb}'") # 修改表名 for
MySQL发送查询请求,到底做了什么工作? 下图是MySQL查询执行流程图: ? •客户端发送一条查询给服务器。•服务器先检查查询缓存,如果命中了缓存,则立刻返回查询在缓存中的结果。...2.关联子查询 MySQL的子查询实现是非常糟糕的。...列表中的选项有专门的优化策略,一般会认为MySQL会先执行子查询返回所有包含author_id 为1的book_id。...book_id IN (1,21,3,45,656,766,213,123) 但是,MySQL会将相关的外层表压到子查询中的,就是下面的样子: SELECT * FROM book WHERE EXISTS...•table: 查询的是哪个表•partitions: 匹配的分区•type: join 类型•possible_keys: 此次查询中可能选用的索引•key: 此次查询中确切使用到的索引.
MYSQL数据库-复合查询 零、前言 一、基本查询 二、多表查询 三、自连接 四、子查询 1、单行子查询 2、多行子查询 3、多列子查询 3、在from子句中使用子查询 五、合并查询 1、union 2...、union all 零、前言 本章主要讲解学习MYSQL数据库中的复合查询,前面我们讲解的mysql表的查询都是对一张表进行查询,在实际开发中这远远不够 一、基本查询 示例: 查询工资高于500...实际开发中往往数据来自不同的表,所以需要多表查询。...;其实我们只要emp表中的deptno = dept表中的deptno字段的记录 显示部门号为10的部门名,员工名和工资 显示各个员工的姓名,工资,及工资级别 三、自连接 自连接是指在同一张表连接查询...(部门名,编号,地址)和人员数量 五、合并查询 在实际应用中,为了合并多个select的执行结果,可以使用集合操作符 union,union all 1、union 该操作符用于取得两个结果集的并集
Mysql数据库-子查询 1. 什么是子查询 # 子查询定义 ## B语句作为A语句的一部分,B语句是select查询语句,那么B语句称之为子查询,内层查询(子集,subquery) -- 1....首先我们需要有准备好的数据emp表,下面来查询一下这张表中:工资salary最高的员工 -- 对于这种需求,我们一般是分为两个步骤来进行查询的:首先查询emp表中的最高工资salary,然后基于最高工资...在上面的操作中,虽然查询出了结果。但是却分开了两个SQL语句来执行,这就导致效率不高的问题了。 -- 那么怎么解决呢? 可以使用子查询。...子查询分类 在上面的执行示例中,我们已经了解到了什么是子查询。那么子查询可以按照查询返回的不同结果,进行一些简单的分类,如下: #按结果集的行列数不同 1....执行: 子查询的执行的次数依赖于外部查询,外部查询每执行一行,子查询执行一次 解释: 子查询中查询条件依赖于外层查询中的某个值,所以子查询的处理不只一次,要反复求值,以供外层查询使用.
连接查询 - 自连接 1、自连接查询 左表和右表是同一个表,根据连接查询条件查询两个表中的数据。...主查询和子查询的关系: 子查询是嵌入到主查询中 子查询是辅助主查询的,要么充当条件,要么充当数据源 子查询是可以独立存在的语句,是一条完整的 select 语句 2、子查询的使用 例1....SQL语句,子查询被嵌入到一对小括号里面 数据库设计之三范式 1、数据库设计之三范式的介绍 范式: 对设计数据库提出的一些规范,目前有迹可寻的共有8种范式,一般遵守3范式即可。...开发流程是先画出E-R模型,然后根据三范式设计数据库中的表结构 外键SQL语句的编写 1、外键约束作用 外键约束:对外键字段的值进行更新和插入时会和引用表中字段的数据进行验证,数据如果不合法则更新和插入会失败...key 外键名; 5、小结 添加外键约束: alter table 从表 add foreign key(外键字段) references 主表(主键字段); 删除外键约束: alter table 表名
概述 分组查询的作用是将查询的结果按指定字段分组,字段中数值相等的为一组。 分组以后可以配合count()、agv()、sum()、max()等聚合函数使用。...语法 group by 列名 [having表达式][with rollup] having表达式:用来过滤分组后的数据 with rollup:在所记录后加一条,显示select查询聚合的结果 案例
概述 使用where子句实现对查询数据的筛选 where子句分为五类: 比较运算符 逻辑运算符 范围查询 模糊查询 空判断 语法 select 字段名from 表名 where子句; 分类 比较运算符筛选...= 逻辑运算符 and or not 范围查询 in between 大 and 小 模糊查询 like 查询关键字 %表示任意多个字符(包括0) _表示任意一个字符 escape:取消%或_字符的通配符特性
MySql版本信息的查询: 1、通过mysql -V命令查询 C:/mysql/bin>mysql -V mysql Ver 12.22 Distrib 4.0.18, for Win95/Win98...(i32) 2、通过mysql模式下的status命令查看状态 mysql> status -------------- mysql Ver 12.22 Distrib 4.0.18, for Win95...> 3、通过mysql模式下的select语句查询 mysql> select version(); +-----------+ | version() | +-----------+ | 4.0.18...-nt | +-----------+ 1 row in set (0.00 sec) mysql> 4、通过mysql --help命令进行查看 C:/mysql/bin>mysql --help mysql... Ver 12.22 Distrib 4.0.18, for Win95/Win98 (i32) Copyright (C) 2002 MySQL AB
概述: 连接查询的作用将多张表进行内容上的连接,查看数据时可以同时看到多张表的多个数据 连接查询的分类 内连接查询 左连接查询 右连接查询 自连接查询 语法 #内连接 SELECT * FROM...inner join 实现多表查询,查询共有记录。...SELECT * FROM 表1 inner join 表2 on 表1.字段=表2.字段 左连接查询 left join 以左表为主,查询右表的数据。若右表不存在数据,则返回null。...SELECT * FROM 表1 left join 表2 on 表1.字段=表2.字段 右连接查询 right join 以右表为主,查询左表的数据。若左表不存在数据,则返回null。...SELECT * FROM 表1 right join 表2 on 表1.字段=表2.字段 自连接查询 inner join 左表和右表是同一个表,查询两个表中的数据。
开源项目 特点: 1,支持中文;2,变量命名:Github, Bitbucket, Google Code, Codeplex, Sourceforge, Fedora Projec的项目源码3,可以查询代码片段及其代码库
以大小写输入关键词查询是等价的,比如SELECT=select。...(4)mysql接受自由格式的输入:它收集输入行但直到看见分号才执行。 (5)要注意提示符如何从mysql>变为->,这正是mysql如何指出它没见到完整的语句并且正在等待剩余的部分。...提示符是你的朋友,因为它提供有价值的反馈,如果使用该反馈,将总是知道mysql正在等待什么。...如果你决定不想执行正在输入过程中的一个命令,输入\c取消它: (6)提示符含义 `> 提示符类似于 '> 和"> 提示符,但表示你已经开始但没有结束以`> 开始的识别符。
1.5 查询语句 语法:select [选项] 列名 [from 表名] [where 条件] [group by 分组] [order by 排序][having 条件] [limit 限制] 1.5.1...在有些特定情况下,没有具体的表的参与,但是为了保证select语句的完整又必须要一个表名,这时候就使用伪表。...】 将查询的结果分组,分组查询目的在于统计数据。...-- 前3名语文成绩加1分 mysql> update stu set ch=ch+1 order by ch+math desc limit 3; Query OK, 3 rows affected...(0.00 sec) Rows matched: 3 Changed: 3 Warnings: 0 -- 前3名删除 mysql> delete from stu order by ch+math
图片目录数据库的基本查询 DQL简单查询聚合查询分组查询排序查询分页查询数据库的基本查询 DQL简单查询--查询所有的商品 select * from 表名;-...-查询商品名和商品价格 select 列名1,列名2 from 表名;--别名查询使用关键字as(as可以省略) select * from 表名 as 别名;select...列名 as 别名 from 表名;--去掉重复值(distinct) select distinct 列名 from 表名;--查询结果是表达式(运算查询)...1,列名2...from 表名 where 条件,条件2...聚合查询根据定义,聚合函数对一组值执行计算并返回单个值。....MySQL提供了许多聚合函数,包括 AVG , COUNT , SUM , MIN , MAX 等。. 除 COUNT 函数外,其它聚合函数在执行计算时会忽略 NULL 值。
SELECT 子查询 子查询( subquery)即嵌套查询 ,嵌套在其他查询中的查询。...读取ArticleDetail表中所有文章(title)在Article表中对应的类型,作者 select ArticleDetail.title,ArticleDetail.reade_times,Article.type...表名称 ORDER BY 列名称; SELECT 列名称 FROM 表名称 UNION ALL SELECT 列名称 FROM 表名称 ORDER BY 列名称; UNION 语句:用于将不同表中相同列中查询的数据展示出来...;(不包括重复数据) UNION ALL 语句:用于将不同表中相同列中查询的数据展示出来;(包括重复数据) 列出Author表中和Article中所有不同的作者名:每个列出现一次 select name...from Author union select author from Article order by name; 列出Author表中和Article中所有的作者名:每个列出现多次 select
数据操作语言:普通查询 记录查询 最基本的查询语句是由 SELECT 和 FROM 关键字组成的 SELECT * FORM t_emp; SELECT empnpo, ename, sal FROM...用户不必关心数据的真实存储,交由数据库高效的查找数据 USE demo; SELECT * FROM t_emp; SELECT empno,ename,sal FROM t_emp; 使用列命名 通常情况下...SELECT empno, sal*12 AS "income" FROM t_emp; SELECT empno,sal*12 AS "icome" FROM t_emp; 查询语句的子句执行顺序
MS SQL/mysql 数据库查询带有某个字段的所有表名 SELECT * FROM information_schema.columns WHERE column_name='column_name...'; oracle数据库查询带有某个字段的所有表名 select column_name,table_name,from user_tab_columns where column_name='column_name
1.2 多表查询 1.2.1 内连接 规则:返回两个表的公共记录 语法: -- 语法一 select * from 表1 inner join 表2 on 表1.公共字段=表2.公共字段 -- 语法二...select * from 表1,表2 where 表1.公共字段=表2.公共字段 例题 -- inner join mysql> select * from stuinfo inner join stumarks...---+------------+---------+--------+-------------+---------+ 5 rows in set (0.00 sec) 多学一招: -- 1、内连接中inner...-------+------------+---------+--------+-------------+---------+ 5 rows in set (0.00 sec) -- 如何实现三表查询...| | 上海 | | 天津 | +------------+ 3 rows in set (0.00 sec) 3、显示男生和女生的人数 -- 方法一: 分组查询
领取专属 10元无门槛券
手把手带您无忧上云