1、创建索引的语句
create index 索引名 on 表(字段1,字段2,、、、);
如
create index index_AttachFile on AttachFile(CBillGuid,CGuid,DCreateTime);
此种默认方式创建的索引为非聚集索引。
建立非聚集索引,可以使用nonclustered 关键字。
如create nonclustered index 索引名 on 表(字段1,字段2,、、、);
若建立聚集索引,使用如下sql:
CREATE CLUSTERED INDEX CLUSTER_id ON TABLE_name(ID)
若表新增数据频繁,可定义一个聚集索引,如此新增的数据则按聚集索引进行排列,存取比较快速。
2、查询表有哪些索引
select b.* from sys.sysobjects a, sys.sysindexes b where a.id = b.id and a.name = 表名 and b.rows <>0;
SELECT 索引名称=a.name
,表名=c.name
,索引字段名=d.name
,索引字段位置=d.colid
FROM sysindexes a
JOIN sysindexkeys b ON a.id=b.id AND a.indid=b.indid
JOIN sysobjects c ON b.id=c.id
JOIN syscolumns d ON b.id=d.id AND b.colid=d.colid
WHERE a.indid NOT IN(0,255)
-- and c.xtype='U' and c.status>0 --查所有用户表
AND c.name='P_INTEGRATED_AREA' --查指定表
3、常用的系统表
sys.indexes 索引
sys.objects 对象(表...)
sys.columns 字段
sys.index_columns 索引_字段
sys.tables 自定义表
4、自定义排序
当没有合适的排序字段,需要自定义排序次序时,可以利用ORDER BY CHARINDEX (<’substring_expression’>, <expression>)来进行自定义排序。
其中substring _expression 是所要查找的字符表达式,expression 可为字符串也可为列名表达式。如果没有发现子串,则返回0 值。
此函数不能用于TEXT 和IMAGE 数据类型。
如:
- select charindex('cd','abcdefg') --3
- select charindex('ac','abcdefg') --0
所以,当需要自定义排序时,可使用如下方式:
SELECT * from TaskBudgetBody ORDER BY charindex(State, '1,2,3,4,5,6,7,8,9,0') ASC。
stuff()
- select stuff('abcde',2,3,'mmmm')
--通过在第一个字符串 (abcde) 中删除从第二个位置(字符 b)开始的三个字符,
--然后在删除的起始位置插入第二个字符串,创建并返回一个字符串。
5、查询重复数据中最大值
在一张表中,根据字段A将数据进行查询,会查询到同是字段A某个值的数据多条,同是字段A另外值的数据可能多条,但这些多条数据,只保留Id最大的一条数据,简单的sql编写方式为:
select max(id) from dic_dqxx
where parentid in (select parentid from dic_dqxx group by parentid having count(parentid) > 0)
group by parentid;
第二种写法:
select *
FROM TaskAppreCord a where a.dateTime in (select max(b.dateTime) from TaskAppreCord b where b.cTaskGuid=a.cTaskGuid and b.userId = a.userId and b.signTag = a.signTag and b.resType=a.resType)
and a.cTaskGuid='1111111111’ ORDER BY a.signTag ASC
6、获取表的各个字段
select a.name columnname,c.name as typename,
case when a.is_nullable =0 then 'Not Null' else 'Null' end as nullable,
a.*
from sys.columns a , sys.objects b, sys.types c
where a.object_id= b.object_id and b.name='taskhome' and a.system_type_id=c.system_type_id order by a.column_id;
其中:select * from sys.objects; 是数据库中的所有的对象,type_desc确定该对象是系统表,用户表,视图或其他。
select * from sys.types:字段类型
select * from sys.columns :表的字段,通过object_id与sys.onjects取得关联关系。
7、添加主键约束索引
alter table TaskAppreCord
add constraint PK_TaskAppr_1CE36B853EC74557 Primary key (cGuid)
分享到:
相关推荐
选择:select * from table1 where 范围 插入:insert into table1(field1,field2) values(value1,value2) 删除:delete from table1 where 范围 更新:update table1 set field1=value1 where 范围 ...
SQL Server数据库基本SQL语句汇总,xls格式,适合作为手册使用
sql 语句优化 SQL Server数据库查询速度慢的原因有很多
SQLServer 数据库 SSH 配置详解 SQLServer 数据库 SSH 配置是将 SQLServer 数据库与 Secure Shell(SSH)协议集成,以实现加密的数据传输和身份验证。本文将详细介绍 SQLServer 数据库 SSH 配置的实现步骤和相关...
1. 打开性能监视器,添加计数器,选择 SQL Server 的常用统计(MSSQL General Statistics)。 2. 在下面的项目中选择用户连接(User Connection),这样就可以实时查询到 SQL Server 数据库连接数。 方法二:通过...
一款可自定义条件导出数据工具。SQLSERVER版数据库Insert语句生成工具。 因SQL server management studio及其它三方数据库管理工具无法做到导出SQL server数据库指定条件的数据。所以小编介绍一种python编写的脚本。
SQL_Sever数据库常用语句大全.zip SQL_Sever数据库常用命令大全.zip power函数获取数值的n次方 round函数保留指定位数小数点(指定位数后四舍五入) sign函数判断正数负数和零 sqrt平方根函数 convert转换数据类型...
SQLServer 数据库压缩语句,主要是日志文件,能压缩到1M大小
MFC连接SQL Server数据库 MFC(Microsoft Foundation Classes)是一种基于C++的应用程序框架,广泛应用于Windows平台的桌面应用程序开发。其中一个重要的应用场景是连接数据库,以便进行数据存储和检索。本文将详细...
在 Sql Server 2000 中,可以使用以下语句来调整等待响应时间: ``` sp_configure 'show advanced options', 1 GO RECONFIGURE GO sp_configure 'query wait', 2147483647 GO RECONFIGURE GO ``` 二、在企业管理器...
为了实现上述功能,你需要在项目中引用Microsoft.SqlServer.Smo和Microsoft.SqlServer.SqlManagementUtils库。在压缩包文件"SQL Server数据库备份与恢复"中,可能包含了详细的C#代码示例,你可以参考这些示例来理解...
标题“C# 开发SQLSERVER数据库自动建表”表明我们将讨论一个使用C#开发的程序,该程序可以自动化创建SQL Server数据库中的表结构。这个功能对于数据导入、系统初始化或简化数据库管理流程非常有用。 描述中提到,该...
5. **文件"从SQLServer数据库导出SQL语句.exe"**: 这个文件名暗示可能是一个实用程序,专门用于从SQL Server数据库导出SQL语句。如果这是你正在寻找的工具,使用前务必确认其来源安全,避免引入恶意软件。 总的来...
对SQL Server 数据库基本SQL语句汇总,大部分复杂语句都可以通过这些基本语句组合实现
### SQL语句实现跨SQL Server数据库操作实例 #### 背景介绍 在日常的数据库管理与开发工作中,经常会遇到需要在不同的SQL Server实例之间进行数据交换的情况。这些操作包括但不限于查询不同数据库中的数据、将数据...
当需要在C++程序中与SQL Server数据库交互时,通常会采用ActiveX Data Objects(简称ADO)技术。以下将详细讲解如何使用C++通过ADO连接到SQL Server数据库,并基于提供的"ConnDatabase"源代码进行学习。 1. ADO简介...
标题中提到的是"SQL Server数据库常用操作",这意味着接下来的内容将会围绕SQL Server数据库进行展开,涉及基础知识以及一些高级操作。描述指出这些内容对初学者非常有用,因此内容应该是由浅入深,逐步引导学习者...
本篇将详细介绍C#如何与SQL Server数据库进行连接,并探讨基本的SQL语句,包括增、删、改、查等操作。 首先,建立C#与SQL Server数据库的连接是所有操作的基础。这通常通过ADO.NET框架中的SqlConnection类来实现。...
4. 生成SQL脚本:点击“导出”或类似按钮,程序会自动生成一个包含所有选定对象的SQL脚本文件,这个文件就是`从SQLServer数据库导出SQL语句.exe`。 5. 使用和保存脚本:生成的SQL脚本可以保存到本地,供后续在其他...
在Revit建筑信息模型(BIM)软件中进行二次开发,可以极大地拓展其功能,实现与外部数据源如SQL Server数据库的高效交互。本教程重点探讨如何利用Revit API与SQL Server数据库进行数据交换,从而提升工程项目的管理和...