-
SQLServer通过withas方法查询树型结构
一、withas公用表表达式 类似VIEW,但是不并没有创建对象,WITHAS公用表表达式不创建对象,只能被后随的SELECT语句,其作用: 1.实现递归查询(树形结构) 2.可以在一个语句中多次引用公用表表达式,使其更加简洁二、非递归的公共表达式 可以是定义列或自动列和selectinto效果差不多--指定列withwithTmp1(code,cName)as(selectid,NamefromClassUnis)select*fromwithTmp1--自动列withwithTmp2as(select*fromClassUniswhereAuthor='system')select*fromwithTmp2三、递归的方式 通过UNIONALL连接部分。通过连接自身whitas创建的表达式,它的连接条件就是递归的条件...
数据库操作教程 2022-09-23 16:43:03 -
使用用SQL语句从电脑导入图片到数据库的方法
使用SQL语句从电脑导入图片到数据库的方法,具体代码如下所示:--创建图片表CREATETABLEW_PIC(IDINT,--编号WPATHVARCHAR(80),--完整路径PICVARCHAR(80),--图片名称,不带后缀imgimage--图片内容)--图片表中插入数据INSERTINTOW_PIC(ID,WPATH,PIC)SELECT1,'C:UserswDesktop产品图片2#加工图34-C专用.jpg','2#加工图34-C专用'UNIONALLSELECT2,'C:UserswDesktop产品图片129.jpg','129'--创建游标DECLARECUR_PICCURSORFORSELECTID,WPATH,PICFROMW_PIC;DECLARE@IDint,@PATHVARCHAR(80),@PICVARCHAR(80),@STRVARCHAR(100);OPENCUR_PIC;FETCHNEXTFROMCUR_PICINTO@ID,@PATH,@PIC;WHILE@@FETCH_STATUS=0BEGINSET@STR=STR(@ID);--插入图片数据E...
数据库操作教程 2022-09-23 16:42:59 -
SQLyog连接MySQL8.0报2058错误的完美解决方法
引言用SQLyog连接MySQL8.0(社区版:mysql-installer-community-8.0.15.0.msi),出现错误2058(Plugincaching_sha2_passwordcouldnotbeloaded:xxxx),通过查询资料了解了该错误的原因并在本文中提出了该问题的方案。原因该错误提示如下图所示:具体原因:新的MySQL8.0安装,在初始化数据目录时,将‘root'@'localhost'创建帐户,并且该帐户caching_sha2_password默认使用,密码的加密方法发生了改变,因此SQLyog不能正常解析,才报出如上错误...
数据库操作教程 2022-09-23 16:42:56 -
sqlserver使用SSMS运行sql脚本的六种方法
摘要:下文讲述五种运行sql脚本的方法,如下所示:实验环境:sqlserver2008R2在一次会议讨论中,大家咨询我使用SSMS运行sql脚本的方法,下文我将依次举例讲述sql脚本的运行方法,如下所示:1.选中待运行sql脚本,按快捷键"F5"2.选中待运行sql脚本,点击右键,选中"执行"3.选中待运行sql脚本,按工具栏中的运行图标4.选中待运行sql脚本,依次点击"查询"-->"!执行"5.选中待运行sql脚本,按快捷键"Ctrl+E"6.选中待运行sql脚本,按快捷键"Alt+X"总结以上所述是小编给大家介绍的sqlserver使用SSMS运行sql脚本的六种方法题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!...
数据库操作教程 2022-09-23 16:42:55 -
SQLServer2000/2005/2008删除或压缩数据库日志的方法
由于数据库日志增长被设置为“无限制”,所以时间一长日志文件必然会很大,一个400G的数据库居然有600G的LOG文件,严重占用了磁盘空间。由于主要是做OLAP,所以数据库本身不会有大变动,所以日志也就没有多少作用了,因此想办法把数据库日志文件收缩到很小或者删除...
数据库操作教程 2022-09-23 16:42:50 -
sqlserver通过脚本进行数据库压缩全备份的方法【推荐】
问题:生产环境的数据库可能比较大,如果直接进行全备而不压缩的话,备份集就会占用了大量磁盘空间。给备份文件的存放管理带来不便...
数据库操作教程 2022-09-23 16:42:49 -
sqlserver编写通用脚本实现获取一年前日期的方法
问题: 在数据库编程开发中,有时需要获取一年前的日期,以便以此为时间的分界点,查询其前后对应的数据量。例如:1.想查询截止到一年前当天0点之前的数据量,以及一年前当天0点开始到现在的数据量...
数据库操作教程 2022-09-23 16:42:48 -
sql中时间以5分钟半个小时任意间隔分组的实现方法
开发中遇到过问题就是对时间以半个小时分钟分组,如统计08:00-08:30的人数,08:30-09:00的人数,貌似sql中没有这样的函数吧,直接从数据库里查出来,在java里分组也太low了吧想到方法1自定义函数,自己实现时间的半个小时转换,统计时调用函数CREATEFUNCTION`date_half_hour_format`(in_dateTIMESTAMP)RETURNSTIMESTAMPBEGINDECLAREout_dateTIMESTAMP;DECLAREs_dateVARCHAR(255);DECLAREs_minuteVARCHAR(2);DECLAREint_minuteINT;SETs_minute=SUBSTRING(in_date,15,2);SETint_minute=CAST(s_minuteASSIGNED);IFint_minute<=29THENSETint_minute=0;SETs_date=CONCAT(LEFT(in_date,14),'0',int_minute);ELSESETint_minute=30;SETs_date=CONC...
数据库操作教程 2022-09-23 16:42:39 -
SQLSERVER2012数据库自动备份的方法
为了防止数据丢失,这里给大家介绍SQLSERVER2012数据自动备份的方法:一、打开SQLSERVER2012,如图所示:服务器类型:数据库引擎;服务器名称:127.0.0.1(本地),也可以选择远程连接;身份验证:包含Windows身份验证和SQLServer身份验证,此处选择Windows身份验证;二、如图,选择【管理】-->【维护计划】-->【维护计划向导】:三、在【SQLSERVER维护计划向导】界面,点击【下一步】: 四、填写如图所示:名称和说明,点击【更改】: 五、在【新建作业计划】界面,选择数据库备份的频率,如图,然后确定:计划类型:重复执行;频率执行:每周(每天、每月);每天频率:时间自行选择;持续时间:开始时间默认当前时间,结束时间可以不填;六、如图,显示当前计划属性:七、此处选择【备份数据库(完整)】,然后【下一步】:八、如果有多个数据库同时备份,这里可以选择执行顺序,此处默认一个: 九、选择要备份的数据库(可以多选):十、选择数据库备份的目录: 十一、选择报告文件对应的目录: 十二、在【完成该向导】界面,可以看到设置备份的详细信息:十三、到此,...
数据库操作教程 2022-09-23 16:42:20 -
SQLServer中查询结果超出了查询时间范围解决方法
废话少说,直接上SQL代码(有兴趣的测试验证一下),下面这个查询语句为什么将2008-11-27的记录查询出来了呢?这个是同事遇到的一个问题,个人设计了一个例子。USEAdventureWorks2014;GOSELECT*FROM[Person].[Person]WHEREModifiedDate>='2008-11-2600:00:00:000'ANDModifiedDate<='2008-11-2623:59:59.999' 其实如果细看过文档的话,应该知道是什么原因,因为数据类型Datetiem的时间范围:00:00:00到23:59:59.997,最后部分的范围为0~997,官方文档提示,datetime的秒的小数部分精度的有舍入,具体请见下面datetime秒的小数部分精度的舍入如下表所示,将datetime值舍入到.000、.003、或.007秒的增量...
数据库操作教程 2022-09-23 16:42:20 -
SQLServer正确删除Windows认证用户的方法
前言在SQLServer数据库中,有时候会建立一些Windows认证的账号(域账号),例如,我们公司习惯给开发人员和Support同事开通NT账号权限,如果有离职或负责事宜变更的话,那么要如何正确的删除这些Windows认证账号呢?这篇文章就是来探讨一下如何正确的删除Windows认证账号。如下所示:下面这种方式,仅仅是删除登录名(login),然而并没有删除用户(User)USE[master]GODROPLOGIN[xxxxxxx]GO你删除登录名的时候,就会遇到类似下面的告警信息:Deletingserverloginsdoesnotdeletethedatabaseusersassociatedwiththelogins.Tocompletetheprocess,deletetheusersineachdatabase.Itmaybenecessarytofirsttransfertheownershipofschemastonewusers.也就是说,虽然你删除了登录名,但是对应用户数据库或系统数据库相关的User权限并没有清理,在SQLServer中登录名(ServerLo...
数据库操作教程 2022-09-23 16:42:18 -
SQLServer数据库调整表中列的顺序操作方法及遇到问题
SQLServer数据库中表一旦创建,我们不建议擅自调整列的顺序,特别是对应的应用系统已经上线,因为部分开发人员,不一定在代码中指明了列名。表是否可以调整列的顺序,其实可以自主设置,我们建议在安装后设置为禁止...
数据库操作教程 2022-09-23 16:42:18