工作需要,自学数据库,Sql Server 2008 R2 Express已经安装完成。求新手教程,必回。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了工作需要,自学数据库,Sql Server 2008 R2 Express已经安装完成。求新手教程,必回。相关的知识,希望对你有一定的参考价值。

安装教程不要,sql server 2008新特性介绍不要。求务实的,能够教我用数据库的,追加15分。谢谢!

    安装个northwind数据库,因为网上特别是微软官网上数据库教程很多都是用这个做示例。

    推荐一本书《SQL必知必会》,写得很经典

    推荐一个网站http://www.w3school.com.cn/sql/index.asp,这里是标准的sql

    当你把上面的书和网站都弄懂了,继续高级教程《SQL注入天书》《SQL语言艺术》等。

参考技术A 买本书看看吧,SQL Server2008从入门到精通

sql server新旧数据库的表结构差异

问题:
工作过程中,不管是什么项目,伴随着项目不断升级版本,对应的项目数据库业务版本也不断升级,数据库出现新增表、修改表、删除表、新增字段、修改字段、删除字段等变化,如果人工检查,数据库表和字段比较多的话,工作量就非常大。

解决方案:
这里博主为大家分享一个在工作过程中编写的自动检查数据库表结构版本差异的通用脚本,只需要把新旧数据库名称批量替换成实际的名称就可以,支持通过链接服务器跨服务器检查不同服务器的两个数据库表结构差异。

脚本:

技术图片
/*
    使用说明:Old数据库为DB_V1,New数据库为[localhost].DB_V2。根据实际需要批量替换数据库名称
    脚本来源:https://www.cnblogs.com/zhang502219048/p/11028767.html
*/

-- sysobjects插入临时表
select s.name + ‘.‘ + t.name as TableName, t.* into #tempTA 
from DB_V1.sys.tables t
inner join DB_V1.sys.schemas s on s.schema_id = t.schema_id

select s.name + ‘.‘ + t.name as TableName, t.* into #tempTB 
from [localhost].DB_V2.sys.tables t
inner join [localhost].DB_V2.sys.schemas s on s.schema_id = t.schema_id

-- syscolumns插入临时表
select * into #tempCA from DB_V1.dbo.syscolumns 
select * into #tempCB from [localhost].DB_V2.dbo.syscolumns

-- 第一个数据库表和字段 
select b.TableName as 表名, a.name as 字段名, a.length as 长度, c.name as 类型
into #tempA
from #tempCA a
inner join #tempTA b on b.object_id = a.id
inner join systypes c on c.xusertype = a.xusertype
order by b.name 
-- 第二个数据库表和字段 
select b.TableName as 表名, a.name as 字段名, a.length as 长度, c.name as 类型
into #tempB
from #tempCB a
inner join #tempTB b on b.object_id = a.id
inner join systypes c on c.xusertype = a.xusertype
order by b.name

--删掉的字段
select * from    
( 
    select * from #tempA
    except
    select * from #tempB
) a;

--增加的字段
select * from    
( 
    select * from #tempB
    except
    select * from #tempA
) a;

--select * from #tempA
--select * from #tempB

drop table #tempTA, #tempTB, #tempCA, #tempCB, #tempA, #tempB
技术图片

示例旧数据库DB_V1:
技术图片

示例新数据库DB_V2:
技术图片

脚本运行结果:
技术图片

结论:
从上面几个图可以看到,表和字段的差异部分就被自动检测到了。

【转载请注明博文来源:https://www.cnblogs.com/zhang502219048/p/11028767.html

以上是关于工作需要,自学数据库,Sql Server 2008 R2 Express已经安装完成。求新手教程,必回。的主要内容,如果未能解决你的问题,请参考以下文章

sql server实现copy data功能的存储过程(公共代码)

自学SQL

自学SQL

SQL Server 2014 UDF - 精简功能

将 .NET 类型映射到 SQL Server 200 数据类型

sql server