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脚本,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

transact sql mysql_Sql Server数据库常用Transact-SQL脚本(推荐)相关推荐

  1. 利用Navicat Premium将SQL Server数据库转为My SQL数据库(解决Mac无法打开SQL Server 脚本文件的方法)

    利用Navicat Premium将SQL Server数据库转为My SQL数据库(解决Mac无法打开SQL Server 脚本文件的方法) 安装好Navicat Premium,SQL Serve ...

  2. 怎么从 SQL Server 数据库中导出 SQL 语句?

    同于直接/备份/恢复 或者 导入/导出 数据库操作. 新版本SQL Server客户端中还可以生成相对应的SQL语句. 非常方便与查看和与其他人共享. 操作步骤如下: 连接上数据库后, 右击数据库, ...

  3. Oracle数据库常用基本SQL语法

    标题 Oracle数据库常用基本SQL语法 1.表的创建.插入,删除及Oracle和mysql的数据类型的区别 create table item (item_id number(5) primary ...

  4. 学习sql注入:猜测数据库_学习SQL:SQL数据类型

    学习sql注入:猜测数据库 What are SQL data types, why do we need them, and how to use them? Today, we'll try to ...

  5. SQL server数据库常用代码大全

    SQL 语句目录 插入数据表数据 INSERT INTO 测试表(商品ID,商品名称,规格,型号,属性,分类,价格) VALUES ('SP0009','安宫牛黄丸','10粒/盒','A-1245' ...

  6. sql server快照复制mysql_SQL SERVER 数据库表同步复制 笔记

    SyncNavigator是一款功能强大的数据库同步软件,适用于SQL SERVER, MySQL,具有自动/定时同步数据.无人值守.故障自动恢复.同构/异构数据库同步.断点续传和增量同步等功能,支持 ...

  7. SQL server数据库与My sql数据库的区别?

    在我们生活中无时无刻不需要使用到数据库,网络爬虫等一系列用处,那数据库到底是什么呢?我们一起接着往下看 数据库是存放数据的仓库.存储空间很大,可千万条.上亿条数据.但是数据库并不是随意地将数据进行存放 ...

  8. SQL Server数据库中使用sql脚本删除指定表的列

    在SQL Server数据库中删除某一列,使用数据库管理工具直接可视化操作是很简单的,但是如果要用sql脚本呢?可能你会说很简单,直接用 ALTER TABLE [要删除的字段所在的表名] DROP ...

  9. python3连接sql server数据库_Python3操作SQL Server数据库(实例讲解)

    1.前言 前面学完了SQL Server的基本语法,接下来学习如何在程序中使用sql,毕竟不能在程序中使用的话,实用性就不那么大了. 2.最基本的SQL查询语句 python是使用pymssql这个模 ...

最新文章

  1. python解释器环境中、用于表示上一次_大工20秋《数据挖掘》在线作业3 【标准答案】...
  2. monocross 环境搭建:MonoTouch Mono for Android
  3. springmvc九:spring mvc 简单介绍
  4. MySQL设置默认引擎和字符集
  5. 办公:Office快捷键之王,这个键应该没人不服!
  6. Java后端学习体系(韩顺平)
  7. php 循环table,php table循环 问题很简单 求帮助
  8. 删除linux系统中的eth0.bak与多余的网卡
  9. OpenCV2简单的特征匹配
  10. python习题练习(chapater 5 -- python核心编程)
  11. 港台服冒险岛枫之谷传统登录方式密码解密及自动登录方式
  12. appium inspector连接appium service
  13. jQuery创建表格
  14. java entries_Enumerationlt;? extends ZipEntrygt; entries()_学习Java Zip|WIKI教程
  15. 一张照片就能攻破人脸识别系统,人脸识别安全性亟需提高
  16. 将图片上传到FTP服务器
  17. RK3288 系统升级流程
  18. python配置文件
  19. openlayers中使用rBush(R树)来存放要素等信息,本文修改了一点其中的rbush源码中的demo,使用canvas画出了insert和delete操作(建立树和删除树中数据)
  20. Mysql数据库报错:Row size too large (> 8126). Changing some columns to TEXT or BLOB or using ROW_FORMAT=DY

热门文章

  1. Vue2.0源码解析 - 知其然知其所以然之Vue.use
  2. 「第二部:容器和微服务架构」(2) 容器化单体应用
  3. java 头像 微信群_Android仿微信群聊头像
  4. php找零页面,JS实现找零张数最小
  5. 花 30 美金请 AI 画家弄了个 logo,网友:画得非常好,下次别画了!
  6. 建立名字为Project1的解决方案
  7. html调用摄像头直播,html5调用摄像头功能的实现代码
  8. 时光机穿梭-管理修改
  9. android平台开发板外接罗技C525摄像头不支持扫码有什么办法解决
  10. btrace 开源!基于 Systrace 高性能 Trace 工具