`

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),即结构化查询语言...

    MSSQL性能监控SQL语句

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

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

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

    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中...

    SQL 常用语句 sql简单技巧

    使用动态SQL,通过遍历`sysobjects`和`syscolumns`系统表,可以构建并执行一个SQL语句,获取指定表的所有字段。 6. **查看硬盘分区**: `EXEC master..xp_fixeddrives`是一个扩展存储过程,可以显示服务器上的...

    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 ...

    Delphi中sql语句的使用总结

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

    SELECT语句的应用 - MS SQL

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

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

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

    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语句多个查询结果表...

    MS SQLSERVER 常用知识,方法

    3. **常用SQL语句**: - **SELECT**:用于从表中检索数据,可以配合WHERE子句进行条件筛选,GROUP BY进行分组,HAVING过滤分组后的结果,ORDER BY进行排序。 - **INSERT**:向表中插入新记录。 - **UPDATE**:...

Global site tag (gtag.js) - Google Analytics