当前位置: 首页 > news >正文

数据库查询(橙子科技学习笔记)

目录

一、基本查询语句

二、查询参数指令

 三、group by查询

四、order by(默认升序)

 五、limit

 六、and和or

 七、常用函数


了解基本的数据库查询语句,是学习sql的基础,我们这里利用本地搭建的phpMyAdmin来进行学习和演示。

一、基本查询语句

基本格式:select + 列名(*代表所有列)from+表名where+条件语句

查询表中的列,如要查询users表中的所有列(一定要记得加分号,分号表示命令的结束)

select * from users;

 

 如果要筛选特定的值,可以加上where,在id列中找寻id=1的,可以用如下命令:

select * from users where id=1;

 或者:

select * from users where id in ('1');

 

 子查询,优先查询()内的语句

select * from users where id=(select id from users where username=('Dumb'));

 先执行括号内的语句select id from users where username=('Dumb'),在user中找到username=“Dumb”的id,将id返还给外面的id,再利用查到的id在表user中查询,就能拿到Dumb的所有信息。

二、查询参数指令

联合查询:

同时查询users和emails表中的信息:

select id from users union select email_id from emails;

 

 注意:union查询需要满足的条件是两个表的列数相等,如果不相等,则会报错

如,尝试查询两表中id值为6,则会出现报错:

select * from users where id=6 union select * from emails where email_id=6;

 

 这是因为users表中的列数为3,emails表中的列数为2

 

 改为:

select * from users where id=6 union select *,10 from emails where id=6;

 10为填充列,

 三、group by查询

group by用于对数据分组

不使用group by得到的结果

SELECT username FROM users;

 

使用group by会对数据进行分组:

SELECT username FROM `users`group by username;

 

 gruop by常用于对列数判断:

select * from users where id=1 group by 3;

 

 group by 1到3都能返回id等于1的信息,但是,超过3就不行了,可以理解为,users在这个表只有3列,没有更多列,超过了三列就会报错,就此可以判断到底有多少列

四、order by(默认升序)

order by是用来排序的

select * from users order by 1;

 表示按照第一列的值,来对users列表进行排序,这里的1表示的是第一列,也可以替换为2和3.

order by 的排序默认为是升序,如果要降序排列,加上desc:

select * from users order by 1desc;

 五、limit

限制输出内容数量

SELECT * FROM `users` LIMIT 1,3;

 限制从第1行开始显示3行

 但是发现是从id=2开始显示的三行,原来是因为order by是从第0行开始计数的,于是改成0试试:

SELECT * FROM `users` LIMIT 0,3;

 

 六、and和or

and表示与关系

select * from users where id=1 and username='Dumb';

 找到id=1且username=‘Dump',如果找不到返回值为空

or表示或关系

select * from users where id=2 or username='Dumb';

 找到id=1 或 username='Dumb',返回值有两行:

 七、常用函数

1、group_concat()

用于将所有的数据变成一行来输出,在实际运用中,有些注入环境回显只有一行,如果多行输出就会导致很多数据输出不了

select group_contact(id,username,password) from users;

 括号内的表示要输出的内容:

 2、select database()

查询当前数据库名

3、select version()

查询数据库的版本

喜欢的话点个赞吧,我们一起成长!

(好久没写博客了,之前感觉懒得写,但是现在来看,不写学的东西都快忘了,写博客印象更深刻一些,我要努力做一个日更博主!!!!!)

http://www.lryc.cn/news/570662.html

相关文章:

  • openSUSE-Leap-15.4-DVD-x86_64的日常使用设置
  • Python函数基础知识(2/3)
  • 2. Anaconda 的安装及 Pytorch 环境安装
  • 单点登录业务介绍及技术解决方案
  • HTC G12 HBOOT 2.0.0002 官解、降级精简教程!
  • Postman接口测试-POST请求
  • CrossApp环境搭建
  • 成功解决“以太网适配器的驱动程序可能出现问题”
  • flash广告_广告设计中Flash图形动画的应用
  • 【Python】成功解决ModuleNotFoundError: No module named ‘pandas
  • WebService技术详解 (一)
  • AMD Pensando Pollara 400Gbps网卡深度解析:超级以太网重塑AI集群网络架构
  • 网络安全最新面试题
  • 陈绮贞语录(不愧是哲学系出身)
  • 重复文件检测提取(C#编写的winform项目源码)
  • BUCK降压控制电路指南_buck降压电路-同步整流电压拓扑
  • 分析称惠普赶走前任CEO赫德堪比苹果赶走乔布斯
  • c# System.Environment.Exit(1)和System.Environment.Exit(0)的区别
  • Web文件上传方法总结大全
  • AI大模型探索之路-应用篇6:Langchain框架Agent模块—智能化任务执行的核心
  • 8 simple things that will make you sexy
  • 【自学Android开发(一)】
  • 【论文解读】LLaMA-Berry: 将“refine”当作动作解决数学推理
  • 安徽全省谷歌卫星地图免费下载的方法
  • 【NBA每周特辑】姚明直播中文网每周精华推荐视频集
  • Windows7系统ctfmon.exe文件丢失问题
  • 深度解析5W2H:高效思维与问题解决工具详解
  • 关于男生追女生的数学模型【转王博】
  • 实现h5端播放rtsp流视频--通过ffmpeg转流实现
  • 揭秘代理IP:原理、优势与应用场景全面解析