【SQL Server 数据库导入导出部分】

sql server下的数据仓库的构建 SQL Server2008/R2 下的数据仓库的构建       本文详细介绍在SQL Server下如何做数据仓库的构建和如何利用数据仓库进行有效的分析,假设读者已经具备相关的理论知识,由于在SQL Server上都是实践过程,因此主要以截图来展示,这样做的好处是读者可直接按照该步骤进行操作,由于之前作者是写在word中的,因此直接截图,好了,话不多说,直接开始。 上面的全部内容是利用数据仓库... 阅读详情



1
、在查询分析器下查询Excel文档
SELECT * FROM
OpenDataSource('Microsoft.Jet.OLEDB.4.0','Data Source="c:/
测试.xls";
User ID=Admin;Password=;Extended properties=Excel 8.0')...Sheet1$

2
、从数据库中导出数据并存到文件中
EXEC master..xp_cmdshell 'bcp CAS2004..HGZ_LIAOJIAN out c:/temp1.xls -c -q -S"." -U"sa" -P""'
EXEC master..xp_cmdshell 'bcp CAS2004..HGZ_LIAOJIAN out c:/temp1.txt -c -q -S"." -U"sa" -P""'

3
、从文件中导入数据到数据库对应表中
EXEC master..xp_cmdshell 'bcp CAS2004..HGZ_LIAOJIAN in c:/temp1.xls -c -q -S"." -U"sa" -P""'
EXEC master..xp_cmdshell 'bcp CAS2004..HGZ_LIAOJIAN in c:/temp1.txt -c -q -S"." -U"sa" -P""

 

 

 

【SQL SERVER 数据库实用SQL语句】

1.
按姓氏笔画排序:
Select * From TableName Order By CustomerName Collate Chinese_PRC_Stroke_ci_as

2.
分页SQL语句
select * from(select (row_number() OVER (ORDER BY tab.ID Desc)) as rownum,tab.* from
表名 As tab) As t where rownum between 起始位置 And 结束位置

3.
获取当前数据库中的所有用户表
select * from sysobjects where xtype='U' and category=0

4.
获取某一个表的所有字段
select name from syscolumns where id=object_id('
表名')

5.
查看与某一个表相关的视图、存储过程、函数
select a.* from sysobjects a, syscomments b where a.id = b.id and b.text like '%
表名%'

6.
查看当前数据库中所有存储过程
select name as
存储过程名称 from sysobjects where xtype='P'

7.
查询用户创建的所有数据库
select * from master..sysdatabases D where sid not in(select sid from master..syslogins where name='sa')
或者
select dbid, name AS DB_NAME from master..sysdatabases where sid <> 0x01

8.
查询某一个表的字段和数据类型
select column_name,data_type from information_schema.columns
where table_name = '
表名'

9.
使用事务
在使用一些对数据库表的临时的SQL语句操作时,可以采用SQL SERVER事务处理,防止对数据操作后发现误操作问题
开始事务
Begin tran
  Insert Into TableName Values(…)
SQL
语句操作不正常,则回滚事务。
回滚事务
Rollback tran
SQL
语句操作正常,则提交事务,数据提交至数据库。
提交事务
Commit tran
10.
按全文匹配方式查询
字段名 LIKE N'%[^a-zA-Z0-9]China[^a-zA-Z0-9]%'
OR
字段名 LIKE N'%[^a-zA-Z0-9]China'
OR
字段名 LIKE N'China[^a-zA-Z0-9]%'
OR
字段名 LIKE N'China

11
.计算执行SQL语句查询时间
declare @d datetime
set @d=getdate()
select * from SYS_ColumnProperties select [
语句执行花费时间(毫秒)]=datediff(ms,@d,getdate())

12
、说明:几个高级查询运算词
A
: UNION 运算符
UNION
运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2)并消去表中任何重复行而派生出一个结果表。当 ALL 随 UNION 一起使用时(即 UNION ALL),不消除重复行。两种情况下,派生表的每一行不是来自 TABLE1 就是来自 TABLE2。
B
: EXCEPT 运算符
EXCEPT
运算符通过包括所有在 TABLE1 中但不在 TABLE2 中的行并消除所有重复行而派生出一个结果表。当 ALL 随 EXCEPT 一起使用时 (EXCEPT ALL),不消除重复行。
C
: INTERSECT 运算符
INTERSECT
运算符通过只包括 TABLE1 和 TABLE2 中都有的行并消除所有重复行而派生出一个结果表。当 ALL 随 INTERSECT 一起使用时 (INTERSECT ALL),不消除重复行。

 

/******* 导出到excel

EXEC master..xp_cmdshell 'bcp SettleDB.dbo.shanghu out c:/temp1.xls -c -q -S"GNETDATA/GNETDATA" -U"sa" -P""'

 

/*********** 导入Excel

SELECT *

FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',

'Data Source="c:/test.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions

 

/*动态文件名

declare @fn varchar(20),@s varchar(1000)

set @fn = 'c:/test.xls'

set @s ='''Microsoft.Jet.OLEDB.4.0'',

''Data Source="'+@fn+'";User ID=Admin;Password=;Extended properties=Excel 5.0'''

set @s = 'SELECT * FROM OpenDataSource ('+@s+')...sheet1$'

exec(@s)

*/

 

SELECT cast(cast(科目编号 as numeric(10,2)) as nvarchar(255))+' ' 转换后的别名

FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',

'Data Source="c:/test.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions

 

/********************** EXCEL导到远程SQL

insert OPENDATASOURCE(

'SQLOLEDB',

'Data Source=远程ip;User ID=sa;Password=密码'

).库名.dbo.表名 (列名1,列名2)

SELECT 列名1,列名2

FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',

'Data Source="c:/test.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions

 

 

/** 导入文本文件

EXEC master..xp_cmdshell 'bcp dbname..tablename in c:/DT.txt -c -Sservername -Usa -Ppassword'

 

/** 导出文本文件

EXEC master..xp_cmdshell 'bcp dbname..tablename out c:/DT.txt -c -Sservername -Usa -Ppassword'

或

EXEC master..xp_cmdshell 'bcp "Select * from dbname..tablename" queryout c:/DT.txt -c -Sservername -Usa -Ppassword'

 

导出到TXT文本,用逗号分开

exec master..xp_cmdshell 'bcp "库名..表名" out "d:/tt.txt" -c -t ,-U sa -P password'

 

 

BULK INSERT 库名..表名

FROM 'c:/test.txt'

WITH (

FIELDTERMINATOR = ';',

ROWTERMINATOR = '/n'

)

 

 

--/* dBase IV文件

select * from

OPENROWSET('MICROSOFT.JET.OLEDB.4.0'

,'dBase IV;HDR=NO;IMEX=2;DATABASE=C:/','select * from [客户资料4.dbf]')

--*/

 

--/* dBase III文件

select * from

OPENROWSET('MICROSOFT.JET.OLEDB.4.0'

,'dBase III;HDR=NO;IMEX=2;DATABASE=C:/','select * from [客户资料3.dbf]')

--*/

 

--/* FoxPro 数据库

select * from openrowset('MSDASQL',

'Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=c:/',

'select * from [aa.DBF]')

--*/

 

/**************导入DBF文件****************/

select * from openrowset('MSDASQL',

'Driver=Microsoft Visual FoxPro Driver;

SourceDB=e:/VFP98/data;

SourceType=DBF',

'select * from customer where country != "USA" order by country')

go

/***************** 导出到DBF ***************/

如果要导出数据到已经生成结构(即现存的)FOXPRO表中,可以直接用下面的SQL语句

 

insert into openrowset('MSDASQL',

'Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=c:/',

'select * from [aa.DBF]')

select * from 表

 

说明:

SourceDB=c:/ 指定foxpro表所在的文件夹

aa.DBF 指定foxpro表的文件名.

 

 

/*************导出到Access********************/

insert into openrowset('Microsoft.Jet.OLEDB.4.0',

'x:/A.mdb';'admin';'',A表) select * from 数据库名..B表

 

/*************导入Access********************/

insert into B表 selet * from openrowset('Microsoft.Jet.OLEDB.4.0',

'x:/A.mdb';'admin';'',A表)

 

文件名为参数

declare @fname varchar(20)

set @fname = 'd:/test.mdb'

exec('SELECT a.* FROM opendatasource(''Microsoft.Jet.OLEDB.4.0'',

'''+@fname+''';''admin'';'''', topics) as a ')

 

SELECT *

FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',

'Data Source="f:/northwind.mdb";Jet OLEDB:Database Password=123;User ID=Admin;Password=;')...产品 '

 

 

 

 

 

 

 

 

1. 分页查询数据
--
查询到行的结果
select * from( 
    select ID,DocClassName,DocClassDesc, ROW_NUMBER() OVER(order by ID) as row from Sys_DocClass 
) a 
where row between 20 and 30

select * from Sys_DocClass

2
、增加异常处理 try ... catch
SET XACT_ABORT ON  --
打开try功能
BEGIN TRY 
    begin tran 
        insert into Sys_DocClass values(...)  --
数据表操作语句
    commit tran --
提交事务
    print 'commited' 
END TRY 
BEGIN CATCH 
    rollback tran      --
回滚事务 
    print 'rolled back' 
END CATCH

3
、通用表达式CTE,可以简化嵌套SQL
--
例:结合通用表达式进行分页
WITH DocClasses AS( 
    select ID,DocClassName,DocClassDesc, ROW_NUMBER() OVER(order by ID) as row from Sys_DocClass 
)
select ID,DocClassName,DocClassDesc from DocClasses where row between 20 and 30

 

 

SQL SERVER 数据库实用SQL语句】 
 
1.按姓氏笔画排序: 
Select * From TableName Order By CustomerName Collate Chinese_PRC_Stroke_ci_as 
 
2.分页SQL语句 
select * from(select (row_number() OVER (ORDER BY tab.ID Desc)) as rownum,tab.* from 表名 As tab) As t where rownum between 起始位置 And 结束位置 
 
3.获取当前数据库中的所有用户表 
select * from sysobjects where xtype='U' and category=0 
 
4.获取某一个表的所有字段 
select name from syscolumns where id=object_id('表名') 
 
5.查看与某一个表相关的视图、存储过程、函数 
select a.* from sysobjects a, syscomments b where a.id = b.id and b.text like '%表名%' 
 
6.查看当前数据库中所有存储过程 
select name as 存储过程名称 from sysobjects where xtype='P' 
 
7.查询用户创建的所有数据库 
select * from master..sysdatabases D where sid not in(select sid from master..syslogins where name='sa') 
或者 
select dbid, name AS DB_NAME from master..sysdatabases where sid <> 0x01 
 
8.查询某一个表的字段和数据类型 
select column_name,data_type from information_schema.columns 
where table_name = '表名' 
 
9.使用事务 
在使用一些对数据库表的临时的SQL语句操作时,可以采用SQL SERVER事务处理,防止对数据操作后发现误操作问题 
开始事务 
Begin tran 
  Insert Into TableName Values(…) 
SQL语句操作不正常,则回滚事务。 
回滚事务 
Rollback tran 
SQL语句操作正常,则提交事务,数据提交至数据库。 
提交事务 
Commit tran 
10. 按全文匹配方式查询 
字段名 LIKE N'%[^a-zA-Z0-9]China[^a-zA-Z0-9]%' 
OR 字段名 LIKE N'%[^a-zA-Z0-9]China' 
OR 字段名 LIKE N'China[^a-zA-Z0-9]%' 
OR 字段名 LIKE N'China 
 
11.计算执行SQL语句查询时间 
declare @d datetime 
set @d=getdate() 
select * from SYS_ColumnProperties select [语句执行花费时间(毫秒)]=datediff(ms,@d,getdate()) 
 
12、说明:几个高级查询运算词 
A: UNION 运算符 
UNION 运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2)并消去表中任何重复行而派生出一个结果表。当 ALL 随 UNION 一起使用时(即 UNION ALL),不消除重复行。两种情况下,派生表的每一行不是来自 TABLE1 就是来自 TABLE2。 
B: EXCEPT 运算符 
EXCEPT 运算符通过包括所有在 TABLE1 中但不在 TABLE2 中的行并消除所有重复行而派生出一个结果表。当 ALL 随 EXCEPT 一起使用时 (EXCEPT ALL),不消除重复行。 
C: INTERSECT 运算符 

INTERSECT 运算符通过只包括 TABLE1 和 TABLE2 中都有的行并消除所有重复行而派生出一个结果表。当 ALL 随 INTERSECT 一起使用时 (INTERSECT ALL),不消除重复行。

SQL Server 数据仓库开发实例 打开“SQL ServerBusiness Intelligence Development Studio”链接:https://pan.baidu.com/s/1rP8ZCSx3BtZ4N4bQRmw98g。通过百度网盘分享的文件:cn_sql_server_2008_r2_enterprise。所用软件:Microsoft SQL Server 2008 R2。实验环境:win 10 ×64。 阅读详情

相关推荐

SQL Server数据库的导入导出功能

将Excel文件数据导入到SQL Server数据库表; 将.txt文件数据导入到SQL Server数据库表; 将Access数据库数据导入到SQL Server数据库表; 将SQL Server数据库表数据导出到Excel文件; 将SQL Server数据库表数据导出到.txt文件; 将SQL Server数据库表数据导出到Access数据库。 1、将Excel文件数据导入到SQL Server数据表 (1) 启动并登录SQL Server数据库 启动相应的 SQL Server服务; 启动Mi..

LZH-z 1682

SQL Server导出和导入可选的数据库表和数据,以sql脚本形式

1. 打开SQL Server Management Studio,在需要导出表的数据库上单击右键 → 任务 → 生成脚本2. 在生成脚本的窗口中单击进入下一步3. 如果只需要导出部分表,则选择第二项,并勾选表;之后点击下一步4. 选择“”,按需修改文件名和保存路径如果同时需要导出表结构和数据,就从右上角的选项中,将要导出到脚本的数据类型,修改为否则,默认为导出“仅架构(Schema only)”5. 之后,连续点击下一步,直到完成。即可在目标路径下找到生成的脚本文件🎉🎉。

Samedimanche的博客 9884

C# 连接sql数据库对 access,excel导入导出操作

 一、SQL SERVER 和ACCESS的数据导入导出常规的数据导入导出:使用DTS向导迁移你的Access数据到SQL Server,你可以使用这些步骤:   ○1在SQL SERVER企业管理器中的Tools(工具)菜单上,选择Data Transformation   ○2Services(数据转换服务),然后选择  czdImport Data

Raymond的程序之路 3127

sql server导入、导出数据表信息

文章详细介绍了如何在SQLServer数据库中导出和导入数据库表,包括选择数据库生成脚本,保存为文本文件,设置脚本类型为架构和数据,以及执行脚本创建数据表的过程。

m0_46236962的博客 619

SQL Server 2005数据库导入导出完整图解教程

SQL Server 2005是微软在数据库领域的重要里程碑版本,首次引入了多项增强功能,特别是在数据导入导出、集成服务(SSIS)和管理工具方面实现了重大突破。其强大的数据迁移能力使其广泛应用于企业级数据整合、系统升级、数据备份与恢复等关键场景。本章将从整体视角出发,简要介绍SQL Server 2005的核心功能模块,重点阐述其在多数据源环境下的导入导出机制。通过理解其在ETL(抽取、转换、加载)流程中的角色,读者将为后续章节中深入掌握SSIS、SSMS操作及数据迁移最佳实践打下坚实基础。

weixin_42591908的博客 1333

comsol移动网格_comsol模拟移动的纳秒脉冲激光烧蚀材料,温度场分布,结果总不理想,求助大佬!!...

本人comsol新手一枚,希望大家多多指点研究课题:纳秒脉冲激光刻蚀材料表面想用comsol模拟刻蚀过程中的温度场分布,脉宽为300ns,重复频率100kHz,光斑移动速度为5000mm/s,光斑直径50um,激光功率10W,材料种类为:有机涂层,属性如下目前,采用的是一个移动的高斯面光源x脉冲函数,脉冲函数我用的是一个周期性方波:周期性拓展后,画出来的脉冲图,不知道为什么在0~1s的区间内只有1...

weixin_33288893的博客 4742

SQLServer数据库导出指定表里所有数据成insert语句

按“高级”按钮,在弹出的“高级脚本编写选项”中下拉下拉条至底部,设置“要编写脚本的数据类型”为“仅限数据”(“仅限数据”是只导出数据为insert语句,如果是导出表结构的话选择“仅限架构”,最终会自动新建一个查询窗口,order表里的所有数据都转换成insert语句。

码农张三 2751

UFS 3.1协议分析(第五章) -- UFS协议栈

ContentsUFS顶层架构应用层UFS命令集UFS 设备管理器UFS任务管理器传输层互连层 UFS顶层架构     UFS基于SCSI SAM架构模型定义了一个完整的协议栈,从上到下依次为应用层、传输层、数据链路层、物理层。UFS使用MIPI联盟的UniPro作为数据链路层和MIPI的M-PHY作为物理层,两者合起来称之为互连层(UFS InterConnect Layer) 应用层     应用层包括UFS命令集、设备管

Frank_sample的专栏 7371

sql server导出某个表的部分数据

select * into newdb from olddb GO

吱 5925

ZYNQ实战:PS端驱动DMA实现高效数据流转与验证

本文详细介绍了在ZYNQ平台上通过PS端驱动DMA实现高效数据流转的实战方法。从ZYNQ的PS与PL数据交互基础出发,深入解析DMA核心价值,包括硬件平台搭建、Vivado配置、PS端软件架构设计及性能优化技巧,帮助开发者提升数据传输效率与系统性能。

weixin_29192141的博客 436

Lora无线温湿度传感器方案

综上所述,Lora无线温湿度传感器以其长距离传输、低功耗、高稳定性、精准测量、无线传输以及广泛的应用场景等特点,在环境监测领域展现出了强大的竞争力和广泛的应用前景。Lora无线温湿度传感器广泛应用于各种需要远程监控和数据采集的场景,如仓储、农业、机房、楼宇、交通、工业、矿产、电力等领域。Lora无线温湿度传感器是一种采用Lora无线通信技术进行数据传输的温湿度监测设备。四、产品参数(以某款工业级Lora温湿度传感器为例)

weixin_46632654的博客 759

SqlServer 导出指定表数据 生成Insert脚本

Haibing的博客 8616

Unity Hololens2开发|(一)环境配置

开发过程中预览和调试应用:可以在电脑上的 Unity 编辑器中以播放模式本地运行应用,并将体验流式传输到 HoloLens2。将来自 HoloLens2 的输入(视线、手势、语音和空间映射)发送到电脑,在其中内容以虚拟沉浸式视图渲染。在HoloLens2设备中,打开Settings面板,依次选择Update & Security > For Developers,打开“Developer Mode”。在开发计算机中打开控制面板,依次选择“更新和安全> 开发者选项”,打开“开发人员模式”;

游戏开发小Y的博客 14万+

SQL Server 数据库导入导出部分

1、在查询分析器下查询Excel文档 SELECT * FROM OpenDataSource('Microsoft.Jet.OLEDB.4.0','Data Source="c:\测试.xls"; User ID=Admin;Password=;Extended properties=Excel 8.0')...Sheet1$ 2、从数据库中导出数据并存到文件中 EXEC master..xp_...

weixin_30438813的博客 173

OCR文字识别基础

ocr文字识别

m0_47405013的博客 1755

一文掌握DrissionPage的详细使用

是一个基于 Python 的网页自动化工具,主要用于网页数据的抓取、自动化操作和测试。它结合了 Selenium 和 Requests 的优点,提供了更简洁、高效的 API,适用于各种网页自动化任务。DrissionPage 是一个功能强大且易于使用的网页自动化工具,适用于各种网页自动化任务。希望本文的 DrissionPage 的基本使用方法和一些高级功能能够帮助到你。

数据知道的博客 1万+

SQL Server数据库重命名、数据导出等若干问题

第一个问题是重命名数据库问题:在企业管理器中是无法直接对数据库重命名的,只能在查询分析器中操作   create proc killspid (@dbname varchar(20))          as          begin          declare     @sql     nvarchar(500),@temp   varchar(1000)      de

samue86的专栏 786

Motoman机器人离线编程——Motocom32开发简介

欢迎关注Jungle的Motoman机器人离线编程专栏系列文章: Motoman机器人离线编程——Motocom32开发简介 Motoman机器人离线编程——Visio Studio环境配置 Motoman机器人离线编程——Motocom32库函数的使用与封装 Motoman机器人离线编程——Motocom32参考文献及注意事项 Motoman机器人离线编程——MotocomES介绍 ...

冯Jungle的个人博客 8713

SQL Server 数据库之导入导出数据

导入数据也是数据库操作中使用频繁的功能,SQLServer数据库的导入和导出向导能将数据复制到提供托管**.ENTFramework**数据访问接口或本机OLEDB访问接口的任何数据源,也能从这些数据源复制数据;用户能访问接口的列表,数据源包括SQLServer、平面文件、MicrosoftOfficeAccess、MicrosoftOfficeExcel;连接到源数据库和目标数据库或文件共享的权限,该权限在中,需要服务器和数据库的登录权限;SELECT权限;权限;...

m0_67401228的博客 1万+

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

SQL Server导入导出

这里已经安装好了SQL Server,也已经创建了数据库和表。现在想导出来给别人使用,所以需要导入导出功能。环境:SQL Server 2012 SP4。

Jack魏 2635

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

SQL Server 修改数据库名称

一、 准备工作 改名时如果有其他用户会话连接该数据库会报错,必须先杀掉那些用户会话或使数据库处于单用户模式下再执行。 查询当前有哪些会话连接到这个数据库 SELECTSPID FROMmaster.dbo.sysprocessesWHEREdbid=DB_ID('Test1'); 如果有,执行KILL命令杀掉 KILL SPID 也可以将数据库设置为单用户模式。在数据库属性 -> “连接”页面 找到“限制访问”选项,选择SIGLE_USER。 命令行 us...

Hehuyi_In的博客 2万+

怎样连接SQL Server Local DB

一、什么是SQL Server Local DB Microsoft SQL Server 2014 ExpressLocalDB是面向程序开发人团的SQL Server Express的执行模式,LocalDB安装将复制启动SQL Server数据库引擎所需要的最少的文件集。安装LocalDB后,开发人员将使用特定连接字符串来启动连接。连接是,将自动创建并启动所需的SQL

cuckoojosh的专栏 9169

SQL server 创建DB Link 详解

链接服务器是 SQL Server 提供的一项功能,允许用户从 SQL Server 实例中访问其他 SQL Server 或非 SQL Server 数据源(如 Oracle、MySQL 等)。通过链接服务器,用户可以执行跨数据库查询,实现数据共享。在本文中,我们将探讨如何为 SQL Server 创建一个 DB Link,并提供相应的代码示例。

Ruishine的博客 2870
上一篇: postgresql 表分区的测试用例
下一篇: PostgreSQL系统配置优化
xto
xto
博客等级 码龄24年 4粉丝 30原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值