sql 2000 命令
sql2000教程

SQL2000教程介绍SQL(Structured Query Language),结构化查询语言,是一种用于管理和操作关系型数据库的编程语言。
SQL2000是Microsoft SQL Server 2000的简称,是一种流行的关系型数据库管理系统(RDBMS)。
本教程将带您了解SQL2000的基本概念和常用操作。
目录1.安装SQL20002.连接到SQL Server3.创建数据库4.创建表5.插入数据6.查询数据7.更新数据8.删除数据9.数据库备份和还原10.结束语1. 安装SQL2000在开始学习SQL2000之前,您需要先安装SQL2000数据库管理系统。
请按照官方文档或指南来完成安装步骤。
2. 连接到SQL Server安装完成后,您需要连接到SQL Server以开始使用SQL2000。
您可以使用SQL Server Management Studio这样的图形化工具,或者使用命令行工具如SQLCMD来连接。
•使用图形化工具:打开SQL Server Management Studio,输入服务器名称、身份验证方式和登录凭据,点击连接即可连接到SQL Server。
•使用命令行工具:打开命令提示符或PowerShell,输入以下命令连接到SQL Server:sqlcmd -S 服务器名称 -U 用户名 -P 密码3. 创建数据库连接上SQL Server后,您可以创建自己的数据库来存储数据。
使用以下的SQL语句来创建数据库:CREATE DATABASE database_name;请将database_name替换为您要创建的数据库名称。
4. 创建表在数据库中,表是用于组织和存储数据的基本单位。
使用以下的SQL语句来创建表:CREATE TABLE table_name (column1 datatype,column2 datatype,...);请将table_name替换为您要创建的表名,column1、column2等为表的列名,datatype为列的数据类型。
SQLServer2000里自动重建索引

SQLServer2000里自动重建索引在所有的OLTP环境里,实质上所有的索引都将随着时间产生碎片。
几乎所有的UPDA TE、INSERT、DELETE活动都将引起索引比最初创建时变得更无组织。
页拆分更多,大量的页上只有很少的数据,因此满足每个SELECT需要更多的I/O。
数据和索引的碎片越多,应用程序就会更慢,数据花费的空间就更多。
对此你能做什么呢?你可以定期的重建索引。
那么什么可以立即使用呢?基本上你可以使用数据库维护向导来执行索引重建,创建维护计划来完成。
如果你原意接受它固有的缺陷,这也可以使用。
首先,用维护向导来配置和完成索引重建是不慎重的。
它将重建每一个索引,不管它是否需要重建。
如果你有一个有很多大表和大量索引的大数据库,这会出问题,因为不加区别的重建整个数据库的索引会花费很长的时间,会使你的维护窗口不可用。
问题在于,要么全部重建,要么全部不重建,你根本不能以任何方式分批处理数据库的表。
那么有什么别的能做吗?你可以写一个脚本来重建选择的表的索引。
这样你能对数据库分批处理以减少在重建索引时你维护窗口执行的时间。
你需要将这个时间减小到最少,因为重建索引会对表执行排它锁,在重建索引期间禁止用户访问。
所以你可以每周的每个工作日的晚上重建五分之一表的索引,所有的索引至少一周做一次。
然而,这也是不慎重的――你将重建所有表的索引而不论数据和索引是否是有碎片。
这里推荐选择性的重建索引。
你需要检查表的索引和数据的碎片,保留数据,据此操作,重建索引要用确定的且区别对待的方式。
仅仅通过这样系统的方法,你可以仅重建那些实际需要重建的表的数据和索引。
而且也只有这种方式能最小化索引重建的时间。
在整个索引重建期间,如果你不想影响你的用户的话,减少索引重建的时间是至关重要的。
那么我们怎样可以解决呢?可以使用命令DBCC SHOWCONTIG()SQLServer2000比以前版本有一个大的改进就是这个简单而又至关重要的命令。
SQL_SERVER_2000_alter_命令的使用(1)

