MySQL数据库的查询

**查询 select

​ 1.查询所有字段

​       select * from 表名

​ 2.查询某一个字段

​ 1.基于表

​           select 字段名,字段名 from 表名

​ 2.基于表达式

​ select 表达式,表达式;

​           select 3+5,3*5;

​ 3.基于函数

​ --查看当前的数据库

​           select database();

​ --查看当前时间

​           select now();

​ --查看当前的用户名

​           select user();

​ --查看当前数据库的版本

​           select version();

​ **3.**给字段起别名

​       select 字段名 [as]别名 from 表名;

​ **4.**给表起别名

​       select 别名.字段名 from 表名 as 别名;

​       select a.username from admin as a;

​ 5.数据库.表名:

​       select username from news.admin;

​ **6.**完整格式

      select 字段名 from 表名

​ [join条件]

​ [where条件]

​ [group by分组]

​ [having字段(二次筛选)]

​ [order by字段升序降序]

​ [limit限制]

​ 7.where****条件

​ 1.比较:> < = != <> <= >=

​       select * from admin where id>=2;

​ 2.is[not] null

​       select * from admin where username is not null;

​ 3.[not]between …and

​ 4.[not]in(值1,值2,值3);

​    select * from admin where id in(1,2,3);

​ 5.like ‘字符串’ 模糊查询

​ –查询admin表用户名是 姓张 开头

​ 1._:匹配一个字符

​ 2.%:匹配0个1个或者多个字符

    select * from admin where username like '张_';

​ select * from admin where username like '张%';

​ --查询用户名中第二个字是张的用户

      select * from admin where username like '_张%';

​ 8.[group by分组]

​ 原理:对字段相同的值进行分组,显示分组相同的值得一个结果 一般字段分组的那个字段结合聚合函数使用聚合函数

​ 1.count(字段名):获得每组的个数(count(*))包含null的值

​ 2.avg(字段):获得每组的平均数

​ 3.max(字段):最大值

​ 4.min(字段):最小值

​ 5.sum(字段):求每组的和

​ 9.having 字段:二次过滤

​ 说明:

​ 1.where条件对字段过滤

​ 2.having条件是对一个结果的过滤,一般结合group by使用

1.order by 字段名

​ 升序:asc【默认】

​ 降序:desc

  select * from admin order by id desc;

2.limit [偏移量][长度]:获取前多少条的记录(新闻数量)

​ 说明:

​ 1.偏移量 offset 起始编号从0开始

​ 2.长度:获取的记录数

​ 3.计算偏移量

​ 第一页: 偏移量0 limit 0,5;

​ 第二页: 偏移量5 limit 5,5;

​ 第三页: 偏移量10 limit10,5;

​ 偏移量=(当前页-1)*长度

**3.**多表联合查询

​ 1.格式

​ select 字段名,字段名

​ from 表1

​ 连接类型 表2

​ on 两个表的逻辑关系

​ 连接类型 表2

​ on 两个表的逻辑关系

–管理员表

create table cms_admin(

​ id int unsigned key auto_increment,

​ username varchar(10) not null unique,

​ password char(32) not null,

​ sex tinyint not null default 0,

​ age tinyint not null

);

–创建cms_type

create table cms_type(

​ id int unsigned key auto_increment,

​ tname varchar(10) not null unique

);

–创建cms_news

create table cms_news(

​ id int unsigned key auto_increment,

​ title varchar(30) not null,

​ content text not null,

​ aid int not null,

​ tid int not null,

​ addtime timestamp not null default current_timestamp

);

–1.查询cms_admin,cms_type,cms_news

– 字段:新闻id,发布人是谁,新闻的标题

select n.id,username,title

from cms_admin as a

join cms_news as n

on a.id = n.aid

join cms_type as t

on t.id=n.tid;

–2.查询每个管理员发布的新闻数量

–字段:管理员id,管理员名称,发布新闻的数量

select a.id,username,count(*)

from cms_admin as a

join cms_news as n

on a.id = n.aid

group by n.aid;

–3.每个分类下发布的新闻个数

–字段:分类的id 分类的名称 新闻个数

select t.id,tname,count(*)

from cms_type as t

join cms_news as n

on t.id = n.tid

group by n.tid;

–4.查询cms_news,分类编号是2

– 的 按照addtime降序排序 的前2条记录

select * from cms_news

where tid=2

order by addtime desc

limit 0,2;

原创:https://www.panoramacn.com
源码网提供WordPress源码,帝国CMS源码discuz源码,微信小程序,小说源码,杰奇源码,thinkphp源码,ecshop模板源码,微擎模板源码,dede源码,织梦源码等。

专业搭建小说网站,小说程序,杰奇系列,微信小说系列,app系列小说

MySQL数据库的查询

免责声明,若由于商用引起版权纠纷,一切责任均由使用者承担。

您必须遵守我们的协议,如果您下载了该资源行为将被视为对《免责声明》全部内容的认可-> 联系客服 投诉资源
www.panoramacn.com资源全部来自互联网收集,仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。 敬请谅解! 侵权删帖/违法举报/投稿等事物联系邮箱:2640602276@qq.com
未经允许不得转载:书荒源码源码网每日更新网站源码模板! » MySQL数据库的查询
关注我们小说电影免费看
关注我们,获取更多的全网素材资源,有趣有料!
120000+人已关注
分享到:
赞(0) 打赏

评论抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

您的打赏就是我分享的动力!

支付宝扫一扫打赏

微信扫一扫打赏