-
必须会的SQL语句(四)数据删除和更新
1.删除 1)删除记录 Deletefrom表名whereid='xx' 2)删除所有数据,并回归初始化标识字段。 Truncatetable表名 3)delete与truncate区别 a.truncate是能使种子回到初始值 b.truncate不能加条件 c.truncate不能涉及触发器 d.truncate性能要比delete高得多2.更新 1)基础的update update表名 set[列名]='值' where[列名]='值' 2)和replace一起使用 --19岁以上名字中的'星'特换成'★'...
数据库操作教程 2022-09-23 17:25:51 -
必须会的SQL语句(五)NULL数据处理和类型转换
1.Null数据的处理 1)检索出null值 select*from表wherexxisnull 2)null值替换 select name, isnull(cast(字段asvarchar(20)),'空') from表名 2...
数据库操作教程 2022-09-23 17:25:34 -
必须会的SQL语句(一)创建数据库与删除数据库
1.创建数据库Createdatabase名称onprimary{name='名称',filename='c:xx名称.mdf',size=10mb,--数据库的初始大小filegrowth=1mb,--如果初始大小不够用了,每次增长1mb。maxsize=20mb--数据库的空间上限,填写unlimited表示无限制}logon{name='名称_log',filename="c:xx名称_log.ldf"size=5mb,filegrowth=10%,--增长的方式有两种,一种是按照固定大小增长,一种是按照百分比增长!maxsize=10mb}2.删除数据库只能用drop dropdatabase名称...
数据库操作教程 2022-09-23 17:23:55 -
必须会的SQL语句(三)数据插入
1.规范一些使用插入语句的小规范 1)中文字符串前最好加一个N 2)列名用中括号扩起来 像这样 [列名] 2.常规写法InsertintotableName([column1],[column2])values(N'中文','11ds') 3.多行一条语句插入多行insertinto表名([列1],[列2]) select '值1','值2'unionall --这里呢,union和unionall的区别  ...
数据库操作教程 2022-09-23 17:21:58 -
必须会的SQL语句(八)数据库的完整性约束
实体完整性1.建表时定义主键 Createtable表名 ( Snointidentity(1,1), Snamenvarchar(20), --设置主键 Primarykey(Sno) ) 2...
数据库操作教程 2022-09-23 17:21:26 -
SQLServer2000升级到SQLServer2008性能之需要注意的地方之一
测试sql:复制代码代码如下:SETSTATISTICSIOONSETSTATISTICSTIMEONSELECTCOUNT(1)FROMdbo.tbtextaINNERLOOPJOINdbo.tbtextbONa.id=b.idoption(maxdop1)SETSTATISTICSIOOffSETSTATISTICSTIMEOff表结构:复制代码代码如下:CREATETABLE[dbo].[tbtext]([id][int]IDENTITY(1,1)NOTNULL,[VALUE][int]NULL)ON[PRIMARY]单这句测试,看执行计划根本看不出区别。|--ComputeScalar(DEFINE:([Expr1006]=CONVERT_IMPLICIT(int,[Expr1009],0)))|--StreamAggregate(DEFINE:([Expr1009]=Count(*)))|--NestedLoops(InnerJoin,WHERE:([northwind].[dbo].[tbtext].[id]as[b].[id]=[northwind].[dbo].[tbt...
数据库操作教程 2022-09-23 17:15:01 -
PL/SQLDEVELOPER使用的一些技巧
1,登录后默认自动选中MyObjects默认情况下,PLSQLDeveloper登录后,Brower里会选择Allobjects,如果你登录的用户是dba,要展开tables目录,正常情况都需要Wait几秒钟,而选择MyObjects后响应速率则是以毫秒计算的。Tools菜单-->ObjectBrowerFilters,会打开BrowerFolders的定单窗口,把“MyObjects”设为默认即可...
数据库操作教程 2022-09-23 17:13:11 -
SQLServer复制需要有实际的服务器名称才能连接到服务器
今天在做sqlServer2005的实验的时候碰到的问题,问题描述很清楚,怀疑是我以前给计算机修改了名称而导致的.可以用select@@servername和selectserverproperty('servername')对照一下,两个的结果是否一样,不一样就会出现问题,以下给出解决的SQL脚本复制代码代码如下:ifserverproperty('servername')<>@@servernamebegindeclare@serversysnameset@server=@@servernameexecsp_dropserver@server=@serverset@server=cast(serverproperty('servername')assysname)execsp_addserver@server=@server,@local='LOCAL'end执行之后,重新sql即可解决这个问题...
数据库操作教程 2022-09-23 17:10:31 -
SQLServer数据库索引其索引的小技巧
一、什么是索引减少磁盘I/O和逻辑读次数的最佳方法之一就是使用【索引】索引允许SQLServer在表中查找数据而不需要扫描整个表。1.1、索引的好处:当表没有聚集索引时,成为【堆或堆表】【堆】是一堆未加工的数据,以行标识符作为指向存储位置的指针...
数据库操作教程 2022-09-23 17:10:11 -
SQLServer误区30日谈第9天数据库文件收缩不会影响性能
误区#9:数据库文件收缩不会影响性能错误! 收缩数据库文件唯一不影响性能的情况是文件末尾有剩余空间的情况下,收缩文件指定了TruncateOnly选项。 收缩文件的过程非常影响性能,这个过程需要移动大量数据从而造成大量IO,这个过程会被记录到日志从而造成日志暴涨,相应的,还会占去大量的CPU资源...
数据库操作教程 2022-09-23 17:07:25 -
SQLServer误区30日谈第12天TempDB的文件数和需要和CPU数目保持一致
误区#12:TempDB的文件数和需要和CPU数目保持一致错误 哎,由于上述误区是微软“官方”的建议,并且还有大量博文坚持这个观点,这个误区已经是老生常谈。 但让人困惑的是SQLCAT团队给出的建议就是1:1,但这个建议是源自扩展方面的原理来说,而不是一个通用法则...
数据库操作教程 2022-09-23 17:07:06 -
SQLServer误区30日谈第19天Truncate表的操作不会被记录到日志
误区#19:Truncate表的操作不会被记录到日志错误在用户表中的操作都会被记录到日志。在SQLServer中唯一不会被记录到日志的操作是TempDB中的行版本控制...
数据库操作教程 2022-09-23 17:06:32