SQL SERVER 2000 alter 命令的使用注意COLUMN 关键字是多余的,可以省略。
如果用ADD COLUMN 增加一个字段,那么所有表中现有行都初始化为该字段的缺省值(如果没有声明DEFAULT 子句,那么就是NULL)。
用一个非空缺省增加一个字段或者是改变一个字段的现有类型会要求整个表的重写。
对于大表来说,这个操作可能会花很长时间;并且它还临时需要两倍的磁盘空间。
增加一个CHECK 或者NOT NULL 约束要求扫描该表以保证现有的行复合约束要求。
提供在一个ALTER TABLE 里面声明多个修改的主要原因是原先需要的对表的多次扫描和重写可以组合成一个回合。
DROP COLUMN 命令并不是物理上把字段删除,而只是简单地把它标记为SQL 操作中不可见的。
随后对该表的插入和更新将在该字段存储一个NULL。
因此,删除一个字段是很快的,但是它不会立即缩减你的表在磁盘上的大小,因为被删除了的字段占据的空间还没有回收。
这些空间将随着现有的行的更新而得到回收。
ALTER TYPE 要求重写整个表的特性有时候是一个优点,因为重写的过程消除了任何表中的没用的空间。
比如,要想立刻回收被一个已经删除的字段占据的空间,最快的方法是ALTER TABLE table ALTER anycol TYPE anytype;这里anycol 是任何在表中还存在的字段,而anytype 是和该字段的原类型一样的类型。
这样的结果是在表上没有任何可见的语意的变化,但是这个命令强迫重写,这样就删除了不再使用的数据。
ALTER TYPE 的USING 选项实际上可以声明涉及该行旧值的任何表达式;也就是说,它可以引用除了正在被转换的字段之外其它的字段。
这样,我们就可以用ALTER TYPE 语法做非常普遍性的转换。
因为这个灵活性,USING 表达式并没有施用于该字段的缺省值(如果有的话);结果可能不是缺省表达式要求的常量表达式。
SQL2000日志清理方法

SQL2000日志清理方法SQL Server 2000是一个非常古老的数据库管理系统,虽然已经过时,但仍然有一些组织使用它。
在SQL Server 2000中,日志文件经常会变得非常大,占用大量磁盘空间。
为了有效管理和清理日志文件,以下是一些可以使用的方法。
1.设计合适的恢复模式SQL Server 2000有三种恢复模式:完全恢复模式、大容量日志恢复模式和简单恢复模式。
对于需要恢复到特定时间点的组织,可以选择完全或大容量日志恢复模式,但需要定期备份日志文件和清理旧的备份。
对于一些不需要恢复到特定时间点的组织,可以选择简单恢复模式,它会自动清除日志文件。
2.定期备份日志文件在完全恢复模式或大容量日志恢复模式下,定期备份日志文件非常重要。
这样可以释放事务日志,使其不再继续增长。
可以使用`BACKUPLOG`命令来备份日志文件,并设置相应的计划任务以确保定期备份。
3.缩减日志文件当执行一次日志备份后,`BACKUPLOG`命令可以触发事务日志的缩减。
可以使用`DBCCSHRINKFILE`命令来缩减日志文件的大小,从而释放磁盘空间。
但需要注意,缩减日志文件可能导致性能下降,因此需要在低峰期执行。
4.数据库挂起和启动将数据库挂起并重新启动可以清除事务日志并释放磁盘空间。
可以使用 `ALTER DATABASE [DatabaseName] SET ONLINE/OFFLINE` 命令来完成这个操作。
挂起数据库会中断对数据库的访问,因此需要在低峰期执行。
5.自动备份和清理使用SQL Server代理任务和T-SQL命令,可以创建计划任务来自动备份和清理日志文件。
可以定期执行 `BACKUP LOG` 和 `DBCC SHRINKFILE` 命令,以确保日志文件的大小保持在合理的范围内。
6.监控日志文件大小和使用率7.定期查询性能和优化定期查询数据库性能和优化可以帮助提高数据库的整体性能,并防止日志文件过大。
SQL2000数据库导出和导入教程

