当前位置: 首页 > article >正文

sql-server【bcp工具】

目录

1.查看bcp是否可用

2.bcp 命令的基本语法

3.数据导出

4.数据导入


bcp(Bulk Copy Program)是 SQL Server 提供的一个命令行工具,用于在 SQL Server 实例与用户指定格式的数据文件之间批量复制表或视图数据。bcp 工具非常适合进行大量数据的导入导出操作,因为它可以绕过 SQL Server 的解析器和查询优化器,直接将数据写入或读取到物理文件中,从而提高数据传输效率。

1.查看bcp是否可用

如果bcp工具已经安装并且在PATH环境变量中设置了正确的路径,它会显示bcp可执行文件的完整路径。

where bcp   (Windows)
which bcp   (Linux/Unix)

2.bcp 命令的基本语法

bcp {dbtable | query} {in | out | queryout | format} datafile
    [-c|-n|-w|-N|-f format_file] 
    [-e err_file] 
    [-F first_row]
    [-L last_row]
    [-b batch_size]
    [-t field_term] 
    [-r row_term] 
    [-i input_file] 
    [-o output_file] 
    [-a packet_size]
    [-S server_name[\instance_name]]
    [-U user_name]
    [-P password]
    [-T]
    [-v version]
    [-R regional_options]
    [-k]
    [-E]
    [-V (60|65|70|80|90|100|110|120)]
    [-q]
    [-C code_page_specifier]
    [-collation collation_name]

主要参数说明

  • {dbtable | query}:指定数据库中的表名或者一个SQL查询。
  • {in | out | queryout | format}:指定操作类型。
    • in:从数据文件向表中导入数据。
    • out:从表中导出数据到数据文件。
    • queryout:执行SQL查询并将结果输出到数据文件。
    • format:生成或使用格式文件来定义数据格式。
  • datafile:指定数据文件的路径。
  • -c:以字符形式存储所有列。
  • -n:以本机格式存储所有列。
  • -w:以Unicode字符形式存储所有列。
  • -N:以本机格式存储所有数值型列,并以字符形式存储其他列。
  • -f format_file:指定一个格式文件,该文件描述了如何解释数据文件中的数据。
  • -e err_file:指定错误日志文件。
  • -F first_row:指定要开始处理的第一行。
  • -L last_row:指定要处理的最后一行。
  • -b batch_size:指定每次提交给服务器的行数。
  • -t field_term:指定字段之间的分隔符,默认为制表符 (\t)。
  • -r row_term:指定行之间的分隔符,默认为换行符 (\n)。
  • -i input_file:指定输入文件,包含用于导入的SQL语句。
  • -o output_file:指定输出文件,用于存放命令执行后的消息。
  • -a packet_size:指定网络数据包大小。
  • -S server_name[\instance_name]:指定服务器实例。
  • -U user_name 和 -P password:指定登录凭据。
  • -T:使用可信连接(Windows身份验证)。
  • -v version:指定SQL Server版本。
  • -R regional_options:设置区域选项。
  • -k:保留空格。
  • -E:使用代码页转换。
  • -V (60|65|70|80|90|100|110|120):指定兼容性级别。
  • -q:启用引用标识符。
  • -C code_page_specifier:指定数据文件使用的代码页。
  • -collation collation_name:指定排序规则。

3.数据导出

bcp db_task.dbo.task_info out C:\data.csv -T -c -t, -S localhost

bcp db_task.dbo.task_info out C:\datac.csv -T -c -t! -S localhost
 
bcp db_task.dbo.task_info out C:\datac.csv -U sa -P 20t@?_23 -c -t! -S 10.18.168.200
 
-T 参数表示使用信任连接(Windows身份验证)
-c 表示字符模式(适用于非Unicode字符数据)
-t 后代表分隔符,分隔符最好是特殊符号,不要与数据库中属性值有重复
-S 指定服务器名称及实例名
out 和 in 分别指示是导出还是导入操作
-U 用户名 -P 密码

导出示例: 

4.数据导入

bcp db_task.dbo.task_info in C:\data.csv -T -c -t, -S localhost -b 2000
 
bcp db_task.dbo.task_info in C:\datac.csv -T -c -t! -S localhost -b 2000

-b 2000 指定了每批导入2000行数据后提交一次事务。

bcp 工具非常强大,适用于需要高效处理大量数据的情况。通过合理配置参数,你可以灵活地控制数据的导入导出过程。 


http://www.kler.cn/news/335513.html

相关文章:

  • 20.1 分析pull模型在k8s中的应用,对比push模型
  • redis+mysql数据一致性+缓存穿透解决方案
  • Python知识点:如何使用SpaCy进行文本预处理与分析
  • Python知识点:如何使用Multiprocessing进行并行任务管理
  • Java | Leetcode Java题解之第457题环形数组是否存在循环
  • Golang | Leetcode Golang题解之第455题分发饼干
  • L1415 【哈工大_操作系统】CPU调度策略一个实际的schedule函数
  • [Offsec Lab] ICMP Monitorr-RCE+hping3权限提升
  • Kotlin真·全平台——Kotlin Compose Multiplatform Mobile(kotlin跨平台方案、KMP、KMM)
  • 4款专业电脑数据恢复软件,帮你保障数据安全。
  • CUDA与TensorRT学习四:模型部署基础知识、模型部署的几大误区、模型量化、模型剪枝、层融合
  • Oracle RAC中停止has、crs、cluster的区别
  • WooCommerce与wordpress是什么关系
  • 遥感影像-实例分割数据集:iSAID 从切图到YOLO格式数据集制作详细介绍
  • 字段临时缓存包装器
  • Qt/C++开源控件 自定义雷达控件
  • 计算机取证
  • win用户数据保存路径更改
  • 银河麒麟桌面操作系统修改默认Shell为Bash
  • linux下sudo执行的程序会有一个额外的进程的问题