加入收藏 | 设为首页 | 会员中心 | 我要投稿 开发网_新乡站长网 (https://www.0373zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

mysql教程查询语句_最全的mysql查询语句整理

发布时间:2022-11-09 10:53:34 所属栏目:MySql教程 来源:
导读:  -- 基本查询

  select * from pet

  -- 列出指定的列

  select name, owner form pet

  -- 直接进行算术运算,对字段起别名

  select sin(1+2) as sin

  --where 条件
  -- 基本查询
 
  select * from pet
 
  -- 列出指定的列
 
  select name, owner form pet
 
  -- 直接进行算术运算,对字段起别名
 
  select sin(1+2) as sin
 
  --where 条件
 
  select * from pet where (birth>'1980' and species='dog') or species='bird'
 
  -- 对null 的条件
 
  select * from pet where sex is not null
 
  -- 所有名字第四位是n 的宠物信息是
 
  select * from pet where owner like '___n%'
 
  -- 所有主人名叫gwen 或benny 的宠物
 
  select * from pet where owner in ('gwen' , 'benny')
 
  -- 查询出生日期在90 年代是宠物,相当与 >= and dayofyear(now())) as age2
 
  from pet
 
  -- 分组函数
 
  select min(birth),max(birth),avg(birth),count(*),count(sex),
 
  sum(birth)
 
  from pet
 
  -- 每种宠物各有几只
 
  select species,count(*)
 
  from pet
 
  group by species
 
  -- 查询年龄最大的宠物的信息
 
  select * from pet where birth =
 
  (select max(birth) from pet)
 
  -- 每年各出生了几只宠物
 
  select year(birth), count(*) from pet group by year(birth)
 
  -- 鸟和猫的性别比例
 
  select species, sex, count(*)
 
  from pet
 
  where species in ('cat','bird')
 
  group by species, sex
 
  -- 各种宠物年龄的和
 
  select species, sum(truncate(datediff(now(),birth)/365,0)) as SumAge
 
  from pet
 
  group by species
 
  -- 数量大于1 的宠物种类
 
  select species, count(*) as c
 
  from pet
 
  group by species
 
  having c>=2
 
  -- 基本双表关联
 
  select a.name,a.species, a.sex,b.date, b.type, b.remark
 
  from pet a,event b
 
  where a.name = b.name
 
  -- 查询宠物产仔时的年龄
 
  select a.name, a.species,
 
  truncate(datediff(b.date,a.birth)/365,0) as age
 
  from pet a,event b
 
  where a.name = b.name and b.type='litter'
 
  --90 年代出生的狗的事件列表
 
  select a.name,birth,species,sex,date,type,remark
 
  from pet a,event b
 
  where a.name=b.name and birth between '1990' and '1999'
 
  and species='dog'
 
  -- 活着的宠物按发生的事件类型分组,看各种事件发生的次数
 
  select type, count(*)
 
  from pet a, event b
 
  where a.name=b.name and a.death is null
 
  group by type
 
  -- 记录的事件数量超过1 条的宠物信息
 
  select a.name,species,sex,count(*)
 
  from pet a, event b
 
  where a.name = b.name
 
  group by b.name
 
  having count(*)>=2
 
  -- 列出发生了两件事情的宠物的事件记录信息
 
  select a.name,type,date,remark,b.species,b.sex,b.owner
 
  from event a, pet b
 
  where a.name=b.name and
 
  b.name in
 
  (
 
  select name
 
  from event
 
  group by name
 
  having count(*)=2
 
  )
 
  -- 插入语句
 
  insert into pet (name,species,birth)
 
  values ('KKK','snake','2007-01-01');
 
  insert into pet
 
  values ('KK','Diane','cat','f',null,null);
 
  insert into pet set name='k',owner='Benny'
 
  -- 更新语句
 
  update pet set species='snake',sex='f',birth=now()
 
  where name='k'
 
  -- 将事件表中生日的日期,更新到pet 表中相应宠物的birth 字段
 
  update pet a
 
  set birth = (
 
  select date
 
  from event b
 
  where a.name=b.name and b.type='birthday'
 
  )
 
  where a.name in (
 
  select name
 
  from event
 
  where type='birthday'
 
  )
 
  -- 删除语句
 
  delete from pet where name like 'k%'
 
  基本查询语句
 
  SELECT * FROM `test` WHERE 1 //简单查询
 
  SELECT id,uid FROM newdb.`test` WHERE 1 //查询ID、UID等字段
 
  SELECT remark as r FROM `test` WHERE 1 //别名查询
 
  SELECT * FROM `test` WHERE id=1,3 //条件查询,相等
 
  SELECT * FROM `test` WHERE id2,3 //条件按查,不相等
 
  SELECT * FROM `test` WHERE id in (1,2,4) //in查询mysql查询,即查询ID为1,2,4的数据
 
  SELECT * FROM `test` WHERE not in (2,3) //in查询,查询ID不是2,3的数据
 
  SELECT * FROM `test` WHERE `uid` like '%王%' //like模糊查询,%*%前后匹配
 
  SELECT * FROM `test` WHERE id BETWEEN 1 and 3 //条件查询,中间数据
 
  SELECT * FROM `test` WHERE id NOT BETWEEN 1and3 //条件查询
 
  SELECT * FROM `test` WHERE id=1 and `remark`='学生' //多个条件
 
  SELECT * FROM `test` group by `remark` //查询排序
 
  SELECT * FROM `test` order by `regdate` ASC //order by升序排序,放到limit之前
 
  SELECT * FROM `test` order by `regdate` ASC,id DESC //order by按照注册时间升序,ID降序
 
  ASC 升序、DESC降序。
 
  SELECT * FROM `test` limit 0,3 //数据条数限制,输出三条
 
  SELECT count(*) FROM `test` WHERE 1 //统计查询,可以查询单个统计,例如count(name)
 
  SELECT max(id) FROM `test` WHERE 1 //统计ID最大值是多少
 
  以下三个和以上max用法类似
 
  MIN(*)最小值函数
 
  AVG(*)平均值函数
 
  SUM(*)累计值函数
 
  基本插入语句:
 
  insert into test (`id`,`uid`,`regdate`,`remark`) values ('','PHP100','2008-07-26','工人')//ID自增,
 
  insert into test (`id`,`uid`,`regdate`,`remark`) values ('','PHP100','now()','工人')
 
  insert into test values ('','PHP200','now()','工人') //简便写法,但不提倡
 
  更新语句:
 
  update test set uid='php200' where id=6 //set 后是要改后的内容。where 后是更改位置
 
  删除语句:
 
  Delete from dbname.`test` where id=3
 

(编辑:开发网_新乡站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!