-
sqlserver中批量插入与更新两种解决方案分享(存储过程)
1.游标方式复制代码代码如下:DECLARE@DataNVARCHAR(max)SET@Data='1,tanw,2,keenboy'--Id,NameDECLARE@dataItemNVARCHAR(100)DECLAREdata_cursorCURSORFOR(SELECT*FROMsplit(@Data,';'))OPENdata_cursorFETCHNEXTFROMdata_cursorINTO@dataItemWHILE@@FETCH_STATUS=0BEGINDECLARE@IdINTDECLARE@NameNVARCHAR(50)DECLAREdataItem_cursorCURSORFOR(SELECT*FROMsplit(@dataItem,','))OPENdataItem_cursorFETCHNEXTFROMdataItem_cursorINTO@IdFETCHNEXTFROMdataItem_cursorINTO@NameCLOSEdataItem_cursorDEALLOCATEdataItem_cursor/*在这里做逻辑处理,插入或更新操作...
数据库操作教程 2022-09-23 17:16:11 -
SQLServer批量插入数据的两种方法
运行下面的脚本,建立测试数据库和表值参数。复制代码代码如下:--CreateDataBasecreatedatabaseBulkTestDB;gouseBulkTestDB;go--CreateTableCreatetableBulkTestTable(Idintprimarykey,UserNamenvarchar(32),Pwdvarchar(16))go--CreateTableValuedCREATETYPEBulkUdtASTABLE(Idint,UserNamenvarchar(32),Pwdvarchar(16))下面我们使用最简单的Insert语句来插入100万条数据,代码如下:复制代码代码如下:Stopwatchsw=newStopwatch();SqlConnectionsqlConn=newSqlConnection(ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString);//连接数据库SqlCommandsqlComm=newSqlCommand();sqlComm.CommandT...
数据库操作教程 2022-09-23 16:57:58 -
从两种SQL表连接写法来了解过去
例如:一个二表连接的SQL,有两种写法:(1)selectA.c1,A.c2,B.c1,B.c2fromtable1A,table2BwhereA.id=B.id(2)selectA.c1,A.c2,B.c1,B.c2fromtable1Ajointable2BonA.id=B.id哪种写法好呢?现在提倡用哪一种?你喜欢用哪一种?复制代码代码如下:select*froma,bwherea.id=b.idselect*fromainnerjoinbona.id=b.id---这两个哪个好?其中11楼的回答最为深入。其实这个问题还是有一定的历史原因的,不管你习惯什么样的写法只要知道来龙去脉就不会再被细枝末节来迷惑了...
数据库操作教程 2022-09-23 16:55:27 -
selectinto和insertintoselect两种表复制语句
第一句:SELECT*INTO[ToTable]FROM[FromTable]第二句:INSERTINTO[ToTable]([fild_One],[fild_Two])SELECT[fild_One],8FROM[FromTable]以上两句都是将[FromTable]的数据插入到[ToTable],但两句又有区别的:第一句(SELECTINTOFROM)要求目标表[ToTable]不存在,因为在插入时会自动创建。第二句(INSERTINTOSELECTFROM)要求目标表[ToTable]存在,由于目标表已经存在,所以我们除了插入源表[FromTable]的字段外,还可以插入常量,如例中的:8...
数据库操作教程 2022-09-23 16:55:15 -
sqlserver分页的两种写法分别介绍
第一种是最传统的写法,用存储过程中的变量作为分页的乘数复制代码代码如下:[c-sharp]viewplaincopyprint?createprocp_paged1@pageSizeint,@currentPageintasselecttop(@pageSize)*fromstudentwhereidnotin(selecttop(@pageSize*(@currentPage-1))idfromstudent)goexecp_paged12,3createprocp_paged1@pageSizeint,@currentPageintasselecttop(@pageSize)*fromstudentwhereidnotin(selecttop(@pageSize*(@currentPage-1))idfromstudent)goexecp_paged12,3--SQLServer2005以后的分页语句复制代码代码如下:[c-sharp]viewplaincopyprint?createprocp_paged2@pageStartint,@pageEndintasselect*fro...
数据库操作教程 2022-09-23 16:49:08 -
SQLSERVER中得到执行计划的两种方式
得到执行计划的方式有两种:1、一种是在指令的前面打开一些开关,让执行计划信息打在结果集里,这种方法比较适合在一个测试环境里对单个语句调优。这些开关最常用的有复制代码代码如下:SETSHOWPLAN_ALLONSETSHOWPLAN_ALLON--(是不是reuse了一个执行计划,SQSERVERL有没有觉得缺少索引),只能在XML的输出里看到SETSTATISTICSPROFILEON还有如果使用SSMS的话,可以用快捷键:Ctrl+L小写L他会执行你的语句并显示执行计划,但是不会返回结果集 2、另一种方法是使用SQLTrace里的事件跟踪来跟踪语句的执行计划...
数据库操作教程 2022-09-23 16:48:00 -
把excel表格里的数据导入sql数据库的两种方法
本来最近在研究微信公众平台的,老大临时交我个任务,把excel表格里的数据导入sql数据库,我想这soeasy嘛。没想都在上面消磨了两天...把情况介绍下:在数据库中有如下这样结构的表(A表)我只取关键的及列里面还有很多数据...
数据库操作教程 2022-09-23 16:46:12 -
介绍备份和还原MySQL数据的两种方法
使用mysqldump进行备份和还原使用mysqldump进行备份mysqladminstop-slave-uroot-pmysqldump--all-databases>fulldb.dumpmysqladminstart-slave-uroot-ptar-czf/tmp/dbdump.tar.gz./fulldb.dump./mysql-relay-log.info我们除了要备份了整个数据库的dump以外,还需要备份relay-log.info文件(上例为mysql-relay-log.info),该文件包含类似如下信息:/var/lib/mysql/mysql-relay-bin.000002720mysql-bin.0000023968红色高亮部分,指明了当前MySQL主服务器上二进制日志的执行状态。这个数据在还原从服务器的时候至关重要...
数据库操作教程 2022-09-23 16:45:00 -
只有两种机型华为Mate50正面图曝光
近日,有爆料人放出了华为Mate 50相关图片,从其曝光的图片来看华为Mate 50采用两种正面屏幕的方案,分别为:中间挖空屏和双打孔方案,其中双打孔方案的屏幕外观与荣耀Magic 4 Pro有些相似。华为Mate 50正面图片曝光目前从曝光信息来看,华为Mate 50采6.81英寸双曲面2K分辨率屏幕,屏幕分辨率为460PPI,拥有LTPO 120Hz高刷和360Hz采样率,最高支持1000尼特亮度...
手机互联 2022-07-18 16:03:15 -
荣耀X20SE真机曝光:居中单孔屏两种光感设计
距离荣耀50系列发布还不到2周,荣耀又一款新机要来了。据数码博主爆料,荣耀X20 SE的真机图流出,该手机采用窄边框、居中单孔屏,背面有两种光感设计...
手机互联 2021-06-28 08:54:01 -
iQOO新机再曝光将提供极夜黑、冰峰白两种配色
iQOO 官方已宣布将于5月24日发布 iQOO Neo5活力版,今日放出了该机外观和部分新特性。据称, iQOO Neo5活力版拥有两种活力新配色:极夜黑、冰峰白,并公布了真机图...
手机互联 2021-05-18 18:17:51 -
渲染图显示索尼新一代WF-1000XM4降噪豆有两种不同的配色
昨天我们看到了一些索尼WF-1000XM4的照片,今天我们得到了质量更好的渲染图,由Roland Quandt提供的两款不同颜色的耳塞及其充电盒。 相比前一代,WF-1000XM4耳塞迎来了全面重新设计,看起来比目前的XM3型号更紧凑...
智能设备 2021-05-13 09:52:11