SQL用法总结.doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《SQL用法总结.doc》由会员分享,可在线阅读,更多相关《SQL用法总结.doc(10页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、SQL用法总结SQL用法总结-=checkspacesandcleandata=-checkalldbsspacesp_helpdb-checkalltablesspacecreatetable#test(namevarchar(50),rowsint,reservedvarchar(20),datavarchar(20),index_sizevarchar(20),unusedvarchar(20)insertinto#testexecsp_MSforeachtableexecsp_spaceused?select*from#testorderbycast(replace(reserved,
2、KB,)asint)descdroptable#test-cleanalltabledata/*execsp_MSforeachtabledeletefrom?execsp_MSforeachtabletruncatetable?*/-=处理日志=-由于SQL2022对文件和日志管理进行了优化,所以以下语句在SQL2022中可以运行但在SQL2022中已经被取消:-SQL2022/*BackupLogDNNamewithno_logDumpTransactionDNNamewithno_logDBCCSHRINKFILE(2)*/-SQL2022-在SQL2022中清除日志就必须在简单模式下进
3、行,等清除动作完毕再调回到完全模式.ALTERDATABASEDNNameSETRECOVERYSIMPLE-WITHNO_WAIT简单模式DBCCSHRINKFILE(DNName_Log,EMPTYFILE,TRUNCATEONLY)-DBCCSHRINKFILE(DNName_Log,1,TRUNCATEONLY)ALTERDATABASEDNNameSETRECOVERYFULL-WITHNO_WAIT还原为完全模式-优点:此清除日志所运行消耗的时间短,90GB的日志在分钟左右即可清除完毕,做完之后做个完全备份在分钟内即可完成.-缺点:不过此动作最好不要经常使用,因为它的运行会带来系统
4、碎片.普通状态下LOG和DIFF的备份即可截断日志.-此语句使用的恰当环境:当系统的日志文件异常增大或者备份LOG时间太长可能影响生产的情况下使用.-=Rankingwindowfunctions=-runonAdventureWorks-UsingtheOVERclausewithaggregatefunctionsSELECTSalesOrderID,ProductID,OrderQty,SUM(OrderQty)OVER(PARTITIONBYSalesOrderID)ASTotal,AVG(OrderQty)OVER(PARTITIONBYSalesOrderID)ASAvg,COUN
5、T(OrderQty)OVER(PARTITIONBYSalesOrderID)ASCount,MIN(OrderQty)OVER(PARTITIONBYSalesOrderID)ASMin,MAX(OrderQty)OVER(PARTITIONBYSalesOrderID)ASMax,CAST(1.*OrderQty/SUM(OrderQty)OVER(PARTITIONBYSalesOrderID)*100ASDECIMAL(5,2)ASPercentbyProductIDFROMSales.SalesOrderDetailWHERESalesOrderIDIN(43659,43664)-
6、UsingtheOVERclausewiththeROW_NUMBERfunctionSELECTc.FirstName,c.LastName,ROW_NUMBER()OVER(partitionbyPostalCodeORDERBYSalesYTDDESC)ASRowNumber,s.SalesYTD,a.PostalCodeFROMSales.SalesPersonsINNERJOINPerson.ContactcONs.SalesPersonID=c.ContactIDINNERJOINPerson.AddressaONa.AddressID=c.ContactIDWHERETerrit
7、oryIDISNOTNULLANDSalesYTD0SELECTc.FirstName,c.LastName,ROW_NUMBER()OVER(ORDERBYa.PostalCode)ASRowNumber,RANK()OVER(ORDERBYa.PostalCode)ASRank,DENSE_RANK()OVER(ORDERBYa.PostalCode)ASDenseRank,NTILE(4)OVER(ORDERBYa.PostalCode)ASQuartile,s.SalesYTD,a.PostalCodeFROMSales.SalesPersonsINNERJOINPerson.Cont
8、actcONs.SalesPersonID=c.ContactIDINNERJOINPerson.AddressaONa.AddressID=c.ContactIDWHERETerritoryIDISNOTNULLANDSalesYTD0-=CreatePartitionondatabase=-1.AddfilegroupsandfilestodatabaseALTERDATABASETestADDfilegrouptestFg1ALTERDATABASETestADDFILE(NAME=test1,FILENAME=C:ProgramFilesMicrosoftSQLServerMSSQL1
9、0.MSSQLSERVERMSSQLDATAtest1.ndf,SIZE=3MB,MAXSIZE=UNLIMITED,FILEGROWTH=1MB)TOFILEGROUPtestFgALTERDATABASETestADDfilegrouptestFg2ALTERDATABASETestADDFILE(NAME=test1,FILENAME=C:ProgramFilesMicrosoftSQLServerMSSQL10.MSSQLSERVERMSSQLDATAtest2.ndf,SIZE=3MB,MAXSIZE=UNLIMITED,FILEGROWTH=1MB)TOFILEGROUPtestF
10、g2GO-2.createpartitionfunctionandschemeCREATEPARTITIONFUNCTIONmyRangePF1(int)ASRANGERIGHTFORVALUES(20220101,20220101,20220101);GOCREATEPARTITIONSCHEMEmyRangePS1ASPARTITIONmyRangePF1TO(PRIMARY,testFg1,testFg2,testFg3)-3.applypartitionontable/*CREATETABLEPartitionTable(col1int,col2char(10)ONmyRangePS1
11、(col1)select*fromsys.partition_functionsselect*fromsys.partition_schemesselect*fromsys.partition_range_values-checkrowsoneverypartitionselect*fromsys.partitionswhereobject_id=*/BEGINTRANSACTIONCREATECLUSTEREDINDEXClusteredIndex_on_myRangePS1ONdbo.factCharge(DateKey)WITH(SORT_IN_TEMPDB=OFF,IGNORE_DUP
12、_KEY=OFF,DROP_EXISTING=OFF,ONLINE=OFF)ONmyRangePS1(DateKey)DROPINDEXClusteredIndex_on_myRangePS1ONdbo.factChargeBakWITH(ONLINE=OFF)COMMITTRANSACTION-=SQLCDC=USEAdventureWorksDW;GOEXECUTEsys.sp_cdc_enable_db;-启用数据库对CDC的支持GOEXECsys.sp_cdc_enable_tabledbo,FactInternetSales,role_name=NULL,supports_net_c
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SQL 用法 总结
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内