数据库

1、创建数据库

USE master ;
GO
CREATE DATABASE Sales
ON
( NAME = Sales_dat,
FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\saledat.mdf',
SIZE = 10,
MAXSIZE = 50,
FILEGROWTH = 5 )
LOG ON
( NAME = Sales_log,
FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\salelog.ldf',
SIZE = 5MB,
MAXSIZE = 25MB,
FILEGROWTH = 5MB ) ;
GO

2、查看数据库

SELECT name, database_id, create_date
FROM sys.databases ;

3、删除数据库

DROP DATABASE Sales;

1、创建表

CREATE TABLE PurchaseOrderDetail
(
ID uniqueidentifier NOT NULL
,LineNumber smallint NOT NULL
,ProductID int NULL
,UnitPrice money NULL
,OrderQty smallint NULL
,ReceivedQty float NULL
,RejectedQty float NULL
,DueDate datetime NULL
);

2、删除表

DROP TABLE dbo.PurchaseOrderDetail;  

3、重命名表

EXEC sp_rename 'Sales.SalesTerritory', 'SalesTerr';  

1、添加列

ALTER TABLE dbo.doc_exa ADD column_b VARCHAR(20) NULL, column_c INT NULL ;

2、删除列

ALTER TABLE dbo.doc_exb DROP COLUMN column_b;

3、重命名列

EXEC sp_rename 'Sales.SalesTerritory.TerritoryID', 'TerrID', 'COLUMN';

约束

1、主键

--在现有表中创建主键
ALTER TABLE Production.TransactionHistoryArchive
ADD CONSTRAINT PK_TransactionHistoryArchive_TransactionID PRIMARY KEY CLUSTERED (TransactionID); --在新表中创建主键
CREATE TABLE Production.TransactionHistoryArchive1
(
TransactionID int IDENTITY (1,1) NOT NULL
, CONSTRAINT PK_TransactionHistoryArchive_TransactionID PRIMARY KEY CLUSTERED (TransactionID)
)
; --查看主键
SELECT name
FROM sys.key_constraints
WHERE type = 'PK' AND OBJECT_NAME(parent_object_id) = N'TransactionHistoryArchive';
GO --删除主键
ALTER TABLE Production.TransactionHistoryArchive
DROP CONSTRAINT PK_TransactionHistoryArchive_TransactionID;
GO

视图

1、创建视图

CREATE VIEW V_EmployeeHireDate
AS
SELECT p.FirstName, p.LastName, e.HireDate
FROM HumanResources.Employee AS e JOIN Person.Person AS p
ON e.BusinessEntityID = p.BusinessEntityID ;
GO

2、删除视图

DROP VIEW V_EmployeeHireDate;  

存储过程

1、创建存储过程

CREATE PROCEDURE P_UspGetEmployeesTest
@LastName nvarchar(50),
@FirstName nvarchar(50)
AS
SELECT FirstName, LastName, Department
FROM HumanResources.vEmployeeDepartmentHistory
WHERE FirstName = @FirstName AND LastName = @LastName
AND EndDate IS NULL;
GO

2、删除存储过程

DROP PROCEDURE P_UspGetEmployeesTest; 

3、执行存储过程

EXEC P_UspGetEmployeesTest N'Ackerman', N'Pilar';
-- Or
EXEC P_UspGetEmployeesTest @LastName = N'Ackerman', @FirstName = N'Pilar';
GO
-- Or
EXECUTE P_UspGetEmployeesTest @FirstName = N'Pilar', @LastName = N'Ackerman';
GO

4、重命名存储过程

EXEC sp_rename 'P_UspGetAllEmployeesTest', 'P_UspEveryEmployeeTest2'; 

5、带有输出参数的存储过程

CREATE PROCEDURE P_UspGetEmployeeSalesYTD
@SalesPerson nvarchar(50),
@SalesYTD money OUTPUT
AS
SELECT @SalesYTD = SalesYTD
FROM SalesPerson AS sp
JOIN vEmployee AS e ON e.BusinessEntityID = sp.BusinessEntityID
WHERE LastName = @SalesPerson;
RETURN
GO --调用
DECLARE @SalesYTDBySalesPerson money;
EXECUTE P_UspGetEmployeeSalesYTD
N'Blythe',
@SalesYTD = @SalesYTDBySalesPerson OUTPUT;
GO

游标

--定义要使用的变量
DECLARE @Id uniqueidentifier
DECLARE @Name nvarchar(50)
DECLARE @Gender bit
DECLARE @CreateTime nvarchar(50) --定义游标
DECLARE Test_Cursor CURSOR FOR SELECT [Id],[Name],[Gender],[CreateTime] FROM Test --打开游标
OPEN Test_Cursor --返回结果集中的第一行
FETCH NEXT FROM Test_Cursor INTO @Id,@Name,@Gender,@CreateTime
WHILE @@FETCH_STATUS = 0
BEGIN --更新
UPDATE Test SET [Name] = [Name] + 'abc' WHERE CURRENT OF Test_Cursor IF(@Id = '4D2F97EF-8FEB-4183-BFD0-089222000F69')
BEGIN
--删除
DELETE FROM Test WHERE CURRENT OF Test_Cursor
END --紧跟当前行返回结果行,并且当前行递增为返回行。
FETCH NEXT FROM Test_Cursor INTO @Id,@Name,@Gender,@CreateTime
END;
--关闭游标
CLOSE Test_Cursor;
--删除游标
DEALLOCATE Test_Cursor;

