`

MS SQL 常用SQL语句

 
阅读更多

测试数据库:MS SQL Server 2005

 

1、insert into select语句:

语句形式:insert into Table2(field1,field2,...) select value1,value2,... from Table1 where table1.......

表示从table1中复制符合条件的数据到table2中,要求目标表table2必须存在,若不存在则会报错。这个语句除了插入源表table1的字段外,还可以插入常量。

具体例子参见:http://www.cnblogs.com/freshman0216/archive/2008/08/15/1268316.html

 

2、select into from 语句:

语句形式:select vale1, value2 into Table2 from Table1 where field1......

表示从table1中复制符合条件的数据到table2中,要求目标表table2不存在,因为在插入数据时会自动创建table2。

具体例子参见:http://www.cnblogs.com/freshman0216/archive/2008/08/15/1268316.html

 

3、update select 语句:

语句形式:update table2 set table2.field...=table1.field... ,table2.field...=table1.field........ from table1 where table2.field...=table1.field...

简单例子:

update table2 set  field3=t1.field2, field4=t1.field6 from table1 t1 where table2.field2=t1.field1 and table2.field2=2 ;

表示从table1中更新数据到符合条件的table2中,要求目标表table2必须存在,而且有符合条件的数据,当然要是没有数据或数据不对,自然不会符合条件,自然不会更新了。

具体例子参见:http://www.2cto.com/database/201208/148251.html

 

下面这个是上一个链接中官员关于update的:

个人感觉MS SQL Server的Update语法功能更为强大。MS SQL SERVER的写法:

UPDATE A SET A1 = B1, A2 = B2, A3 = B3 FROM A, B WHERE A.ID = B.ID

个人觉得这个是有问题的。我最开始是按照这个方法写的,报错,后来调整成上面的形式了,反而成功了。

 

4、查看(获取)当前数据库所有触发器信息:

SELECT  
    object_name(a.parent_obj) as [表名] 
    ,a.name as triggerName 
    ,(case when b.is_disabled=0 then '启用' else '禁用' end) as [状态]  
    ,b.create_date as [创建日期]
    ,b.modify_date as [修改日期]
    ,c.text as [触发器内容]  
FROM sysobjects a  
    INNER JOIN sys.triggers b  
        ON b.object_id=a.id  
    INNER JOIN syscomments c  
        ON c.id=a.id  
WHERE a.xtype='tr'
ORDER BY [表名]

 

 实例:查看物理表table1的触发器信息

SELECT  
    object_name(a.parent_obj) as tableName 
    ,a.name as triggerName 
    ,(case when b.is_disabled=0 then '启用' else '禁用' end) as status  
    ,b.create_date as createDate
    ,b.modify_date as modifyDate  
    ,c.text as triggerText  
FROM sysobjects a  
    INNER JOIN sys.triggers b  
        ON b.object_id=a.id  
    INNER JOIN syscomments c  
        ON c.id=a.id  
WHERE a.xtype='tr' and (a.parent_obj=object_id('table1'))
ORDER BY tableName

a、获取当前表的触发器信息:EXEC sp_helptrigger '表名'

b、获取指定触发器的信息:EXEC sp_help '触发器名'

c、获取指定触发器的内容:EXEC sp_helptext '触发器名'

 

 5、查看/获取某个表的主键信息:

a、查看可以用sp_pkeys存储过程,如:exec sp_pkeys 'table2',可以得到:当前表的Table_qualifier(数据库名称)、Table_owner(所有者)、Table_name(表名)、Column_name(主键所在列名)、Key_seq(主键序列)、PK_name(主键名称)

b、获取主键信息:

SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.columns
WHERE TABLE_NAME='TABLE2' AND  COLUMNPROPERTY(     
OBJECT_ID('表名'),COLUMN_NAME,'IsIdentity')=1
6、判断物理表/临时表是否存在:
--物理表
if object_id(N'表名',N'U') is not null
print '存在'
else
print '不存在'
--临时表
if exists(select * from tempdb..sysobjects where id=object_id('tempdb..#临时表名'))
PRINT '存在'
ELSE
PRINT'不存在'
7、重命名列名:
exec sp_rename '表名.老的字段','新的字段','column';
--警告: 更改对象名的任一部分都可能会破坏脚本和存储过程。
示例:将table1的field1字段名修改为field10(执行该SQL时会发出警告,但只要不是错误一样会执行)
exec sp_rename 'table1.field1','field10','column';
8、重命名表名:
EXECUTE sp_rename N'老的表名', N'新的表名', 'OBJECT' 
--警告: 更改对象名的任一部分都可能会破坏脚本和存储过程。
 示例:将table1表名修改为table2
--直接执行SQL语句
EXECUTE sp_rename N'table1', N'table2', 'OBJECT' 

--老的表名和新的表名是变量时,需要拼接SQL语句
declare @oldTableName varchar(100);
declare @newTableName varchar(200)
declare @sql varchar(100);
set @oldTableName ='table1';
set @newTableName ='table2';
set @sql = 'EXECUTE sp_rename N'''+@oldTableName+''', N'''+@newTableName+''', ''OBJECT'' ';
print @sql;
exec @sql; 

 

 

 

分享到:
评论

相关推荐

    MS SQL 基础语句教程

    ### MS SQL 基础语句教程 #### 第一天:SQL简介 - **SQL简史**:SQL(Structured Query Language)是一种用于管理关系型数据库的标准语言。它最初由IBM的三位研究人员于1974年提出,后来经过标准化,成为了一个...

    SQL语句帮助文档 - MS SQL

    以下是关于MS SQL和SQL语句的一些关键知识点: 1. **SQL简介**:SQL(Structured Query Language)是用于管理和处理关系型数据库的标准编程语言。它支持数据查询、插入、更新、删除等操作,以及数据库结构的创建和...

    SQL语句转换(delphi与MS SQL语句进行转换)

    标题提到的"SQL语句转换(delphi与MS SQL语句进行转换)"是一个工具,旨在帮助开发者在Delphi编写的SQL语句与MS SQL Server支持的SQL语法之间进行互换。这个工具可能是为了解决两种语法差异带来的兼容性问题,从而简化...

    MS SQL数据库常用基本语句

    本文将深入探讨"MS SQL数据库常用基本语句",结合提供的文件"测试人员要掌握的SQL(上).doc"和"SQL基本语句.txt",为你揭示SQL的核心知识点。 首先,我们要了解SQL(Structured Query Language),即结构化查询语言...

    sqlserver自动生成sql语句工具sqlserver转oracle

    在压缩包子文件的文件名"ms转sql语句.exe"中,我们可以推测这可能是一个用于将SQL Server语句转换为Oracle兼容格式的可执行程序。这样的工具通常会提供用户友好的界面,让用户导入SQL Server的数据库元数据,然后...

    MSSQL性能监控SQL语句

    本文将深入探讨MSSQL性能监控中的几个关键SQL语句,帮助数据库管理员(DBA)和开发者更好地理解和管理MSSQL的性能。 ### 1. sys.dm_exec_query_stats:查询统计信息 `sys.dm_exec_query_stats`是MSSQL中一个非常...

    MS SQL Server查询小数位数语句

    MS SQL Server查询语句,以小数位数作为条件,可查询符合条件的记录。可查询多位小数位数。

    MS SQL Server语句追踪器

    它允许用户实时监控SQL Server数据库的活动,记录并分析执行的SQL语句和存储过程,以便找出性能瓶颈或异常行为。在本文中,我们将深入探讨SQL Server语句追踪器的功能、用途以及如何使用它。 SQL Server语句追踪器...

    MS SQL sql语句自动格式化工具

    本人在Windows7 64位+SQL Server 2012环境下测试通过(系统是全新安装) 使用方法: 1,安装SQLPrompt v5.3.0.3,这个不多说。 2,安装完毕后,断开网络连接。 3,打开Visual Studio或者SQL Server Management Studio...

    数据库表数据转为insert sql语句

    1、对ms sql server及其他数据库库中类似int identity的数据库类型没有处理,转出来的sql语句直接执行时,还需要做一下处理. 2、不支持长字符集类型.比如ms sql server中的image,oracle中的blob,clob,long以及db2中...

    D-Recovery(For MS SQL Server)达思SQL数据库修复软件

    3、 可以将用户数据表、存储过程等数据导出保存成sql语句文件。 4、 可以将用户数据表、存储过程等数据直接导入MSSQL Server中的某个数据库中。 5、 可以扫描并提取某些损坏表的所有正常的数据记录,丢弃那些损坏的...

    SQL语句教程 写法大全

    同时,本教程还涵盖了 SQL 高级知识,如 Top 语句、Like 语句、通配符、In 语句、Between 语句、Aliases 语句、Join 语句、Inner Join 语句、Left Join 语句、Right Join 语句、Full Join 语句、Union 语句、Select ...

    MS-SQL 50条常用select语句(以学生表为例)

    MS-SQL 50条常用select语句(以学生表为例) MS-SQL 是一种关系数据库管理系统,.select 语句是其中最基本也是最重要的语句之一。下面我们将通过学生表、课程表、成绩表、教师表四个表来演示 50 条常用的 select ...

    ms sql语法学习大全

    这些操作通过SQL语句实现: 1. **单表查询语句 Select**:SELECT语句用于从一个或多个表中选取数据,是最基础也是最常用的SQL操作。可以指定字段、筛选条件、排序和分组等。 2. **多表查询 slelect**:当数据分布在...

    SELECT语句的应用 - MS SQL

    本主题将聚焦于SELECT语句在MS SQL中的应用,这是一种用于从数据库中检索数据的关键命令。 一、SELECT语句基础 SELECT语句是最基本的查询工具,它允许用户从一个或多个表中选择特定的数据行和列。其基本语法如下:...

    Delphi中sql语句的使用总结

    ### Delphi中SQL语句的使用总结 在Delphi中使用SQL语句是与数据库进行交互的重要手段之一。本文将详细介绍如何在Delphi环境中构造和执行SQL查询,并给出具体的示例来帮助理解。 #### 一、基本SQL查询的构建 在...

    MS sql语句妙用指导

    ### SQL语句妙用指导 #### 一、动态SQL语句基本语法 在SQL Server中,动态SQL是一种非常有用的技巧,允许用户构建和执行在运行时确定的SQL语句。这种方式特别适合于需要构建复杂查询或者需要根据输入参数变化的...

    Local SQL和SQL Server7.0常用SQL语句的比较分析.pdf

    Local SQL和SQL Server7.0常用SQL语句的比较分析 Local SQL和SQL Server7.0是两个不同的数据库管理系统,它们之间存在着明显的差异,特别是在SQL语句方面。本文将对Local SQL和SQL Server7.0的SQL语句进行比较分析...

    Visual C++源代码 158 如何获取SQL语句多个查询结果表

    Visual C++源代码 158 如何获取SQL语句多个查询结果表Visual C++源代码 158 如何获取SQL语句多个查询结果表Visual C++源代码 158 如何获取SQL语句多个查询结果表Visual C++源代码 158 如何获取SQL语句多个查询结果表...

Global site tag (gtag.js) - Google Analytics