Sql Server数据库常用Transact-SQL脚本(推荐)

Transact-SQL

Transact-SQL(又称 T-SQL),是在 Microsoft SQL Server 和 Sybase SQL Server 上的 ANSI SQL 实现,与 Oracle 的 PL/SQL 性质相近(不只是实现 ANSI SQL,也为自身数据库系统的特性提供实现支持),在 Microsoft SQL Server 和 Sybase Adaptive Server 中仍然被使用为核心的查询语言。

数据库

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 

数据类型

总结

以上所述是小编给大家介绍的Sql Server数据库常用Transact-SQL脚本,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

(0)

相关推荐

  • MySQL数据库事务隔离级别介绍(Transaction Isolation Level)

    数据库隔离级别有四种,应用<高性能mysql>一书中的说明: 然后说说修改事务隔离级别的方法: 1.全局修改,修改mysql.ini配置文件,在最后加上 复制代码 代码如下: #可选参数有:READ-UNCOMMITTED, READ-COMMITTED, REPEATABLE-READ, SERIALIZABLE. [mysqld] transaction-isolation = REPEATABLE-READ 这里全局默认是REPEATABLE-READ,其实MySQL本来默认也是这个级别

  • c#中SqlTransaction——事务详解

    事务处理基本原理 事务是将一系列操作作为一个单元执行,要么成功,要么失败,回滚到最初状态.在事务处理术语中,事务要么提交,要么中止.若要提交事务,所有参与者都必须保证对数据的任何更改是永久的.不论系统崩溃或是发生其他无法预料的事件,更改都须是持久的.只要有一个参与者无法做出此保证,整个事务就会失败.事务范围内的所有数据更改将回滚到特定设置点. 事务将多个操作紧密联系到一起,这样就能保证有联系的两种操作的一致性.以及数据的完整性.举个简单例子:公司的员工信息管理系统,现在要录入数据,员工信息系统假

  • Transact_SQL 小手册

    --语 句                                功 能     --数据操作     SELECT      --从数据库表中检索数据行和列     INSERT      --向数据库表添加新数据行     DELETE      --从数据库表中删除数据行     UPDATE      --更新数据库表中的数据     --数据定义     CREATE TABLE    --创建一个数据库表     DROP TABLE     --从数据库中删除表     A

  • mysql报错:Deadlock found when trying to get lock; try restarting transaction的解决方法

    发现问题 最近在补以前数据的时候程序突然报如下错误: [2017-02-10 13:12:06.678] [INFO] mysqlLog - update tbl_playerdata_error: { [Error: ER_LOCK_DEADLOCK: Deadlock found when trying to get lock; try restarting transaction] code: 'ER_LOCK_DEADLOCK', errno: 1213, sqlState: '4000

  • 浅谈Transact-SQL

    Transact-SQL(又称T-SQL),是在Microsoft SQL Server和Sybase SQL Server上的ANSI SQL实现,与Oracle的PL/SQL性质相近(不只是实现ANSI SQL,也为自身数据库系统的特性提供实现支持),目前在Microsoft SQL Server和Sybase Adaptive Server中仍然被使用为核心的查询语言. Transact-SQL是具有批量与区块特性的SQL指令集合,数据库开发人员可以利用它来撰写数据部份的商业逻辑(Data

  • mysql Non-Transactional Database Only(只支持MyISAM)

    后来在做WordPress,一开始还不知道原来WordPress用的是InnoDB数据引擎,于是在原来的数据库里面就建了一个数据库,一开始也没发觉问题,安装,导入sql,都没问题,当时也没多想.直到这几天因为又要装多一个WordPress,用phpmyadmin访问数据库多一点,问题来了.老是一访问WordPress的数据库,就弹出错误提示"Mysqld-nt.exe应用程序错误:"0x005346c4"指令引用的"0x00786000"内存,该内存不能为

  • Sql Server数据库常用Transact-SQL脚本(推荐)

    Transact-SQL Transact-SQL(又称 T-SQL),是在 Microsoft SQL Server 和 Sybase SQL Server 上的 ANSI SQL 实现,与 Oracle 的 PL/SQL 性质相近(不只是实现 ANSI SQL,也为自身数据库系统的特性提供实现支持),在 Microsoft SQL Server 和 Sybase Adaptive Server 中仍然被使用为核心的查询语言. 数据库 1.创建数据库 USE master ; GO CREAT

  • SQL Server 数据库管理常用的SQL和T-SQL语句

    1. 查看数据库的版本 select @@version 2. 查看数据库所在机器操作系统参数 exec master..xp_msver 3. 查看数据库启动的参数 sp_configure 4. 查看数据库启动时间 select convert(varchar(30),login_time,120) from master..sysprocesses where spid=1 查看数据库服务器名和实例名 print 'Server Name...............: ' + conve

  • SQL SERVER数据库的作业的脚本及存储过程

    IF EXISTS (SELECT name FROM sysobjects WHERE name = N'cg_DoBackupJob' AND type = 'P') DROP PROCEDURE cg_DoBackupJob GO CREATE PROCEDURE [cg_DoBackupJob] @DataBaseName varchar(100), @FileHead varchar(50), @isFullBackup bit, -- 0 差量备份 1 完整备份 @FolderPat

  • SQL Server数据库的修复SQL语句

    出现这些情况的原因,往往是因为数据库有些损坏,或索引不完整. 在ACCESS中,有个修复数据库的功能可以解决这个问题,在SQL企业管理器,没有这个功能,要用语句来完成,下面就介绍如何用SQL语句完成数据库的修复,需要注意的是,在进行下面的操作时,必须断开所有用户的连接:  复制代码 代码如下: USE MASTER GO sp_dboption '你的数据库名', 'single user', 'true' Go DBCC CHECKDB('你的数据库名', REPAIR_REBUILD) Go

  • Sql Server数据库远程连接访问设置详情

    目录 步骤一:设置sql server数据库 1.登录sql server数据库 2.点击根目录右键,选择属性 3.设置服务器的方面选项 4.设置sql server 配置管理器 步骤二:设置防火墙入站规则 步骤三:华为云服务器安装sql server并设置远程访问 1.登录华为云,点击安全组(主要是对安全组进行设置端口) 2.创建安全组 步骤一:设置sql server数据库 1.登录sql server数据库 以新建一个新用户名test作为远程连接登录名.在本地登录sql server数据库

  • SQL Server数据库基本概念、组成、常用对象与约束

    目录 二.基本概念 1.数据库 2.数据库管理系统 3.数据库系统 二.数据库的组成 1.文件 2.文件组 三.数据库常用对象 1.表 2.字段 3.视图 4.索引 5.存储过程 6.触发器 7.约束 8.缺省值 四.数据库约束 一.定义 二.分类 1.主键约束 2.外键约束 3.Unique约束 4.Check约束 5.Default约束 二.基本概念 1.数据库 数据库(DB):即DataBase的缩写,是按照一定的数据结构来组织.存储和管理数据的一个仓库.是存储在一起的相关数据的一个集合.

  • EFCore 通过实体Model生成创建SQL Server数据库表脚本

    在我们的项目中经常采用Model First这种方式先来设计数据库Model,然后通过Migration来生成数据库表结构,有些时候我们需要动态通过实体Model来创建数据库的表结构,特别是在创建像临时表这一类型的时候,我们直接通过代码来进行创建就可以了不用通过创建实体然后迁移这种方式来进行,其实原理也很简单就是通过遍历当前Model然后获取每一个属性并以此来生成部分创建脚本,然后将这些创建的脚本拼接成一个完整的脚本到数据库中去执行就可以了,只不过这里有一些需要注意的地方,下面我们来通过代码来一

  • SQL Server数据库入门学习总结

    一图胜"十"言:SQL Server 数据库总结 一个大概的总结 经过一段时间的学习,也对数据库有了一些认识. 数据库基本是由表,关系,操作组成:对于初学者首先要学的: 1.数据库是如何存储数据的 表,约束,触发器 2.数据库是如何操作数据的 insert,update,delete T-sql 函数 存储过程 触发器 3.数据库是如何显示数据的 select SQLServer数据库学习总结 1.SQL基础 SQL Server2000安装.配置,服务器启动.停止,企业管理器.查询分

  • SQL Server数据库性能优化技术第1/2页

    设计1个应用系统似乎并不难,但是要想使系统达到最优化的性能并不是一件容易的事.在开发工具.数据库设计.应  用程序的结构.查询设计.接口选择等方面有多种选择,这取决于特定的应用需求以及开发队伍的技能.本文以SQL  Server为例,从后台数据库的角度讨论应用程序性能优化技巧,并且给出了一些有益的建议. 1 数据库设计  要在良好的SQL Server方案中实现最优的性能,最关键的是要有1个很好的数据库设计方案.在实际工作中,许多SQL  Server方案往往是由于数据库设计得不好导致性能很差.

  • SQL Server数据库定时自动备份

    SQL Server 数据库定时自动备份,供大家参考,具体内容如下 在SQL Server中出于数据安全的考虑,所以需要定期的备份数据库.而备份数据库一般又是在凌晨时间基本没有数据库操作的时候进行,所以我们不可能要求管理员每天守到晚上1点去备份数据库.要实现数据库的定时自动备份,最常用的方式就是使用SQL Server代理中的作业.启动SQL Server Agent服务,然后在其中新建作业,作业中添加1个备份步骤,类型是T-SQL脚本,然后在命令中输入如下SQL语句,该语句实现了对数据库Tes

随机推荐