Sql Server数据库常用Transact-SQL脚本(推荐)
Transact-SQL
Transact-SQL(又称T-SQL),是在MicrosoftSQLServer和SybaseSQLServer上的ANSISQL实现,与Oracle的PL/SQL性质相近(不只是实现ANSISQL,也为自身数据库系统的特性提供实现支持),在MicrosoftSQLServer和SybaseAdaptiveServer中仍然被使用为核心的查询语言。
数据库
1、创建数据库
USEmaster; GO CREATEDATABASESales ON (NAME=Sales_dat, FILENAME='C:\ProgramFiles\MicrosoftSQLServer\MSSQL13.MSSQLSERVER\MSSQL\DATA\saledat.mdf', SIZE=10, MAXSIZE=50, FILEGROWTH=5) LOGON (NAME=Sales_log, FILENAME='C:\ProgramFiles\MicrosoftSQLServer\MSSQL13.MSSQLSERVER\MSSQL\DATA\salelog.ldf', SIZE=5MB, MAXSIZE=25MB, FILEGROWTH=5MB); GO
2、查看数据库
SELECTname,database_id,create_date FROMsys.databases;
3、删除数据库
DROPDATABASESales;
表
1、创建表
CREATETABLEPurchaseOrderDetail ( IDuniqueidentifierNOTNULL ,LineNumbersmallintNOTNULL ,ProductIDintNULL ,UnitPricemoneyNULL ,OrderQtysmallintNULL ,ReceivedQtyfloatNULL ,RejectedQtyfloatNULL ,DueDatedatetimeNULL );
2、删除表
DROPTABLEdbo.PurchaseOrderDetail;
3、重命名表
EXECsp_rename'Sales.SalesTerritory','SalesTerr';
列
1、添加列
ALTERTABLEdbo.doc_exaADDcolumn_bVARCHAR(20)NULL,column_cINTNULL;
2、删除列
ALTERTABLEdbo.doc_exbDROPCOLUMNcolumn_b;
3、重命名列
EXECsp_rename'Sales.SalesTerritory.TerritoryID','TerrID','COLUMN';
约束
1、主键
--在现有表中创建主键 ALTERTABLEProduction.TransactionHistoryArchive ADDCONSTRAINTPK_TransactionHistoryArchive_TransactionIDPRIMARYKEYCLUSTERED(TransactionID); --在新表中创建主键 CREATETABLEProduction.TransactionHistoryArchive1 ( TransactionIDintIDENTITY(1,1)NOTNULL ,CONSTRAINTPK_TransactionHistoryArchive_TransactionIDPRIMARYKEYCLUSTERED(TransactionID) ) ; --查看主键 SELECTname FROMsys.key_constraints WHEREtype='PK'ANDOBJECT_NAME(parent_object_id)=N'TransactionHistoryArchive'; GO --删除主键 ALTERTABLEProduction.TransactionHistoryArchive DROPCONSTRAINTPK_TransactionHistoryArchive_TransactionID; GO
视图
1、创建视图
CREATEVIEWV_EmployeeHireDate AS SELECTp.FirstName,p.LastName,e.HireDate FROMHumanResources.EmployeeASeJOINPerson.PersonASp ONe.BusinessEntityID=p.BusinessEntityID; GO
2、删除视图
DROPVIEWV_EmployeeHireDate;
存储过程
1、创建存储过程
CREATEPROCEDUREP_UspGetEmployeesTest @LastNamenvarchar(50), @FirstNamenvarchar(50) AS SELECTFirstName,LastName,Department FROMHumanResources.vEmployeeDepartmentHistory WHEREFirstName=@FirstNameANDLastName=@LastName ANDEndDateISNULL; GO
2、删除存储过程
DROPPROCEDUREP_UspGetEmployeesTest;
3、执行存储过程
EXECP_UspGetEmployeesTestN'Ackerman',N'Pilar'; --Or EXECP_UspGetEmployeesTest@LastName=N'Ackerman',@FirstName=N'Pilar'; GO --Or EXECUTEP_UspGetEmployeesTest@FirstName=N'Pilar',@LastName=N'Ackerman'; GO
4、重命名存储过程
EXECsp_rename'P_UspGetAllEmployeesTest','P_UspEveryEmployeeTest2';
5、带有输出参数的存储过程
CREATEPROCEDUREP_UspGetEmployeeSalesYTD @SalesPersonnvarchar(50), @SalesYTDmoneyOUTPUT AS SELECT@SalesYTD=SalesYTD FROMSalesPersonASsp JOINvEmployeeASeONe.BusinessEntityID=sp.BusinessEntityID WHERELastName=@SalesPerson; RETURN GO --调用 DECLARE@SalesYTDBySalesPersonmoney; EXECUTEP_UspGetEmployeeSalesYTD N'Blythe', @SalesYTD=@SalesYTDBySalesPersonOUTPUT; GO
数据类型
总结
以上所述是小编给大家介绍的SqlServer数据库常用Transact-SQL脚本,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。