SQL2000数据库导出和导入教程SQL Server 2000是一种关系型数据库管理系统,支持大型数据库和各种应用程序。
它提供了导出和导入数据的功能,使用户可以将数据从一个数据库导出到另一个数据库,或者从一个数据库导入到另一个数据库。
下面是SQL Server 2000数据库导出和导入的教程。
导出数据:1. 打开SQL Server 2000管理工具,选择要导出数据的数据库。
2.选择“任务”菜单,然后选择“导出数据”选项。
3.在“数据源”对话框中,选择要导出的表或视图。
您还可以指定一个查询来选择特定的数据。
4.在“目标”对话框中,选择将数据导出到的目标数据库或文件。
您可以选择导出到同一服务器上的另一个数据库,或者导出到一个文件。
5.确定导出选项,例如导出可变宽度的文本文件或固定宽度的文本文件,以及使用逗号作为字段分隔符或制表符作为字段分隔符。
6.单击“完成”按钮开始导出过程。
导入数据:1. 打开SQL Server 2000管理工具,选择要导入数据的数据库。
2.选择“任务”菜单,然后选择“导入数据”选项。
3.在“数据源”对话框中,选择包含要导入的数据的数据库或文件。
如果您选择一个文件,您需要指定文件类型和文件位置。
4.在“目标”对话框中,选择要导入数据的目标表或视图。
您还可以选择创建一个新的表来存储导入的数据。
5.如果需要的话,可以在“转换”对话框中进行必要的数据转换。
例如,您可以选择将一个日期字段的格式从YYYYMMDD转换为YYYY-MM-DD。
6.确定导入选项,例如是否忽略导入中的重复行,以及在导入过程中要使用的事务类型。
7.单击“完成”按钮开始导入过程。
导出和导入数据可能会花费一些时间,具体时间取决于数据的大小和服务器的性能。
在导出和导入过程中,您可以查看进度和错误信息。
除了使用SQL Server 2000管理工具进行导出和导入,还可以使用SQL命令进行导出和导入。
例如,您可以使用SELECT INTO语句将数据导出到一个新的表中,然后使用INSERT INTO语句将数据从一个表导入到另一个表中。
Win1064位安装个人版SQL2000图文教程

Win1064位安装个⼈版SQL2000图⽂教程默认Win10上是不允许安装SQL2000的,毕竟SQL2000已经是10多年前的⽼软件了,但是因为它成熟稳定,相⽐SQL2005,SQL2008R2,SQL2012,SQL2014,体积要⼩的多,所以还是很希望能在Win10环境下使⽤它,,在⽹上搜了⼀些安装⽅法,⾃⼰刚好安装了⼀台Win10 64位的电脑,就装了⼀下!1. 修改C:\Windows\SysWOW64⽂件夹的权限,如下图:按照⽹上的提⽰,是先设置SysWOW64的权限:我按照上述设置了之后,还是不能让我修改SysWOW64⾥的⽂件,提⽰没有权限,我⼜设置了⼀下下⾯的⽂件夹权限:果然就ok了,所以不清楚是不是上⾯⼀步是不是必须;2. 从SQL2000的安装包⾥复制SQLUNIRL.DLL,替换原来的SQLUNIRL.DLL,我这⾥没有替换,只是把原来的⽂件后⾯加了个Win10的后缀,复制了⼀个新的SQLUNIRL.DLL,另外我其实安装的并不是原版的SQL2000,⽽是MSDE2000SP4,这个版本其实就是带SP4(8.0.2039)的MSDE,兼容性似乎好于原版的SQL2000(8.0.139),在有些带SP1的Win7上安装SQL2000原始版本,在更新组件的时候会长时间⽆响应,但是MSDE2000SP4没有这个问题,所以我在Win10上装的也是这个版本!对⽐了⼀下两个⽂件,貌似是⼀样的,⽂件⼤⼩稍有不同,我的SQLUNIRL.DLL是从MSDE2000SP4⾥提取出来了,所以它本⾝已经是SP4(2000.80.2039)了,但是似乎不替换就不好安装,⼀替换就能安装了,真的很奇怪。
3. 双击MSDE2000SP4的setup.exe,⼀路下⼀步就安装好了,当然在安装之前,把注册表⾥的挂起删除掉,就不会遇到什么问题:4.安装完MSDE2000SP4,习惯性的在【运⾏】⾥输⼊sqlmangr,呵呵,居然直接提⽰没此命令,估计是Path⾥没有包含sql的路径吧,开始菜单⾥也找不到相关启动项,从360提供的快捷启动栏⾥找到它了:设置以管理员⾝份运⾏它,然后熟悉的服务管理器就出来了5. 给MSDE2000SP4安装上SQL2000的服务端和客户端⼯具,直接运⾏D:\SQL2000\SQL2000 PERSONAL\X86\SETUP\SETUPSQL.EXE 同样的最好在安装前先去掉注册表⾥的Pending……,SetupSQL.exe加上管理员运⾏权限,⼀路下⼀步,就把MSDE2000SP4升级成了SQL2000SP4,⼤功告成win10家庭版安装SQL2000综合安装问题解决⽅法⼀、安装sql server 2000提⽰挂起怎么解决1、运⾏REGEDIT2、在注册表中依次找到⽬录:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager,然后在右侧框中找到PendingFileRenameOperations 3、选中右键—>删除该项即可重新安装sql server 2000了⼆、sql2000升级到win10后提⽰⽆法定位序数1于动态链接库sqlunirl.dll解决办法1、获取trustedinstaller权限(⽤记事本复制下⾯内容,以REG扩展名格式保存,运⾏即可)Windows Registry Editor Version 5.00[HKEY_CLASSES_ROOT\*\shell\runas]@="获取TrustedInstaller权限"[HKEY_CLASSES_ROOT\*\shell\runas\command]@="cmd.exe /c takeown /f \"%1\" && icacls \"%1\" /grant administrators:F""IsolatedCommand"="cmd.exe /c takeown /f \"%1\" && icacls \"%1\" /grant administrators:F"[HKEY_CLASSES_ROOT\Directory\shell\runas]@="获取TrustedInstaller权限""NoWorkingDirectory"=""[HKEY_CLASSES_ROOT\Directory\shell\runas\command]@="cmd.exe /c takeown /f \"%1\" /r /d y && icacls \"%1\" /grant administrators:F /t""IsolatedCommand"="cmd.exe /c takeown /f \"%1\" /r /d y && icacls \"%1\" /grant administrators:F /t"2、在c:\windows\syswow64、c:\windows\system32中右键取得sqlunirl.dll的“获取TrustedInstaller权限",点击确认即可。
sql2000数据库安装提示挂起的处理方法

