??
/ 设置连接字符串,必须是BSTR型或者_bstr_t类型
//这里选择的驱动是SQLOLEDB.1,如果你选择驱动是SQLNCLI.1则需要下载和安装。SQLOLEDB.1和SQLNCLI.1的区别是SQLOLEDB.1主要是针对SQLServer2000驱动协议比较完善 //而SQLNCLI.1是需要安装sqlncli.msi(SQL Server Native Client 2005)SQL ADO驱动
//数据库身份验证模式为”SQL SERVER 和 windows“而言
? //(1)通过IP和端口来访问,需要在SQLServer配置管理器配置相应的端口(我这里是配置的端口是1433) ? //strConn = "Provider=SQLOLEDB.1;Persist Security Info=False; uid=sa;pwd=sa;Initial Catalog=student;Data Source=192.168.2.200,1433;";
? //(2)通过IP地址和实例来访问,需要安装有该实例 ? //strConn = "Provider=SQLOLEDB.1;Persist Security Info=False; uid=sa;pwd=sa;Initial Catalog=student;Data Source=192.168.1.2mssqlserver2008r;";
//针对身份验证模式为“仅 windows”? (是否允许远程连接、是否在同一个计算机组域里面) : ? //Integrated Security=SSPI 这个表示以当前WINDOWS系统用户身去登录SQL SERVER服务器,如果SQL SERVER服务器不支持这种方式登录时,就会出错。 ? //strConn= "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=false;Initial Catalog=student;Data Source=PCNameSQLEXPRESS;";
//仅针对ODBC的连接方式 ? //strConn="Provider=SQLOLEDB;Server=192.168.1.101;Database=student;uid=sa;pwd=sa;";
//访问access数据库(access 2003及以前的版本) ? //strConn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:student.mdb;"; //访问access数据库(access 2007及以后的版本:试用版office 2010 的AccessDatabaseEngine.exe可能有问题) ? //strConn="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:student.accdb;";
数据库注意事项: 1、数据库无法远程访问 A: (1)数据库是否配置了相应的端口。 (2)防火墙是否阻止数据库进程(安装目录下的SQLServr.exe,sqlbrower.exe)
2、学习参考资料: SQL数据类型和经典SQLSERVER语句大全
3、 本文就将以MySQL数据库为例,介绍如何通过SQL命令行将某个表的所有数据或指定字段的数据,导入到目标表 中。此方法对于SQLServer数据库,也就是T-SQL来说,同样适用 。
类别一、 如果两张张表(导出表和目标表)的字段一致,并且希望插入全部数据,可以用这种方法: INSERT INTO? 目标表? SELECT? * FROM? 来源表 ;
例如,要将 articles 表插入到 newArticles 表中,则可以通过如下SQL语句实现: INSERT INTO? newArticles? SELECT? * FROM? articles ;
类别二、 如果只希望导入指定字段,可以用这种方法: INSERT INTO? 目标表 (字段1,字段2,...)? SELECT?? 字段1,...?? FROM? 来源表 ;
请注意以上两表的字段必须一致,否则会出现数据转换错误。
INSERT INTO TPersonnelChange(
??? UserId,
??? DepId,
??? SubDepId,
??? PostionType,
??? AuthorityId,
??? ChangeDateS,
??? InsertDate,
??? UpdateDate,
??? SakuseiSyaId
)SELECT
??? UserId,
??? DATE_FORMAT(EmployDate,'%Y%m%d'),
??? NOW(),
??? 1
FROM
??? TUserMst
WHERE
??? `Status` = 0
AND QuitFlg = 0
AND UserId > 2?
类别三、 : INSERT INTO? 目标表 (字段1,...)? VALUE(字段值1,字段值2,...)
查询数据插入新表 create TABLE new as SELECT? a.id,b.app_id,a.name,b.score,a.created,a.updated,b.updated_at as hot_update from test1? as a LEFT JOIN test2 as b on a.id=b.app_id where b.app_id!='';
表已经存在选择特定列插入表,表1表2字段要一一对应
insert into test2 (keyword,num,app_id ) select keyword,app_id from test1
一个表的结果更新到另一个表里,两表有关联
updatetest1 as a,test2 as b set a.app_id=b.app_id where a.keyword=b.keyword
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|