看过牛腩视频后,前17集讲后台代码的编写,尤其讲到查询语句的时候,顿时感觉原来学习过的查询语句中用到的关键字烟消云散了,啥都不记得了,通过看视频,帮着回忆了一部分,在这里总结一下,查询语句中用到的关键字的含义及使用。 一、select语句(单个表)
看过牛腩视频后,前17集讲后台代码的编写,尤其讲到查询语句的时候,顿时感觉原来学习过的查询语句中用到的关键字烟消云散了,啥都不记得了,通过看视频,帮着回忆了一部分,在这里总结一下,查询语句中用到的关键字的含义及使用。一、select语句(单个表)
1.最简单的查询:
select * from [where ]
select column1,column2....from [where]
这里需要注意的是where子句中条件过滤使用到的关键字,比如用到逻辑运算符like 中的’%‘(匹配一个或多个字符)和’_‘(仅匹配一个)等。这个在新闻发布系统中也有用到。
例如:按标题搜索:
Select top 10 n.id,n.title,n.createtime,c.[name] from news n inner join category c on c.caid=c.id where n.title like '%' + @title + '%'
当然还有很多,例如between,not ,in等关键字的使用也很重要。
2.DISTINCT关键字
这个关键字,主要用来取出列中唯一的值,比如:记录中的一个字段值(city)如果有重复(廊坊,北京,廊坊,北京),那么利用DISTINCT关键字取出唯一值,即任何重复的值只计数一次,结果为为:(廊坊,北京)。
select DISTINCT city from [table]
3.使用别名
利用别名可以显示我们想要的名字,方便阅读。select city as 城市 from ...
4.group by 和having子句
group by 用来对查询到的结果集进行分组,必须位于select语句中的from子句或where子句之后。
having子句类似于where子句,紧跟在group by子后,作为一个查询条件。
与where子句的区别:where子句作用于一条记录中的查询条件,而having子句则作用于一列的查询条件
例如:
select location from citytable where city='北京' --查询城市名为‘北京’的城市的位置 select city group by city having count(memberId)>=3 --查询城市成员总数大于等于3的城市,同时按城市名分组
二、多表查询
1、inner join
要求,查询的多张表中必须具有相同的匹配项。其中on表示作用的表的条件,n,c 为别名
Select * From news n Inner join category c on c.caid=c.id
要执行的查询结果必须是在两张表中同时含有相同的类别号的记录才会被查询出来。
例如:以牛腩视频中例子为例:
category表中id表示新闻类别的id ,而news表中的caid则表示该新闻属于具体哪个类别
那么执行上面查询语句后的结果:
inner join表
可以看到结果为类别号在两张表中均存在的项。inner join还包括等值联合和不等值,这主要由on后面的条件决定
2.left join
左外连接:连接时,on条件左边表所有项均查询出来,而右边表中若无匹配项,则以null代替
上面两张表,执行
select * from category c left join news n on c.id=n.caid
结果为:
3.right join
顾名思义,右外连接结果与left join相反,将右边表所有项查询出来,而左边表中无匹配项的则以null代替。
4.full join
无论左边还是右边所有项均返回结果。无对应项以null代替。
三、其它
除了以上涉及到的查询关键字外,还涉及到了嵌套查询,in关键字的使用,对sql记录进行编号排序后按顺序查询等。利用
SELECT ROW_NUMBER() OVER (ORDER BY id desc)AS Row --Row为别名以上只是涉及到了一部分的查询关键字的总结,也是经常用到的,逐渐学习,才发现原来的知识还是应该不断的回忆和应用才能发现它更深一层应用的含义。更多关于数据库的知识有待进一步实践总结。

如何有效监控MySQL性能?使用mysqladmin、SHOWGLOBALSTATUS、PerconaMonitoringandManagement(PMM)和MySQLEnterpriseMonitor等工具。1.使用mysqladmin查看连接数。2.用SHOWGLOBALSTATUS查看查询数。3.PMM提供详细性能数据和图形化界面。4.MySQLEnterpriseMonitor提供丰富的监控功能和报警机制。

MySQL和SQLServer的区别在于:1)MySQL是开源的,适用于Web和嵌入式系统,2)SQLServer是微软的商业产品,适用于企业级应用。两者在存储引擎、性能优化和应用场景上有显着差异,选择时需考虑项目规模和未来扩展性。

在需要高可用性、高级安全性和良好集成性的企业级应用场景下,应选择SQLServer而不是MySQL。1)SQLServer提供企业级功能,如高可用性和高级安全性。2)它与微软生态系统如VisualStudio和PowerBI紧密集成。3)SQLServer在性能优化方面表现出色,支持内存优化表和列存储索引。

mySqlManagesCharacterSetsetSandCollationsyutusututf-8asthEdeFault,允许ConfigurationAtdataBase,table和columnlevels,AndrequiringCarefullageLignmentToavoidMismatches.1)setDefeaultCharactersetTercharactersetEtCollacterSeteTandColletationForAdataBase.2)conformentcollecharactersettersetertersetcollatertersetcollationcollation

MySQL触发器是与表相关联的自动执行的存储过程,用于在特定数据操作时执行一系列操作。1)触发器定义与作用:用于数据校验、日志记录等。2)工作原理:分为BEFORE和AFTER,支持行级触发。3)使用示例:可用于记录薪资变更或更新库存。4)调试技巧:使用SHOWTRIGGERS和SHOWCREATETRIGGER命令。5)性能优化:避免复杂操作,使用索引,管理事务。

在MySQL中创建和管理用户账户的步骤如下:1.创建用户:使用CREATEUSER'newuser'@'localhost'IDENTIFIEDBY'password';2.分配权限:使用GRANTSELECT,INSERT,UPDATEONmydatabase.TO'newuser'@'localhost';3.修正权限错误:使用REVOKEALLPRIVILEGESONmydatabase.FROM'newuser'@'localhost';然后重新分配权限;4.优化权限:使用SHOWGRA

MySQL适合快速开发和中小型应用,Oracle适合大型企业和高可用性需求。1)MySQL开源、易用,适用于Web应用和中小型企业。2)Oracle功能强大,适合大型企业和政府机构。3)MySQL支持多种存储引擎,Oracle提供丰富的企业级功能。

MySQL相比其他关系型数据库的劣势包括:1.性能问题:在处理大规模数据时可能遇到瓶颈,PostgreSQL在复杂查询和大数据处理上表现更优。2.扩展性:水平扩展能力不如GoogleSpanner和AmazonAurora。3.功能限制:在高级功能上不如PostgreSQL和Oracle,某些功能需要更多自定义代码和维护。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

SublimeText3 英文版
推荐:为Win版本,支持代码提示!

WebStorm Mac版
好用的JavaScript开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

SublimeText3 Linux新版
SublimeText3 Linux最新版