sql2000数据库安装提示挂起的处理方法SQL Server 2000是一种用于管理和处理数据的关系型数据库管理系统,然而在安装过程中有时会遇到挂起的情况。
挂起的原因可能是因为硬件问题、软件冲突、安装程序错误等,下面将介绍一些处理挂起问题的方法,希望能够对你有所帮助。
第一步,检查硬件是否有问题。
在安装过程中,如果遇到挂起的情况,首先应该检查计算机硬件是否正常工作。
可以尝试重新启动计算机,并检查硬件设备是否连接正确。
如果使用的是光盘安装程序,还可以尝试更换光盘以排除光盘损坏的可能性。
另外,还可以考虑检查计算机内存是否充足,因为内存不足也可能导致安装挂起。
第二步,检查操作系统和软件冲突。
有时挂起问题可能是由操作系统或其他已安装的软件引起的。
可以尝试关闭所有不必要的后台程序和服务,并禁用防火墙和杀毒软件。
还可以尝试在安全模式下进行安装,这样可以避免冲突。
第三步,检查安装程序是否正确。
如果安装程序本身出现问题,也可能导致安装挂起。
可以尝试重新下载安装程序,并确保下载的是适用于你的操作系统的版本。
另外,在运行安装程序之前,最好将其保存在本地磁盘中,而不是在网络上运行,以确保安装程序可以正常访问。
第四步,进行清理和修复。
如果以上方法都无效,可以尝试进行清理和修复操作。
可以使用磁盘清理工具来清理计算机上的临时文件和垃圾文件,以释放磁盘空间。
另外,还可以尝试使用系统修复工具,例如运行“sfc /scannow”命令来修复操作系统文件。
第五步,寻求专业帮助。
如果以上方法仍然无法解决问题,建议寻求专业的技术支持。
可以联系SQL Server官方技术支持团队或咨询专业的数据库管理员。
他们可能会提供更具体和个性化的解决方案,以帮助你解决安装挂起的问题。
总结起来,解决SQL Server 2000安装挂起问题需要综合考虑硬件、软件和操作系统三个方面的因素。
首先应该排除硬件问题,然后检查软件冲突,并确保安装程序正确无误。
SQL2000数据修复命令DBCC用法