数据类型

Sql Server数据库常用Transact-SQL脚本的更多相关文章

  1. SQL Server中常用的SQL语句(转):

    SQL Server中常用的SQL语句 转自:http://www.cnblogs.com/rainman/archive/2013/05/04/3060428.html 1.概述 名词 笛卡尔积.主 ...

  2. SQL Server数据库常用的T-SQL命令

    1. 查看数据库的版本 select @@version 2.查看数据库所在机器操作系统参数 exec master..xp_msver 3. 查看数据库启动的参数 sp_configure 4.查看 ...

  3. SQL Server 管理常用的SQL和T-SQL

    1. 查看数据库的版本 select @@version 常见的几种SQL SERVER打补丁后的版本号: 8.00.194 Microsoft SQL Server 2000 8.00.384 Mi ...

  4. SQL SERVER数据库常用命令

    创建数据库: 命令:create database 数据库名: 示例:create database student: 删除数据库: 命令:drop database 数据库名: 示例:drop da ...

  5. SQL Server数据库常用函数

    好久没学习新知识了.今天学了下sql的一些常用语句.人还是需要不断学习进步的 否则只能停滞不前. 先从最简单的一句开始说起吧. select *from 表名 这里*的含义 表示了表的各字段,以逗号隔 ...

  6. 迁移 SQL Server 数据库到 Azure SQL 实战

    最近有个维护的项目需要把 SQL Server 2012 的数据库迁移到 Azure SQL 上去,迁移过程可谓一波三折,故在此分享这次迁移中碰到的点点滴滴,希望对朋友们有所帮助. 文章来源:葡萄城产 ...

  7. SQL server 数据库备份还原Sql

    /************ 一.数据库备份 ************/ --完整备份默认追加到现有的文件 backup database DBXS To disk='d:\backup\DBXS_fu ...

  8. SQL Server中常用的SQL语句

    1.概述 名词 笛卡尔积.主键.外键 数据完整性 实体完整性:主属性不能为空值,例如选课表中学号和课程号不能为空 参照完整性:表中的外键取值为空或参照表中的主键 用户定义完整性:取值范围或非空限制,例 ...

  9. sql server 小技巧(7) 导出完整sql server 数据库成一个sql文件,包含表结构及数据

    1. 右健数据库 –> Tasks –> Generate Scripts   2. 选择所有的表   3. 下一步,选择Advanded, Types of data to script ...

随机推荐

  1. 本地存储常用方式 localStorage, sessionStorage,cookie 的区别 和 服务器存储session

    本地存储:把一些信息存储到客户端本地(主要目的有很多,其中有一个就是实现多页面之间的信息共享)       1. 离线缓存(xxx.manifest)  H5处理离线缓存还是存在一些硬伤的,所以真实项 ...

  2. 10-kubernetes serveraccount RBAC

    目录 认证安全 serviceAccountName 和 userAccount serviceaccount 创建 使用admin 的SA 测试 URL访问kubernetes资源 APIserve ...

  3. 关于python中的列表遍历注意事项

    在开发过程中,很容易出现以下的错误: 可以看出:假如删除列表的元素之后直接执行continue,那么遍历的时候就会落下一个元素. 那么怎么解决这个问题呢? 首先 : 我们尝试把continue去掉: ...

  4. python_tornado

    1.创建Tornado服务器    1.创建Application对象        Application是Torando最核心的类        所有关于服务器的配置信息都写在Applicatio ...

  5. 自古逢秋悲寂寥,奈何今秋热成雕?Python使用Pyecharts统计全国温度Top10并绘图

    秋词-刘禹锡 自古逢秋悲寂寥, 我言秋日胜春朝. 晴空一鹤排云上, 便引诗情到碧霄. 古人谈及秋天,都是悲凉寂寥,那么-.我好想回到古代的秋天啊!明明到了秋天,为什么最近的气温比夏天还热. 之前做天气 ...

  6. eclipse maven 项目导出为 jar 包

    一个 maven 项目有很多依赖,所以最后打出的 jar 一般会很多,且比较大,打成 jar 包的步骤 (注意pom.xml文件中打包类型不能是war包): 1. 把 pom.xml 中依赖的库打成 ...

  7. mac版 sublime快捷键大全

    按这几大类分类:文件 编辑 选择 查找 视图 去往 工具 项目 窗口 帮组一.文件cmd + N 新建文件cmd + S 保存文件cmd + shift + S 文件另存为cmd + alt + S ...

  8. Proxmox VE虚拟化管理平台-相关概念

    请阅读此文用户务必阅读以下链接,其中包含了汉化作者.张自然copy过来的原因等信息. www.zhangziran.com/proxmox-docs-zh-cn.htm a Proxmox VE 集群 ...

  9. USB摄像头之130w像素 OV9655配置,ov9650,ov7725,ov7670

    USB摄像头之130w像素 OV9655配置 为了usb2.0采集达到足够的速率,不得不将采用raw格式输出. // 20150411 XVGA 1280*1024 实际上位机需要2560*1024 ...

  10. jquery (对内容,元素,属性,class的操作)

    对内容的操作: 捕获:获得内容 text() - 设置或返回所选元素的文本内容html() - 设置或返回所选元素的内容(包括 HTML 标记)val() - 设置或返回表单字段的值. 设置:设置内容 ...