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数据库查询速度慢的原因有很多
1. 打开性能监视器,添加计数器,选择 SQL Server 的常用统计(MSSQL General Statistics)。 2. 在下面的项目中选择用户连接(User Connection),这样就可以实时查询到 SQL Server 数据库连接数。 方法二:通过...
SQLServer 数据库 SSH 配置详解 SQLServer 数据库 SSH 配置是将 SQLServer 数据库与 Secure Shell(SSH)协议集成,以实现加密的数据传输和身份验证。本文将详细介绍 SQLServer 数据库 SSH 配置的实现步骤和相关...
一款可自定义条件导出数据工具。SQLSERVER版数据库Insert语句生成工具。 因SQL server management studio及其它三方数据库管理工具无法做到导出SQL server数据库指定条件的数据。所以小编介绍一种python编写的脚本。
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类来实现。...
zktime5.0考勤机连接sqlserver数据库,创建及连接方法 1. 数据库管理系统(DBMS):sqlserver是微软公司开发的一种关系数据库管理系统(RDBMS),用于存储、处理和保护数据。 2. 数据库创建:在sqlserver中,创建...
4. 生成SQL脚本:点击“导出”或类似按钮,程序会自动生成一个包含所有选定对象的SQL脚本文件,这个文件就是`从SQLServer数据库导出SQL语句.exe`。 5. 使用和保存脚本:生成的SQL脚本可以保存到本地,供后续在其他...
在Revit建筑信息模型(BIM)软件中进行二次开发,可以极大地拓展其功能,实现与外部数据源如SQL Server数据库的高效交互。本教程重点探讨如何利用Revit API与SQL Server数据库进行数据交换,从而提升工程项目的管理和...