mysql所有查询语句_最全的mysql查询语句整理
select * from pet
-- 列出指定的列
select name, owner form pet
-- 直接进行算术运算,对字段起别名
select sin(1+2) as sin
--where 条件
select * from pet where (birth>
-- 基本查询 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' -- 将事件表中生日的日期mysql查询,更新到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查询,即查询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 (编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |