设为首页收藏本站

EPS数据狗论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 3286|回复: 2

Sql Server数据库常用Transact-SQL脚本

[复制链接]

36

主题

337

金钱

521

积分

初级用户

发表于 2019-12-12 16:07:21 | 显示全部楼层 |阅读模式

数据库

1、创建数据库
  1. USE master ;  
  2. GO  
  3. CREATE DATABASE Sales  
  4. ON   
  5. ( NAME = Sales_dat,  
  6.     FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\saledat.mdf',  
  7.     SIZE = 10,  
  8.     MAXSIZE = 50,  
  9.     FILEGROWTH = 5 )  
  10. LOG ON  
  11. ( NAME = Sales_log,  
  12.     FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\salelog.ldf',  
  13.     SIZE = 5MB,  
  14.     MAXSIZE = 25MB,  
  15.     FILEGROWTH = 5MB ) ;  
  16. GO
复制代码


2、查看数据库
  1. SELECT name, database_id, create_date  
  2. FROM sys.databases ;  
复制代码


3、删除数据库
  1. DROP DATABASE Sales;
复制代码



1、创建表
  1. CREATE TABLE PurchaseOrderDetail  
  2. (  
  3.     ID uniqueidentifier NOT NULL  
  4.     ,LineNumber smallint NOT NULL  
  5.     ,ProductID int NULL  
  6.     ,UnitPrice money NULL  
  7.     ,OrderQty smallint NULL  
  8.     ,ReceivedQty float NULL  
  9.     ,RejectedQty float NULL  
  10.     ,DueDate datetime NULL  
  11. );
复制代码


2、删除表
  1. DROP TABLE dbo.PurchaseOrderDetail;  
复制代码


3、重命名表
  1. EXEC sp_rename 'Sales.SalesTerritory', 'SalesTerr';  
复制代码




1、添加列
  1. ALTER TABLE dbo.doc_exa ADD column_b VARCHAR(20) NULL, column_c INT NULL ;
复制代码


2、删除列
  1. ALTER TABLE dbo.doc_exb DROP COLUMN column_b;
复制代码


3、重命名列
  1. EXEC sp_rename 'Sales.SalesTerritory.TerritoryID', 'TerrID', 'COLUMN';
复制代码




约束
1、主键
  1. --在现有表中创建主键
  2. ALTER TABLE Production.TransactionHistoryArchive
  3.    ADD CONSTRAINT PK_TransactionHistoryArchive_TransactionID PRIMARY KEY CLUSTERED (TransactionID);

  4. --在新表中创建主键
  5. CREATE TABLE Production.TransactionHistoryArchive1
  6.    (
  7.       TransactionID int IDENTITY (1,1) NOT NULL
  8.       , CONSTRAINT PK_TransactionHistoryArchive_TransactionID PRIMARY KEY CLUSTERED (TransactionID)
  9.    )
  10. ;


  11. --查看主键  
  12. SELECT name  
  13. FROM sys.key_constraints  
  14. WHERE type = 'PK' AND OBJECT_NAME(parent_object_id) = N'TransactionHistoryArchive';  
  15. GO  

  16. --删除主键
  17. ALTER TABLE Production.TransactionHistoryArchive  
  18. DROP CONSTRAINT PK_TransactionHistoryArchive_TransactionID;   
  19. GO
复制代码



视图
1、创建视图
  1. CREATE VIEW V_EmployeeHireDate  
  2. AS  
  3. SELECT p.FirstName, p.LastName, e.HireDate  
  4. FROM HumanResources.Employee AS e JOIN Person.Person AS  p  
  5. ON e.BusinessEntityID = p.BusinessEntityID ;   
  6. GO
复制代码


2、删除视图
  1. DROP VIEW V_EmployeeHireDate;  
复制代码




存储过程
1、创建存储过程
  1. CREATE PROCEDURE P_UspGetEmployeesTest   
  2.     @LastName nvarchar(50),   
  3.     @FirstName nvarchar(50)   
  4. AS   
  5.     SELECT FirstName, LastName, Department  
  6.     FROM HumanResources.vEmployeeDepartmentHistory  
  7.     WHERE FirstName = @FirstName AND LastName = @LastName  
  8.     AND EndDate IS NULL;  
  9. GO
复制代码


2、删除存储过程
  1. DROP PROCEDURE P_UspGetEmployeesTest;
复制代码


3、执行存储过程
  1. EXEC P_UspGetEmployeesTest N'Ackerman', N'Pilar';  
  2. -- Or  
  3. EXEC P_UspGetEmployeesTest @LastName = N'Ackerman', @FirstName = N'Pilar';  
  4. GO  
  5. -- Or  
  6. EXECUTE P_UspGetEmployeesTest @FirstName = N'Pilar', @LastName = N'Ackerman';  
  7. GO
复制代码


4、重命名存储过程
  1. EXEC sp_rename 'P_UspGetAllEmployeesTest', 'P_UspEveryEmployeeTest2';
复制代码


5、带有输出参数的存储过程
  1. CREATE PROCEDURE P_UspGetEmployeeSalesYTD  
  2. @SalesPerson nvarchar(50),  
  3. @SalesYTD money OUTPUT  
  4. AS   
  5.     SELECT @SalesYTD = SalesYTD  
  6.     FROM SalesPerson AS sp  
  7.     JOIN vEmployee AS e ON e.BusinessEntityID = sp.BusinessEntityID  
  8.     WHERE LastName = @SalesPerson;  
  9. RETURN  
  10. GO


  11. --调用
  12. DECLARE @SalesYTDBySalesPerson money;  
  13. EXECUTE P_UspGetEmployeeSalesYTD  
  14.     N'Blythe',
  15.     @SalesYTD = @SalesYTDBySalesPerson OUTPUT;
  16. GO
复制代码



数据类型
1.png

1

主题

260

金钱

274

积分

入门用户

发表于 2020-4-9 09:40:33 | 显示全部楼层
用了。谢谢~
回复

使用道具 举报

1

主题

260

金钱

274

积分

入门用户

发表于 2020-4-9 09:42:28 | 显示全部楼层
谢谢。学习中~
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

客服中心
关闭
在线时间:
周一~周五
8:30-17:30
QQ群:
653541906
联系电话:
010-85786021-8017
在线咨询
客服中心

意见反馈|网站地图|手机版|小黑屋|EPS数据狗论坛 ( 京ICP备09019565号-3 )   

Powered by BFIT! X3.4

© 2008-2028 BFIT Inc.

快速回复 返回顶部 返回列表