「笔记」数据库查询机制以及select的使用

「笔记」数据库查询机制以及select的使用,第1张

查询语法

asc升序(从小到大,默认就是升序,可以不写) desc降序(从大到小) order by这句一定是放在最后。如果有多个列名,使用英文逗号分开,优先排序前面的,先排列前面的列名,然后再排序后面的列名。

查询全部行和列:

查询部分行业列:

select Sname,SGrade from Students

where

as取别名

取别名,再给领导汇报数据的时候,字段都是是用自己定义的数据,领导可能看不懂,怎么办?把字段换成中文来显示:

判断空值有两种,一种是有值删除后,使用=,where Name=’‘

如果是值默认的空值NULL,只能使用is,where Name is NULL

使用 top 数字 取前几条查询语句

使用百分比 top 数字 percent

另外只有日期类型比较特殊,可以使用大于等于小于的,带引号,格式不能写错。

系统函数:

字符串函数

charindex

select charindex(参数1需要找的,数据源,起始位置数字)

LEN 返回长度。(去掉最右边的空格,中间和前面的空格去不掉)

selcet len(’ M y ‘)

LTRIM 去左边的空格,嵌套使用

select len(ltrim(' M y ') //去掉左边的空格,返回

……太多了,记不住,需要的时候,到网上搜索

还有日期函数,数学函数,……

cast数据转换

select cast(文本数字 as int)

convert有格式的转换

以select * from students where age<20为例,mysql内部运行机制是这样的:

第一步:读取from后面的表(数据源),将整个表从硬盘存入到内存中,得到一个临时表,因为还没有附上条件,此时查询结果集还没有得出。

第二步:读取where后面的条件。逐行扫描内存临时表中所有"行",符合where条件的"行"才能继续呆在内存中.此时是对临时表执行过滤,查询结果集还没有得出(就像在跑步,还拿不到跑步成绩)

第三步:读取select后面内容。临时表+执行完where条件后,最终得到一个结果集在内存中.select后面的内容作用于结果集,决定到底哪些列可以输出到数据库客户端(让人看到)

这个机制如果了解,对于sql查询语句的拍错是非常有利的。具体的可以去黑马程序员搜一下免费的视频,干货比较全。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10705268.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-10
下一篇 2023-05-10

发表评论

登录后才能评论

评论列表(0条)

保存