mysql索引查询 with_mysql的select语句总结与索引使用
单表查询:
查询指定记录 select ....where
带IN的关键字查询 not in
带between and的范围查询
select column1,column2 from table1 where column between 3 and 14;
带like的查询 %匹配任意长度的字符
查询以b开头,并以y结尾的水果的名称
select f_name from fruit where f_name like 'b%y';
下划线‘_’,一次只能匹配任意一个字符。
查询空值: is null / is not null
select * from where c_email is null;
带and的多条件查询
select f_id , f_price from fruits where s_id = '101' and f_price >= 5;
带 or的多条件查询,or和in操作法实现的效果是一样的。但是in更简洁
查询结果不重复:
select distinct s_id from fruits;
排序:
order by id desc (降序) 默认ASC(升序)
如果order by后面有多个字段,则先对第一个排序,如果第一个比较相等,在对后面的排序;
分组查询:
group by column having
这经常和聚合函数在一起使用 max() min() count() avg() sum()
select s_id ,count(*) as total from fruits group by s_id;
以上查询了id供应商提供的水果名称;
select s_Id , group_concat(f_name) as names from fruit group by s_id;
group_concat()将每个分组的名称显示
Having 过滤分组
select s_id , group_concat(f_name) as names from fruits group by s_id having count(f_name) > 1;
在group by 子句中使用with rollup
添加一行,显示字段的总和
也可多字段分组
select * from fruit group by s_id, f_name;
limit()限制查询结果
连接查询:
内连接: (inner join)
select suppliers.s_id , s_name , f_price from fruit , suppliers
where fruits.s_id = suppliers.s_d;
内连接查询语句:
select ...form fruits inner join suppliers on fruit.s_id = suppliers.s_id;
索引使用:
create index indexname on tablename (column1, column2);
添加主键索引: alter table tablename add primary key (column)
添加唯一索引: alter table tablename add unique (column)
添加普通索引: alter table tablename add index index_name (column);
添加全文索引: alter table tablename add fulltext (clomn);
添加多列索引: alter table tablename add index index_name (column1 , column2...)
删除索引 :drop index index_name on table_name;
查看索引使用情况: show status like "Handler_read%";
https://www.cnblogs.com/cxxjohnson/p/8625719.html
mysql索引查询 with_mysql的select语句总结与索引使用相关推荐
- 将oracle select * from all_tab_comments where comments like ‘%XXXX%‘查询结果转为select语句
oracle查询表格的时候会有一句 select * from all_tab_comments where comments like '%XXXX%' 就能查到相关注释的一些表格,这些表格有时候很 ...
- oracle复杂的子查询,Oracle 子查询(复杂select语句)
在执行数据操作时,如果某个操作需要依赖于另外一个 select语句的查询结果,那么就可以把 select 语句迁入到该操作语句中,这样就形成了一个子查询.实际应用中,表与表之间相互关联,相互依存,这样 ...
- mysql 查询优化器跟踪_3. select语句执行过程-优化器
1.有哪些 2.开启追踪 优化器追踪默认是关闭的 2.1 开启 SHOW VARIABLES LIKE 'optimizer_trace'; set optimizer_trace='enabled= ...
- MySQL也有潜规则 – Select 语句不加 Order By 如何排序?
今天遇到一个问题,有一个 Select 语句没有加 "Order By",返回的数据是不确定的. 这种问题碰到不止几次了.追根寻底, Select 语句如果不加 "Ord ...
- mysql中,一条select语句是如何执行的?
接下来通过语句弄明白整个Select语句的内部运行状态: 连接器: Mysql>mysql -uroot -p 你首先连接到这个数据库上:链接器负责跟客户端建立连接,获取权限,维持和管理连接 ● ...
- mysql 怎么查询慢sql语句_如何优化MySQL中查询慢的SQL语句啊?
追问 恩恩我对sql稍微了解点 不知道怎么优化慢sql 可以指导一下嘛 谢谢啦 可以加下我qq吗 1501630150来自:求助得到的回答 mysql数据库有100万+数据,查询起来很慢了,如何优化 ...
- MySQL倒序查询最后三条语句_MySQL 中 一条 order by index limit 语句的分析
在开发过程中,遇到了一条 order by index limit 的语句,执行时间慢,下面记录一下分析过程和原因 问题 SQL select * from t1 where call_type = ...
- MySQL学习之基本的SELECT语句
SQL语言的分类 DDL(Data Definition Languages.数据定义语言),这些语句定义了不同的数据库.表.视图.索 引等数据库对象,还可以用来创建.删除.修改数据库和数据表的结构. ...
- mysql千万级数据索引查询_mysql千万级数据量根据索引优化查询速度
(一)索引的作用 索引通俗来讲就相当于书的目录,当我们根据条件查询的时候,没有索引,便需要全表扫描,数据量少还可以,一旦数据量超过百万甚至千万,一条查询sql执行往往需要几十秒甚至更多,5秒以上就已经 ...
最新文章
- UVA 11983 Weird Advertisement
- Kafka消费者Consumer常用配置
- bwapp之xss(blog)
- JVM Class详解之一
- 如何将python项目部署到服务器_部署python项目到linux服务器
- delete表1条件是另一个表中的数据,多表连接删除
- LESS vs SASS?选择哪种CSS样式编程语言?
- 数据结构:二叉排序树
- maxcompute操作_MaxCompute问答整理之9月
- CMake实践(2)
- 编程语言c语言vb,c语言和vb语言哪个比较简单
- i5 10400 + B460M 黑苹果 EFI Big Sur 11.6
- 有感,一些与自己同龄的文字
- KDJ指标短线交易技巧(图解)
- php 开启 exec,php怎么开启exec()函数?
- 水利水电课程指导之建筑制图基础_第二章测试试题
- iPhone再添新配色: 黄铜色?
- java获取当前时间的前一个小时
- 机器学习进阶-阈值与平滑-图像阈值 1. cv2.threshold(进行阈值计算) 2. 参数type cv2.THRESH_BINARY(表示进行二值化阈值计算)...
- 白鹭小游戏-成语挑战-资源放置