1、添加表

GO

IF NOT EXISTS(SELECT * FROM sys.tables WHERE name='table_name')

BEGIN

CREATE TABLE [dbo].[table_name]()

END

GO

2、添加列

1)IF NOT EXISTS(SELECT * FROM sys.columns WHERE object_id = OBJECT_ID('table_name') AND name = 'column_name')

AND EXISTS(SELECT * FROM sys.tables WHERE object_id = OBJECT_ID('table_name'))

BEGIN

ALTER TABLE table_name ADD column_name column_type

END

2) GO

IF(NOT EXISTS(SELECT * FROM sys.columns s WHERE s.name = 'column_name' AND s.id = OBJECT_ID('table_name')))

ALTER TABLE table_name ADD column_name column_type

GO

3、删除列

GO

IF EXISTS(SELECT * FROM sys.columns WHERE object_id = OBJECT_ID('table_name') AND name = 'column_name')

BEGIN

ALTER TABLE table_name DROP COLUMN column_name

END

GO

4、表字段改名

GO

IF EXISTS (SELECT 1 FROM sys.columns WHERE [object_id] = OBJECT_ID('table_name') AND [name] = 'old_column_name')

BEGIN

EXEC sys.sp_rename @objname = 'table_name.old_column_name' @newname = 'new_column_name' @objtype = 'COLUMN'

END

GO

5、创建视图

IF EXISTS ( SELECT *

FROM sys.views

WHERE object_id = OBJECT_ID(N'[dbo].[VIEW_NAME]'))

DROP VIEW [dbo].[VIEW_NAME]

GO

CREATE VIEW [dbo].[VIEW_NAME]

AS

SELECT A.xx,

B.xx,

C.xx

FROM TABLE_A A

LEFT JOIN TABLE_B B ON B.xx = A.xx

LEFT JOIN TABLE_C C ON C.xx = A.xx

WHERE a.xx = xx

GO

6、创建函数

GO

IF OBJECT_ID(N'FUNCTION_NAME') IS NOT NULL

DROP FUNCTION FUNCTION_NAME

GO

CREATE FUNCTION [dbo].[FUNCTION_NAME] (@parameterIn parametertype)

RETURNS Returntype  --例如:RETURNS NVARCHAR(500)

AS

BEGIN

DECLARE @parameter parametertype

SET @parameter = (SELECT COLUMN FROM TABLE WHERE COLUMN = @parameterIn)

RETURN @parameter

END

GO

调用函数 SELECT [dbo].[FUNCTION_NAME] (parameterIn)

7、修改字段的类型

GO

IF EXISTS (SELECT 1 FROM sys.columns WHERE [object_id] = OBJECT_ID('table_name') AND [name] = 'column_name')

BEGIN

ALTER TABLE table_name ALTER COLUMN column_name type

END

GO

[SQL Server] 常用sql脚本的更多相关文章

  1. SQL Server常用SQL集合

    ================================================ 1.SQL查询一年之内的数据记录 select * from 表名 where CreateDate& ...

  2. SQL Server 常用SQL

    --查询所有表 select * from sysobjects where xtype='u' ORDER BY name ASC

  3. sql server 常用sql语句

    --删除约束 alter table productInfo drop constraint 约束名称 --删除列alter table productInfo drop column 列名 --添加 ...

  4. sql server 常用的系统存储过程

      系统存储过程 说明 sp_databases 列出服务上的所有数据库 sp_helpdb 报告有关指定数据库或所有数据库的信息 sp_renamedb 更改数据库的名称 sp_tables 返回当 ...

  5. sql server编写通用脚本自动统计各表数据量心得

    工作过程中,如果一个数据库的表比较多,手工编写统计脚本就会比较繁琐,于是摸索出自动生成各表统计数据量脚本的通用方法,直接上代码: /* 脚本来源:https://www.cnblogs.com/zha ...

  6. SQL SERVER常用语法记录

    用于记录SQL SERVER常用语法,以及内置函数. 以下语句包含: WITH 临时表语法 ROW_NUMBER()内置函数,我一般主要是用来分页.针对于查出来的所有数据做一个数字排序 分页的BETW ...

  7. SQL SERVER常用语法汇总

    阅读目录 一.SQL分类 二.基础语句 三.sql技巧 四.(MS SQL Server)SQL语句导入导出大全 回到目录 一.SQL分类 DDL—数据定义语言(CREATE,ALTER,DROP,D ...

  8. sql server常用性能计数器

    https://blog.csdn.net/kk185800961/article/details/52462913?utm_source=blogxgwz5 https://blog.csdn.ne ...

  9. SQL Server经典sql语句大全(转)

    一.基础1.说明:创建数据库CREATE DATABASE database-name2.说明:删除数据库drop database dbname3.说明:备份sql server--- 创建 备份数 ...

随机推荐

  1. bootstrap-table方法之:expandRow-collapseRow,展开或关闭当前行数据

    官方演示地址:http://issues.wenzhixin.net.cn/bootstrap-table/methods/expandRow-collapseRow.html <!DOCTYP ...

  2. cocos2d-x-3.1 数据结构之Vector (coco2d-x 学习笔记六)

    介绍 cocos2d::Vector<T>是一个封装好的能动态增长顺序訪问的容器. cocos2d::Vector<T>中的元素是按序存取的,它的低层实现数据结构是标准模版库中 ...

  3. jquery动态创建form表单

    function exportExcel() { var merchantName = $('#merchantName').val(); var merchantNo = $('#merchantN ...

  4. 【EasyUi DataGrid】批量删除

    DataGrid是我们做网页经常使用到的组件之中的一个,对它的操作也无非是增删改查操作.单条数据的增删改相对来说比較简单.添加.改动能够直接在DataGrid中进行,也能够用弹出框的形式把数据装载在文 ...

  5. .net连接MySQL数据库的方案与实例演示

    以下的文章主要是向大家描述的是.net连接MySQL数据库的实际操作方法与其实例的演示.net连接MySQL数据库的实际操作方案我们主要是将其分成三部分,以下的文章就有其详细内容的描述. http:/ ...

  6. poj1006生理周期(中国剩余定理)

    生理周期 Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 139224   Accepted: 44687 Descripti ...

  7. Vue导航守卫beforeRouteEnter,beforeRouteUpdate,beforeRouteLeave详解

    Vue导航守卫以我自己的理解就是监听页面进入,修改,和离开的功能.每个守卫接受三个参数 to: Route: 即将要进入的目标路由对象 from: Route: 当前导航正要离开的路由 next: F ...

  8. call( )、apply( )

    call( )和apply( )都是用于改变函数执行时的上下文,唯一最大区别在于传入参数的形式不同. 这两个函数都是函数的方法,只有函数能够打点调用call().apply(),表示用指定的上下文执行 ...

  9. 【BZOJ3205_洛谷3638】[APIO2013]机器人(动态规划)

    题目: 洛谷3638 分析: 卡了一天的神题--(OrzJumpmelon) 首先预处理出从点\(p\)向\(d\)方向出发最终能到达的点\(nxt[p][d]\).这个可以直接记忆化搜索解决.如果出 ...

  10. NHibernate学习(零)-本次学习遇到的错误汇总

    问题一: "System.TypeInitializationException"类型的未经处理的异常在 KimismeDemo.exe 中发生 其他信息: "NHibe ...