SQL精华语句:从Excel到远程SQL的数据操作
需积分: 10 109 浏览量
更新于2024-09-15
收藏 101KB PDF 举报
"经典SQL语句大全"
在数据库管理和数据处理领域,SQL(Structured Query Language)是不可或缺的语言。本资源提供了经典SQL语句的集合,包括从Excel文件中读取数据、将数据导入到远程SQL服务器以及转换数据类型等实用技巧。
1. 从Excel文件读取数据:
SQL中的`OpenDataSource`函数允许我们直接从Excel文件中查询数据。例如,使用`Microsoft.Jet.OLEDB.4.0`驱动连接到Excel文件,如下所示:
```sql
SELECT * FROM OpenDataSource('Microsoft.Jet.OLEDB.4.0', 'DataSource="c:\test.xls";UserID=Admin;Password=;Extendedproperties=Excel5.0')xactions
```
这个查询会返回Excel文件中名为"xactions"的工作表的所有数据。
2. 动态文件名读取:
在某些情况下,文件名可能是动态的。可以声明变量存储文件名,然后构建SQL字符串并使用`EXEC`执行:
```sql
declare @fn varchar(20), @s varchar(1000)
@fn = 'c:\test.xls'
@s = '''Microsoft.Jet.OLEDB.4.0'',''DataSource="'+@fn+'";UserID=Admin;Password=;Extendedproperties=Excel5.0'''
@s = 'SELECT * FROM OpenDataSource('+@s+')sheet1$'
exec(@s)
```
这段代码展示了如何处理动态文件名,以便在每次运行时读取不同的Excel文件。
3. 数据类型转换:
在处理Excel数据时,可能需要将数据转换为SQL兼容的数据类型。例如,将科目编号从字符串转换为数字:
```sql
SELECT cast(cast(科目编号 as numeric(10,2)) as nvarchar(255)) + '转换后别名'
FROM OpenDataSource('Microsoft.Jet.OLEDB.4.0', 'DataSource="c:\test.xls";UserID=Admin;Password=;Extendedproperties=Excel5.0') xactions
```
这里将科目编号转换为`numeric(10,2)`,然后再次转换为`nvarchar(255)`,并添加了一个字符串后缀。
4. 导入Excel数据到远程SQL服务器:
要将Excel数据导入远程SQL服务器,可以使用`OPENDATASOURCE`配合`INSERT INTO`语句:
```sql
insert OPENDATASOURCE(
'SQLOLEDB',
'DataSource=远程ip;UserID=sa;Password=密码'
).库名.dbo.表名(列名1, 列名2)
SELECT 列名1, 列名2
FROM OpenDataSource('Microsoft.Jet.OLEDB.4.0',
'DataSource="c:\test.xls";UserID=Admin;Password=;Extendedproperties=Excel5.0') xactions
```
这个操作将Excel工作表的数据插入到远程SQL Server的指定表中。
5. 导入文本文件:
使用系统存储过程`xp_cmdshell`和`bcp`工具可以将文本文件导入SQL Server。例如:
```sql
EXEC master..xp_cmdshell 'bcp dbname..tablename in c:\DT.txt -S服务器名 -U用户名 -P密码 -c -t,'
```
这个命令将从指定路径的文本文件中导入数据到SQL Server的表中,其中 `-t,` 指定了字段分隔符。
以上SQL语句展示了在实际工作中处理Excel数据和文本文件的一些常见技巧,对于数据迁移和分析非常有用。了解和掌握这些技巧能够提升数据处理的效率和灵活性。
269 浏览量
2013-09-03 上传
192 浏览量
242 浏览量
145 浏览量
199 浏览量
195 浏览量
150 浏览量
helizhi1990
- 粉丝: 0
- 资源: 6
最新资源
- jhu-front-end:用于提交Coursera课程作业的仓库
- 《用应用程序模拟键盘和鼠标按键》配套VC源代码
- autoimpute:插补方法的Python包
- 绿色培训课程网页模板
- apache-tomcat-9.0.36.tar.gz
- 模仿微信选取图片和裁剪的功能
- midimonitor:Midi Arduino项目
- dsp:具有交互模式的音频处理程序
- bean:Rutgers CS Labs中用于多媒体显示的Raspberry Pi集群
- Forrester CoLab-crx插件
- 创意信息服务网页模板
- 局部特征检测子--ppt
- libbsdl:我的实验库,用于读取BSDL(边界扫描定义库)
- AnimeFox:观看动漫的Android应用程序
- 设计系统:a设计系统的基础
- Android 开发辅助工具