文章分类 - Sql Server
摘要:死锁:读取一个表的时候加的是 S锁(共享锁)往表写数据或者是修改、删除数据:X锁数据库中死锁出现以及解决about死锁:读取一个数据的时候,加的是S锁(共享锁) 只允许读,不允许其他人进行修改 往表写数据或修改,删除一个数据的时候,加的是X锁(排他锁)由数据库自动加 当X锁锁定的时候,其他锁必须等.必须等到X锁运行完了之后,释放.才能由S锁之类的来运行select * from dbo.Articel_Words with(nolock)当数据在写入 修改 删除的时候,会给数据库中的数据,添加上一个X锁(排他)这个排他锁在释放之前,数据不能被其他人读取访问.也就是说S锁想加上去,加不上.必..
阅读全文
摘要:前言昨天有个同事在客户的服务器上面弄数据库,不小心执行了一条 sql 语句1 TRUNCATE TABLE xxx碉堡了吧,数据全没了 - - ,然后就是在网上拼命的搜索关于数据恢复的软件,搞了一下午还是回不来了。需求来了后面老大就让我写一个作业每天备份一次数据库,且只需要备份一些重要的表。如何实现作业肯定不是难点,难点是怎么把需要的表的数据拿出来存放到新的数据库中。我首先就想到了sql中的导出数据功能,结果是可行的,可问题来了那个是使用工具导出的,用sql语句咋写了,反正我是不会,有谁会的告诉一下哈。后面在百度谷歌上找啊找啊,找到了个bcp1 EXEC 数据库名..xp_cmdshell &
阅读全文
摘要:【SQL定义】SQL中, NULL 与空格, 零, 都不相同. 是指为未定义或是不可用的.构成因素:造成某一列成为NULL 的因素可能是:(1),值不存在;(2), 值未知;(3), 列对表不可用.它与普通的值最大的异同是:相同点:1:统统属于值范畴.数字1是一个值,字符串'aaa'同样是一个值,同理 null也是一个值.2:都是合法的值,普通的数字,字符可以存在于表中字段,null也可以,而且是有意义的.不同点:先创建测试表: 1 USE [myTestDB] 2 GO 3 /****** 对象: Table [dbo].[testNull] 脚本日期: 10/11/2008
阅读全文
摘要:drop table #tempcitys select * into #tempcitys from hy_citys上面的语句第一次运行的时候就肯定出错了,但第二次就不会。因为select * into #tempcitys from hy_citys自动创建了临时表#tempcitys ,第一次临时表不存在,drop table自然就出错了。刚开始没反应过来,select * into是会自动创建临时表的。所以比较可靠的做法,还是先判断临时表是否存在,然后再drop table if exists (select * from tempdb.dbo.sysobjects where i.
阅读全文
摘要:1,where 1=1我们先来看看这个语句的结果:select * from table where 1=1,其中where 1=1,由于1=1永远是成立的,返回TRUE,条件为真;所以,这条语句,就相当于select * from table,返回查询表中的所有数据。使用 where 1=1 的好处1 string MySqlStr=”select * from table where 1=1 ”;2 3 if(Age.Text.Lenght>0) { MySqlStr=MySqlStr+“and Age=“+“'Age.Text'“; }4 5 if(Addr...
阅读全文
摘要:用sql语句查询出表结构,在结果就能看到数据库所有表的结构,这个时候只要全选,然后右击出来属性框,选择将结果另存为,这个时候您只要选择导出CSV,然后新建一个Excel表格,在菜单栏选择数据,再选择自文本,后面的大家可以自己的需求自行处理了。SQL Server脚本:SELECT 表名 = Case When A.colorder=1 Then D.name Else '' End, 表说明 = Case When A.colorder=1 Then isnull(F.value,'') Else '' End, 字段序号 = A.colorde
阅读全文