MS Sql Server 提供了很多数据库修复的命令,当数据库质疑或是有的无法完成读取时可以尝试这些修复命令。
1. DBCC CHECKDB重启服务器后,在没有进行任何操作的情况下,在SQL查询分析器中执行以下SQL进行数据库的修复,修复数据库存在的一致性错误与分配错误。
use masterdeclare @databasename varchar(255)set @databasename='需要修复的数据库实体的名称'exec sp_dboption @databasename, N'single', N'true' --将目标数据库置为单用户状态dbcc checkdb(@databasename,REPAIR_ALLOW_DATA_LOSS)dbcc checkdb(@databasename,REPAIR_REBUILD)exec sp_dboption @databasename, N'single', N'false'--将目标数据库置为多用户状态然后执行DBCC CHECKDB('需要修复的数据库实体的名称') 检查数据库是否仍旧存在错误。
注意:修复后可能会造成部分数据的丢失。
2. DBCC CHECKTABLE如果DBCC CHECKDB 检查仍旧存在错误,可以使用DBCC CHECKTABLE来修复。
use 需要修复的数据库实体的名称declare @dbname varchar(255)set @dbname='需要修复的数据库实体的名称'exec sp_dboption @dbname,'single user','true'dbcc checktable('需要修复的数据表的名称',REPAIR_ALLOW_DATA_LOSS)dbcc checktable('需要修复的数据表的名称',REPAIR_REBUILD)------把’ 需要修复的数据表的名称’更改为执行DBCC CHECKDB时报错的数据表的名称exec sp_dboption @dbname,'single user','false'3. 其他的一些常用的修复命令DBCC DBREINDEX 重建指定数据库中表的一个或多个索引用法:DBCC DBREINDEX (表名,’’) 修复此表所有的索引。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SQL Server 2000常用命令SQLSever 2010-05-25 20:39:08 阅读322 评论0 字号:大中小订阅(1) 数据记录筛选:sql="select * from 数据表where 字段名=字段值order by 字段名[desc]"sql="select * from 数据表where 字段名like '%字段值%' order by 字段名[desc]"sql="select top 10 * from 数据表where 字段名order by 字段名[desc]"sql="select * from 数据表where 字段名in ('值1','值2','值3')"sql="select * from 数据表where 字段名between 值1 and 值2"(2) 更新数据记录:sql="update 数据表set 字段名=字段值where 条件表达式"sql="update 数据表set 字段1=值1,字段2=值2 …… 字段n=值n where 条件表达式" (3) 删除数据记录:sql="delete from 数据表where 条件表达式"sql="delete from 数据表" (将数据表所有记录删除)(4) 添加数据记录:sql="insert into 数据表(字段1,字段2,字段3 …) value s (值1,值2,值3 …)"sql="insert into 目标数据表select * from 源数据表" (把源数据表的记录添加到目标数据表) (5) 数据记录统计函数:AVG(字段名) 得出一个表格栏平均值COUNT(*|字段名) 对数据行数的统计或对某一栏有值的数据行数统计MAX(字段名) 取得一个表格栏最大的值MIN(字段名) 取得一个表格栏最小的值SUM(字段名) 把数据栏的值相加引用以上函数的方法:sql="select sum(字段名) as 别名from 数据表where 条件表达式"set rs=conn.excute(sql)用rs("别名") 获取统的计值,其它函数运用同上。
(5) 数据表的建立和删除:CREATE TABLE 数据表名称(字段1 类型1(长度),字段2 类型2(长度) …… )例:CREATE TABLE tab01(name varchar(50),datetime default now())DROP TABLE 数据表名称(永久性删除一个数据表)4. 记录集对象的方法:rs.movenext 将记录指针从当前的位置向下移一行rs.moveprevious 将记录指针从当前的位置向上移一行rs.movefirst 将记录指针移到数据表第一行rs.movelast 将记录指针移到数据表最后一行rs.absoluteposition=N 将记录指针移到数据表第N行rs.absolutepage=N 将记录指针移到第N页的第一行rs.pagesize=N 设置每页为N条记录2、更改表格ALTER TABLE table_nameADD COLUMN column_name DATATYPE说明:增加一个栏位(没有删除某个栏位的语法。
ALTER TABLE table_nameADD PRIMARY KEY (column_name)说明:更改表得的定义把某个栏位设为主键。
ALTER TABLE table_nameDROP PRIMARY KEY (column_name)说明:把主键的定义删除。
3、建立索引CREATE INDEX index_name ON table_name (column_name)说明:对某个表格的栏位建立索引以增加查询时的速度。
4、删除DROP table_nameDROP index_name二、的资料形态DATATYPEssmallint16 位元的整数。
interger32 位元的整数。
decimal(p,s)p 精确值和s 大小的十进位整数,精确值p是指全部有几个数(digits)大小值,s是指小数点後有几位数。
如果没有特别指定,则系统会设为p=5; s=0 。
float32位元的实数。
double64位元的实数。
char(n)n 长度的字串,n不能超过254。
varchar(n)长度不固定且其最大长度为n 的字串,n不能超过4000。
graphic(n)和char(n) 一样,不过其单位是两个字元double-bytes,n不能超过127。
这个形态是为了支援两个字元长度的字体,例如中文字。
vargraphic(n)可变长度且其最大长度为n 的双字元字串,n不能超过2000。
date包含了年份、月份、日期。
time包含了小时、分钟、秒。
timestamp包含了年、月、日、时、分、秒、千分之一秒。
三、资料操作DML(Data Manipulation Language)资料定义好之後接下来的就是资料的操作。
资料的操作不外乎增加资料(insert)、查询资料(query)、更改资料(update) 、删除资料(delete)四种模式,以下分别介绍他们的语法:1、增加资料:INSERT INTO table_name (column1,column2,...)valueS ( value1,value2, ...)说明:1.若没有指定column 系统则会按表格内的栏位顺序填入资料。
2.栏位的资料形态和所填入的资料必须吻合。
3.table_name 也可以是景观view_name。
INSERT INTO table_name (column1,column2,...)SELECT columnx,columny,... FROM another_table说明:也可以经过一个子查询(subquery)把别的表格的资料填入。
2、查询资料:基本查询SELECT column1,columns2,...FROM table_name说明:把table_name 的特定栏位资料全部列出来SELECT *FROM table_nameWHERE column1 = xxx[AND column2 > yyy] [OR column3 <> zzz]三)交叉连接交叉连接不带WHERE 子句,它返回被连接的两个表所有数据行的笛卡尔积,返回到结果集合中的数据行数等于第一个表中符合查询条件的数据行数乘以第二个表中符合查询条件的数据行数。
例,titles表中有6类图书,而publishers表中有8家出版社,则下列交叉连接检索到的记录数将等于6*8=48行。
SELECT type,pub_nameFROM titles CROSS JOIN publishersORDER BY typeUNION运算符可以将两个或两个以上上SELECT语句的查询结果集合合并成一个结果集合显示,即执行联合查询。
UNION的语法格式为:select_statementUNION [ALL] selectstatement[UNION [ALL] selectstatement][…n]其中selectstatement为待联合的SELECT查询语句。
ALL选项表示将所有行合并到结果集合中。
不指定该项时,被联合查询结果集合中的重复行将只保留一行。
联合查询时,查询结果的列标题为第一个查询语句的列标题。
因此,要定义列标题必须在第一个查询语句中定义。
要对联合查询结果排序时,也必须使用第一查询语句中的列名、列标题或者列序号。
在使用UNION 运算符时,应保证每个联合查询语句的选择列表中有相同数量的表达式,并且每个查询选择表达式应具有相同的数据类型,或是可以自动将它们转换为相同的数据类型。
在自动转换时,对于数值类型,系统将低精度的数据类型转换为高精度的数据类型。
在包括多个查询的UNION语句中,其执行顺序是自左至右,使用括号可以改变这一执行顺序。
例如:查询1 UNION (查询2 UNION 查询3)INSERT语句用户可以用INSERT语句将一行记录插入到指定的一个表中。
例如,要将雇员John Smith的记录插入到本例的表中,可以使用如下语句:INSERT INTO EMPLOYEES valueS('Smith','John','1980-06-10','Los Angles',16,45000);通过这样的INSERT语句,系统将试着将这些值填入到相应的列中。
这些列按照我们创建表时定义的顺序排列。
在本例中,第一个值“Smith”将填到第一个列LAST_NAME中;第二个值“John”将填到第二列FIRST_NAME中……以此类推。
我们说过系统会“试着”将值填入,除了执行规则之外它还要进行类型检查。
如果类型不符(如将一个字符串填入到类型为数字的列中),系统将拒绝这一次操作并返回一个错误信息。
如果SQL拒绝了你所填入的一列值,语句中其他各列的值也不会填入。
这是因为SQL提供对事务的支持。
一次事务将数据库从一种一致性转移到另一种一致性。
如果事务的某一部分失败,则整个事务都会失败,系统将会被恢复(或称之为回退)到此事务之前的状态。
回到原来的INSERT的例子,请注意所有的整形十进制数都不需要用单引号引起来,而字符串和日期类型的值都要用单引号来区别。
为了增加可读性而在数字间插入逗号将会引起错误。
记住,在SQL中逗号是元素的分隔符。
同样要注意输入文字值时要使用单引号。
双引号用来封装限界标识符。
对于日期类型,我们必须使用SQL标准日期格式(yyyy-mm-dd)--查询当前连接的实例名select @@servername--察看任何数据库属性sp_helpdb master--设置单用户模式,同时立即断开所有用户alter database Northwind set single_user with rollback immediate--恢复正常alter database Northwind set multi_user--察看数据库属性sp_helpdb--察看数据库恢复模式select databasepropertyex('Northwind','recovery')--设置自动创建统计alter database Northwind set auto_create_statistics on/off--设置自动更新统计alter database Northwind set auto_update_statistics on/off--查看作业列表select * from msdb..sysjobs--查看作业详细信息exec msdb..sp_help_job @job_name = 'HQCRM-CrmNew-CrmNew_2Dimension-NANJINGCRM-216' --修改作业信息exec msdb..sp_update_job @job_id = 0x4CA27521C9033C48954E7BFC6B965395, @enabled = 1 --察看服务器角色exec sp_helpsrvrolemember--添加服务器角色exec sp_addsrvrolemember 'member_name','sysadmin'--删除服务器角色exec sp_dropsrvrolemember 'member_name','sysadmin'--察看数据库角色exec sp_helprole--添加数据库角色exec sp_addrole 'role_name'--删除数据库角色exec sp_droprole 'role_name'--查看用户信息exec sp_helpuser--注意删除guest帐户use dbnamegoexec sp_dropuser guest--修改对象拥有者exec sp_changeobjectowner 'old_onwer.table_name', 'new_owner'--查看BUILTIN\Administrators帐号exec master..xp_logininfo 'BUILTIN\Administrators', 'members'--修改默认数据库exec sp_defaultdb 'login', 'defaultdb'--创建新的登陆exec sp_addlogin @loginame = 'esProgram',@passwd = 'h1J2P97vfdlK34',@defdb = 'career'--更改登陆数据库访问权限use <dbname>exec sp_grantdbaccess @loginame ='esProgram',@name_in_db = 'esProgram'--把角色db_appuser添加用户帐号中use <dbname>exec sp_addrolemember @rolename = 'db_appuser',@membername = 'esProgram'--预测增长use master/* Procedure for 8.0 server */create proc usp_databasesasset nocount ondeclare @name sysnamedeclare @SQL nvarchar(600)/* Use temporary table to sum up database size w/o using group by */create table #databases (DATABASE_NAME sysname NOT NULL,size int NOT NULL)declare c1 cursor forselect name from master.dbo.sysdatabaseswhere has_dbaccess(name) = 1 -- Only look at databases to which we have accessopen c1fetch c1 into @namewhile @@fetch_status >= 0beginselect @SQL = 'insert into #databasesselect N'''+ @name + ''', sum(size) from '+ QuoteName(@name) + '.dbo.sysfiles'/* Insert row for each database */execute (@SQL)fetch c1 into @nameenddeallocate c1selectDATABASE_NAME,DATABASE_SIZE = size*8,/* Convert from 8192 byte pages to K */RUN_DT=GETDATE()from #databasesorder by 1GOcreate table DatabaseSizeReport(Database_Name Varchar(32),Database_Size int,CreateDt datetime)insert into DatabaseSizeReport exec usp_databasesselect * from DatabaseSizeReport--快捷方式ALT-F1 sp_helpCTRL-1 sp_whoCTRL-2 sp_lock--查看对象空间exec sp_spaceused <db_name>/<table_name>--察看文件是否存在exec xp_fileexist "c:\test.txt"--察看文件详细信息exec master..xp_getfiledetails "c:\test.txt"--查看系统出错日志set nocount on --执行一个查询或者是存储过程是要保证这个是开的。