- 浏览: 147120 次
- 性别:
- 来自: 汕尾
文章分类
最新评论
1.数据库中有那些用户表
select o.ID,O.Name from sysobjects o
where ObjectProperty(o.ID,N'IsTable')=1
and OBJECTPROPERTY(o.id, N'IsMSShipped')=0
and OBJECTPROPERTY(o.id, N'IsSystemTable')=0
and o.name not like N'#%'
2.名称为"TblName"的表有那些列,每个列的数据类型,长度
exec sp_MShelpcolumns N'[dbo].[TblName]'
3.名称为"TblName"的表的主键,外键信息
exec sp_MStablekeys N'[dbo].[TblName]'
4.名称为"TblName"的表有那些索引
sp_MShelpindex N'dbo.TblName', null, 1
5.取触发器
select o.name, owner = user_name(o.uid),
o.crdate, o.id
from dbo.sysobjects o
where o.deltrig = Object_ID(N'[dbo].[ch]')
and o.name not like '#%' order by o.name
declare
@tbname sysname--要取主键列名的表名
set @tbName='G_Right_Cert_House'
select name
from syscolumns
where id=object_id(@tbname)
and colid in(
select colid from sysindexkeys where object_id(@tbname)=id and indid in(
select indid from sysindexes where object_id(@tbname)=id and name in(
select name from sysobjects where xtype='PK' and parent_obj=object_id(@tbname)
)))
聚集与非聚集索引
索引是在数据库表或者视图上创建的对象,目的是为了加快对表或视图的查询的速度
按照存储方式分为:聚集与非聚集索引
按照维护与管理索引角度分为:唯一索引、复合索引和系统自动创建的索引
索引的结构是由:根节点--->非叶节点--->非叶节点--->叶节点
1、聚集索引:表中存储的数据按照索引的顺序存储,检索效率比普通索引高,但对数据新增/修改/删除的影响比较大
特点:
(1) 一个表可以最多可以创建249个索引
(2) 先建聚集索引才能创建非聚集索引
(3) 非聚集索引数据与索引不同序
(4) 数据与索引在不同位置
(5) 索引在叶节点上存储,在叶节点上有一个"指针"直接指向要查询的数据区域
(6) 数据不会根据索引键的顺序重新排列数据
创建聚集索引的语法:
create NONCLUSTERED INDEX idximpID ON EMP(empID)
2、非聚集索引:不影响表中的数据存储顺序,检索效率比聚集索引低,对数据新增/修改/删除的影响很少
特点:
(1) 无索引,数据无序
(2) 有索引,数据与索引同序
(3) 数据会根据索引键的顺序重新排列数据
(4) 一个表只能有一个索引
(5) 叶节点的指针指向的数据也在同一位置存储
语法:
create CLUSTERED INDEX idxempID on emp(empID)
3、惟一索引:惟一索引可以确保索引列不包含重复的值.
可以用多个列,但是索引可以确保索引列中每个值组合都是唯一的
姓 名
李 二
张 三
王 五
语法: create unique index idxempid on emp(姓,名)
4、复合索引:如果在两上以上的列上创建一个索引,则称为复合索引。
那么,不可能有两行的姓和名是重复的
语法:
create index indxfullname on addressbook(firstname,lastname)
5、系统自建的索引:在使用T_sql语句创建表的时候使用PRIMARY KEY或UNIQUE约束时,会在表上自动创建一个惟一索引
自动创建的索引是无法删除的
语法:
create table ABc
( empID int primary key,
firstname varchar(50)UNIQUE,
lastname varchar(50)UNIQUE,
)
这样的结果就出来了三个索引,但只有一个聚集索引哦
6、创建索引的方法:
1、企业管理器中
(1)右击某个表,所有任务---管理索引,打开管理索引,单击“新建”就可以创建索引
(2)在设计表中进行设计表,管理索引/键
(3)在关系图中,添加表后右击关系图中的某个表,就有“索引/键”
(4)通过向导,数据库---创建索引向导
(5)通过T-SQL语句
2、能过“索引优化向导”来优化索引的向导,通过它可以决定选择哪些列做为索引列
实验的流程:
1、先创建一个表,然后查看一下他的占用资源情况及select * from 表
看一下排序
2、然后创建索引,在观看一下占用资源的情况,及排序情况,看看聚集与非聚集的排序是
否用变化
答案是:聚集的有变化,非聚集的排序与未创建索引之前一样
字段是否存在
select count(1) from syscolumns where name = 'ColumnName'
and id in (select id from sysobjects where name = 'TableName')
结构
function GetTableStruc(Aconn: _Connection; ATableName: string): _recordSet;
var
sSql: string;
v: OleVariant;
begin
sSql := 'select c.name, c.colid, st.name as col_TypeName,'
+ ' case when bt.name in (N''nchar'', N''nvarchar'') then c.length/2 else c.length end as col_len,'
+ ' convert(bit, ColumnProperty(c.ID, c.name, N''AllowsNull'')) as col_AllowNull,'
+ ' convert(bit, ColumnProperty(c.ID, c.name, N''IsIdentity'')) as IsIdentity,'
+ ' isnull(OBJECTPROPERTY(cdefault, N''IsDefaultCnst''),0)as HasDefault'
+ ' from dbo.syscolumns c '
+ ' left outer join dbo.sysobjects d on d.id = c.cdefault '
+ ' left outer join dbo.sysobjects r on r.id = c.domain '
+ ' join dbo.systypes st on st.xusertype = c.xusertype '
+ ' join dbo.systypes bt on bt.xusertype = c.xtype '
+ ' where c.id = object_id(''%s'') ';
Result := Aconn.Execute(Format(sSql, [ATableName]), v, adCmdText);
end;
发表评论
-
终于能拿到私活的第一笔款了
2012-05-25 07:22 866用两周的时间全力做了一套酒店门户网站,包括后台管理网站和最 ... -
.net 隐式转换和显式转换
2012-05-11 07:15 7921.隐式转换:(String不能隐式转换为int) int ... -
解释性语言和编译性语言的区别
2012-05-10 23:02 913计算机不能直接理解高 ... -
.net身份验证机制
2012-05-10 22:47 7191.Windows 依赖于iis提供的验证方式,匿名、基本身 ... -
.net 并发控制方式
2012-05-10 22:35 11251.保守式并发控制 独占式处理,数据在完成更新完成之后才解锁 ... -
String、StringBuffer、StringBuilder的区别
2012-05-10 22:20 7511.String是字符串常量;StringBuffer、Str ... -
对主管的判断
2012-05-03 22:57 704一个个的诺言,不能实现,慢慢地让我对这个主管失去信心,4月 ... -
成熟的标志
2012-04-22 23:14 662一:沉稳(1)不要随便显露你的情绪。 没做到(2)不要逢人就诉 ... -
机会?陷阱?
2012-04-22 23:12 664主管想带我跳槽,提供比现在翻倍的工资,但却打乱了原先的计 ... -
每日总结20120415(周日)
2012-04-15 21:54 762前面的总结终于慢慢地发挥作用了,现在已经基本上了解自己的工作 ... -
每日总结20120410
2012-04-10 23:33 777今天学车,我是第一个上车了,第一次就把车踩熄火了,悲催。关 ... -
每日总结20120409
2012-04-09 22:22 690尝试了一下去见见一些老同学,发现了很多新的东西,人确实是一 ... -
每日总结20120406
2012-04-06 23:01 603今天虽然排除不了外界的干扰,但思路清晰的做事情,让我至少维 ... -
每日总结20120405
2012-04-05 22:39 720今天用做一个签核组织功能模块,分别预测自己能用15分钟做 ... -
每天一个小时听写英语
2012-04-05 20:59 929第一个目标:能一句句的听写读出听到的英文。 -
现有技能水平
2012-04-04 23:56 476.net:初级,能看懂和利用别人的框架,改改贴贴,根据需要添 ... -
不抱怨,说到做到
2012-04-04 23:31 536没出息的人只会抱怨现实或其他人其他条件对自己的不公,实现不 ... -
要在一个领域取得成就,就必须有对该领域的独特的执着
2012-04-03 23:34 990做什么事情都三分钟热度,永远都没有办法学精。对语言的感情, ... -
从来没有那么渴望顶端的风景过
2012-03-29 22:08 685平庸太无趣了,只有爬得更高才能看到更多的乐趣,体验到更多 ... -
思路一定要清晰
2012-03-26 23:21 560今天过了理论考试,把然后把项目要好好地测试了一下,发现了 ...
相关推荐
当我们选择“架构和数据”选项时,SQL Server将生成一个包含表结构和数据的INSERT SQL脚本。这个脚本将包括CREATE TABLE语句,以便在目标数据库中创建相同的表结构。同时,脚本还将包括INSERT INTO语句,以便将数据...
SQL Server 提供了多种方式来导出带数据的脚本,例如使用 SSMS 的 Task 页签、使用 sqlcmd 命令行工具等。 二、使用 SSMS 导出带数据的脚本 ----------------------------- ### 1. 选择对象 在 SSMS 中,选择要...
当我们说“脚本表结构”,我们是指生成一个包含创建该表所需的所有T-SQL语句的文本文件。 1. **导出表结构:** - 使用SSMS:在对象资源管理器中,右键点击要导出的表 -> "任务" -> "生成脚本",然后在向导中选择...
本文将详细解释如何为SQL Server 2000的数据生成脚本,以及这个过程中的关键知识点。 首先,生成数据脚本的主要目的是为了备份数据、初始化新的数据库环境或在不同服务器间迁移数据。在SQL Server 2000中,这可以...
本文将详细介绍如何使用Navicat工具实现SQL Server表结构到MySQL的同步操作,这对于那些需要在不同数据库系统间进行数据迁移的开发者来说尤其有用。 Navicat是一款强大的数据库管理工具,支持多种数据库类型,包括...
本篇文章将深入解析“SqlServer查看表结构”的方法,以及如何利用SQL语句来获取详细的表结构信息,这对于数据库管理员(DBA)、数据分析师、软件开发者等专业人士来说尤为关键。 ### SQL Server查看表结构的重要性 ...
SqlServer 2008 表结构导出脚本。可以导出整个库,也可以是单张表。
此文档主要是将SQLServer数据脚本转为达梦数据库数据脚本,截图为主,有需要的可以参考!
描述中提到的“表数据生成SQL脚本”功能,具体来说,是指该工具能将SQL Server数据库中某个表的数据转换为INSERT语句的集合。这些INSERT语句可以按照一定的顺序执行,以复原表中的所有记录。例如,如果你有一个名为...
总的来说,"sqlserver2005/2000生成带带数据的脚本(生成器)"是解决SQL Server默认工具不足的一种有效手段,它提高了数据库管理和迁移的效率,减少了人为错误的可能性。在使用过程中,结合SSMS和其他数据库管理工具...
- **生成和执行脚本**:最后,工具会生成SQL Server兼容的创建数据库、表、索引、视图、存储过程等的脚本,这些脚本在SQL Server上执行以重建数据库结构。 5. **数据迁移**:除了结构转换,还需要将MySQL中的数据...
在开发过程中,有时我们需要将JSON数据转化为SQL Server的建表脚本,以便在数据库中创建相应的表结构来存储这些数据。 标题"json转换为SQL server建表脚本"涉及到的主要知识点包括: 1. JSON解析:首先,你需要...
这个压缩包"sqlserver 导出表及字段说明脚本.rar"包含了一个名为"sqlserver 导出表及字段说明脚本.sql"的文件,这通常是一个用于生成SQL语句的脚本,用于描述数据库中的表结构以及各字段的详细信息。以下是对这个...
SQLServer脚本批量执行工具是一种高效管理SQL Server数据库的实用程序,它允许用户一次性执行多个SQL脚本,显著提高了数据库管理员的工作效率。该工具的主要功能包括脚本的顺序执行、执行结果的记录以及脚本的可视化...
表结构的创建比较简单,但是表的数据量太大,一时也想不到怎么把sqlserver表数据复制到oracle中,于是请教公司主管,用存储过程实现可以查询出所有数据的insert脚本,在oracle库中创建好表,直接把sqlserver中的...
SQL Server生成数据脚本软件是数据库管理员和开发人员的重要工具,它能够帮助用户轻松地导出数据库的结构和数据为SQL脚本,方便备份、迁移或者在不同环境间同步数据。以下是关于这个主题的详细知识: 1. **SQL ...
在SQL Server中,生成表的脚本是一种常见的数据库管理任务,尤其在数据库设计、备份或复制表结构到其他环境时非常有用。以下是一份详细的指南,教你如何在SQL Server中通过脚本创建表。 首先,我们可以使用SQL ...
在SQL Server数据库管理中,有时我们需要将数据表的结构或数据导出为SQL脚本,以便备份、迁移或在其他环境中重建。SQL Server提供了一些内置工具和方法来实现这一目标,这些工具通常对于数据库管理员和开发人员来说...
表是数据库中用于存储数据的基本结构,使用`CREATE TABLE`语句创建。脚本中展示了一个包含标识列、字符字段和位字段的简单表创建示例: ```sql CREATE TABLE UserInfo ( Id INT IDENTITY(1,1) NOT NULL, Uname ...
针对这个需求,存在一种名为“SQLServer数据库表中数据导出成SQL语句工具”的实用程序,它能够帮助我们高效地完成这项任务。这个工具通常以MHT(Multi-Part/Related)格式提供,这是一种单一文件Web页面存储格式,...