12-2 mysql 查询

老师提纲

1. create database test
2. drop database test
3. create table info
(
code int primary key,
name varchar(20) not null
)
auto_increment 自增长列
foreign key(列名) references 主表名(列名) 外键关系

4. drop table info

CRUD:
1.insert into 表名(列名) values(值)

2.delete from 表名 where 条件

3.update 表名 set 列名=值 where 条件

简单查询

1.最简单查询(查所有数据)
select * from 表名; 注:* 代表所有列
select * from info

2.查询指定列
select code,name from info

3.修改结果集的列名
select code as ‘代号‘,name as ‘姓名‘ from info

4.条件查询
select * from info where code=‘p003‘

5.多条件查询
查询info表中code为p003或者nation为n001的所有数据
select * from info where code=‘p003‘ or nation=‘n001‘
查询info表中code为p004并且nation为n001的数据
select * from info where code=‘p004‘ and nation=‘n001‘

6.范围查询
select * from car where price>=40 and price<=60
select * from car where price between 40 and 60

7.离散查询
查询汽车价格在(10,20,30,40,50,60)中出现的汽车信息
select * from car where price=10 or price=20 or price=30 or price=40 or price=50 or price=60

select * from car where price in(10,20,30,40,50,60)
select * from car where price not in(10,20,30,40,50,60)

8.模糊查询(关键字查询)
查询car表里面名称包含奥迪的
select * from car where name like ‘%奥迪%‘ %任意n个字符
查询car中名称第二个字符为‘马’的汽车
select * from car where name like ‘_马%‘ _任意一个字符

9.排序查询
select * from car order by price asc asc升序(省略)
select * from car order by oil desc desc降序

先按照brand升序排,再按照price降序排
select * from car order by brand,price desc

10.去重查询
select distinct brand from car

11.分页查询
一页显示10条 当前是第3页
select * from chinastates limit 20,10

一页显示m条 当前是第n页
limit (n-1)*m,m

12.聚合函数(统计函数)
select count(areacode) from chinastates #查询数据总条数
select sum(price) from car #求和
select avg(price) from car #求平均
select max(price) from car #求最大值
select min(price) from car #求最小值

13.分组查询
查询汽车表中每个系列下有多少个汽车
select brand,count(*) from car group by brand

查询汽车表中卖的汽车数量大于3的系列
select brand from car group by brand having count(*)>3

自己笔记

简单查询
select * from 表名; 注意:*代表所有
);

查询指定列

select 列名,列名 from 表名

修改结果集的列名
select 列名 as‘‘,列名 as‘‘ from 表名

条件查询
select * from 表名 where 条件

多条件查询
select * from 表名 where 条件 or 条件
select * from 表名 where 条件 and 条件

范围查询
select * from 表名 where price>=40 and price<=60;
select * from 表名 where price betwen 40 and 60

离散查询
select * from 表名 where price in(20,30,40,50);
select * from 表名 where price not in(20,30,40,50)

模糊查询(关键字查询)
select * from 表名 where name like ‘%奥迪%‘ %代表任意多个字符

select * from 表名 where name like ‘_马%‘ _代表任意一个字符

9.排序查询
select * from car order by price asc asc升序(省略)
select * from car order by oil desc desc降序

先按照brand升序排,再按照price降序排
select * from car order by brand,price desc

去重查询
select distinct 列 from 表名

分页查询
一页显示10条,当前是第二页

select *from 表名 limit 10(跳过多少条),10(取第三条)

聚合函数(统计函数)

select count (主键) from 表名 查询数据总条数
select sum (列名) from 表名 求和
select avg(列名) from 表名 求平均
select max(列名) from 表名 求最大值
select min (列名) from 表名 求最小值

分组查询
查询汽车表中每个系列下有多少个汽车
select brand,count (*) from car group by brand
查询汽车表中所买的数量大于3的系列
select brand from car group by brand having count*

时间: 2025-01-16 18:37:09

12-2 mysql 查询的相关文章

MySQL 查询语句使用进阶

MySQL 查询语句使用进阶 =============================================================================== 概述: =============================================================================== 练习: 练习1  首先导入hellodb.sql的脚本文件,查询其数据库和表如下: [[email protected] ~]# mysql 

mysql查询练习

