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

目录

一、基本查询语句

二、查询参数指令

 三、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()

查询数据库的版本

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值