mysql> #查询每个栏目最贵的商品 mysql> select goods_id,shop_price,cat_id from (select goods_id,shop_price,cat_id from goods order by shop_price desc) as temp group by cat_id; +----------+------------+--------+ | goods_id | shop_price | cat_id | +----------+----

MySQL查询计划输出列的含义

"一:MySQL查询计划输出列的含义:1.id:每个被独立执行的操作的标识,表示对象被操作的顺序:id值越大,先被执行:如果相同,执行顺序从上到下.2.select_type:查询中每个select子句的类型.3.table:名字,被操作的对象的名称,通常是表名,但有其他格式.4.partitions:匹配的分区信息(对于非分区表值为NULL).5.type:连接操作的类型.6.possible_keys:备选的索引(列出可能被使用到的索引).7.key:经优化器选定的索引:常使用ANALYZE

MySQL查询今天/本周/上周/本月/上个月份的数据

MySQL查询的方式很多,下面为您介绍的MySQL查询实现的是查询本周.上周.本月.上个月份的数据,如果您对MySQL查询方面感兴趣的话,不妨一看. 查询当前今天的数据 SELECT name,submittime FROM enterprise WHERE YEARWEEK(date_format(submittime,'%Y-%m-%d')) =date_format(now(),'%Y-%m-%d'); 查询当前这周的数据 SELECT name,submittime FROM enter

mysql查询今天,昨天,近7天,近30天,本月,上一月数据的方法(摘录)

mysql查询今天,昨天,近7天,近30天,本月,上一月数据的方法分析总结: 话说有一文章表article,存储文章的添加文章的时间是add_time字段,该字段为int(5)类型的,现需要查询今天添加的文章总数并且按照时间从大到小排序,则查询语句如下: select * from `article` where date_format(from_UNIXTIME(`add_time`),'%Y-%m-%d') = date_format(now(),'%Y-%m-%d'); 或者: selec

[转]向facebook学习,通过协程实现mysql查询的异步化

FROM : 通过协程实现mysql查询的异步化 前言 最近学习了赵海平的演讲,了解到facebook的mysql查询可以进行异步化,从而提高性能.由于facebook实现的比较早,他们不得不对php进行hack才得以实现.现在的php5.5,已经无需hack就可以实现了.对于一个web网站的性能来说,瓶颈多半是来自于数据库.一般数据库查询会在某个请求的整体耗时中占很大比例.如果能提高数据库查询的效率,网站的整体响应时间会有很大的下降.如果能实现mysql查询的异步化,就可以实现多条sql语句同

[MySQL] 查询一段时间记录

24小时内记录(即86400秒) $sql="SELECT video_id,count(id)as n FROM `rec_down` WHERE UNIX_TIMESTAMP(NOW())-UNIX_TIMESTAMP(add_time)<=86400 group by video_id order by n desc ";$sql="select a.id,a.title,b.n from video_info a,(".$sql.")b wh

mysql查询一天,查询一周,查询一个月的数据【转】

转自:http://www.cnblogs.com/likwo/archive/2010/04/16/1713282.html 查询一天: select * from table where to_days(column_time) = to_days(now());select * from table where date(column_time) = curdate(); 查询一周: select * from table   where DATE_SUB(CURDATE(), INTER

关系型数据库之Mysql查询及数据库管理(二)

在关系型数据库之Mysql编译安装及数据库基础(一)我们大致了解的数据库的基本应用了,下面我们来聊聊MySQL的家常吧,在实际生产工作中我需要了解自己再数据库领域应该选择哪条道?这是们走向数据库光明之路的前提,关于数据库发展方向有开发DBA和管理DBA,它们分别需要哪些技能呢: 开发DBA:数据库设计(E-R关系图).SQL开发.内置函数.存储过程(存储过程和存储函数).触发器.事件调查器(even scheduler) 管理DBA:安装.升级.备份.恢复.用户管理.权限管理.监控.分析.基准测

MySQL查询杂记

MySQL查询 杂项 1.显示当前系统时间 MariaDB [hellodb]> SELECT NOW(); +---------------------+ | NOW() | +---------------------+ | 2017-01-20 05:10:32 | +---------------------+ 2.去除重复的内容查询 只保留一样数据: MariaDB [hellodb]> SELECT DISTINCT GENDER FROM students; +--------+