主页 > 办公自动化 > excel批量更新数据(sql批量更新数据)

excel批量更新数据(sql批量更新数据)

2022-12-06 10:21来源:m.sf1369.com作者:宇宇

1. sql批量更新数据

将EXCEL表导入SQL表

医院在正式使用软件之前,需要将药品、收费项目等进行集中录入。这是一件基础工作,工作量大。如果能够先将药品、收费项目输入到EXCEL表中,再直接导入我们的软件,这样可以加快录入速度。

从EXCEL中导入数据到SQL中,操作步骤如下:

准备阶段(主要是为药品或者项目生成六位数的字母编码。):

首行,需要在EXCEL中增加一列,为药品生成编码。软件默认的编码格式为六位字母。1、人工录入完成的EXCEL表样式:

请将第一行中的编码、名称、处方单位等中文改成对应的拼音字母:

编码(bm)、药品名称(mc)、处方单位(dw)、整量单位(kxdw)、换算系数(xs)、规格(ggxh)、零售价(lsj)、药品分类(zxfl)

这时,编码(bm)列为空,在灵图医院软件中,药品的编码格式为六位字母,如AAAABA、AAAABB等,但如何能够按顺序生成这样的编码呢?操作步骤如下:

依次点工具-宏-visaul basic 编辑器,新弹出窗口如下:

在左边的对象上,右键,选择“导入文件…”,在文件选择路径中,找到医院软件目录中的bm.bas文件,确定。

这时,在“模块”下方将增加“自动编码”模块,

关掉本窗口,返回到EXCEL窗口

在表的A2单元格中输入编码:AAAABA

选中A3单元格,在上面的公式条中输入=GETNEXTBM(A2),回车确认,则A3单元格中的值自动生成为:AAAABB

选中A3单元格,往下拉,所有的编码将自动生成。

二、将EXCEL表导入SQL表

1、依次打开SQL的企业管理器-数据库-表,如图:

2、将光标放在数据库(如:lingtu)上,单击右键,选择所有任务-导入数据。弹开如下窗口:

3、按下一步,在弹开的窗口中选择正确的数据源。(注意:数据源选择为Microsoft Excel 97-2000)

点“下一步”,弹开目的文件夹窗口:

6、按下一步,选择用一条查询来指定需要传输的数据:

7、点:下一步,点查询生成器命令,弹开如下窗口:

8、选择左边的yp$,点向右的箭头,选中所需要还原的列。如图:

9、点下一步,不需要选择排序,继续下一步,直至出现下面的界面:

10、按下一步,这时出现如下界面:

注意:目的默认为“结果”,需要选择为“yp”表,表示这个EXCEL表还原到yp表。

11、点“下一步”,完成还原。

由于不能粘贴图片,相信你能够完成!加油!

2. oracle批量更新sql

  1、Oracle11g默认对空表不分配segment,故使用exp导出Oracle11g数据库时,空表不会导出。

  2、设置deferred_segment_creation 参数为FALSE后,无论是空表还是非空表,都分配segment。

  在sqlplus中,执行如下命令:

  SQL>alter system set deferred_segment_creation=false;

  查看:

  SQL>show parameter deferred_segment_creation;

  该值设置后只对后面新增的表产生作用,对之前建立的空表不起作用。

  3、可以使用手工为空表分配Extent的方式,来解决导出之前建立的空表的问题。说明如下:

  3.1 使用ALLOCATE EXTENT的说明

  使用ALLOCATE EXTENT可以为数据库对象分配Extent。其语法如下:

  -----------

  ALLOCATE EXTENT { SIZE integer [K | M] | DATAFILE 'filename' | INSTANCE integer }

  -----------

  可以针对数据表、索引、物化视图等手工分配Extent。

  ALLOCATE EXTENT使用样例:

  ALLOCATE EXTENT

  ALLOCATE EXTENT(SIZE integer [K | M])

  ALLOCATE EXTENT(DATAFILE 'filename')

  ALLOCATE EXTENT(INSTANCE integer)

  ALLOCATE EXTENT(SIZE integer [K | M] DATAFILE 'filename')

  ALLOCATE EXTENT(SIZE integer [K | M] INSTANCE integer)

  针对数据表操作的完整语法如下:

  -----------

  ALTER TABLE [schema.]table_name ALLOCATE EXTENT [({ SIZE integer [K | M] | DATAFILE 'filename' | INSTANCE integer})]

  -----------

  故,需要构建如下样子简单的SQL命令:

  -----------

  alter table aTabelName allocate extent

  -----------

  3.2 构建对空表分配空间的SQL命令,

  查询当前用户下的所有空表(一个用户最好对应一个默认表空间)。命令如下:

  -----------

  SQL>select table_name from user_tables where NUM_ROWS=0;

  -----------

  根据上述查询,可以构建针对空表分配空间的命令语句,如下:

  -----------

  SQL>Select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0

  -----------

  批量输出上述生成的SQL语句,建立C:\createsql.sql,其内容如下:

  -----------

  set heading off;

  set echo off;

  set feedback off;

  set termout on;

  spool C:\allocate.sql;

  Select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0;

  spool off;

  -----------

  执行C:\createsql.sql,命令如下:

  -----------

  SQL>@ C:\createsql.sql;

  -----------

  执行完毕后,得到C:\allocate.sql文件。

  打开该文件会看到,已经得到对所有空表分配空间的命令SQL语句。

  3.4 执行SQL命令,对空表分配空间:

  执行C:\allocate.sql,命令如下:

  -----------

  SQL>@ C:\allocate.sql;

  -----------

  执行完毕,表已更改。

  3.4 此时执行exp命令,即可把包括空表在内的所有表,正常导出。

  另外:Oracle11g中,对密码是大小写敏感的,即密码中的字母是区分大小写的。

  在Oracle10g中及以前,密码中的字母大小写无所谓。

3. 一条sql实现批量更新数据

有啊,比如when和then语句就可以实现批量更新语句

UPDATE table_own SET

cloumn_own= CASE id

WHEN 1 THEN 'a'

WHEN 2 THEN 'b'

WHEN 3 THEN 'c'

END

WHERE id IN (1,2,3);

这个批量更新语句的意思就是说,更新cloumn_own字段,如果id=1 则cloumn_own=a,如果id=2 则cloumn_own=b,如果id=3 则cloumn_own=c

记住,其实end 后面的where语句是不可必需的,但最好是带上

如果不加where条件,会使整个表的数据更新,不满足条件的对应的值会设置成默认值(导致你执行的前面n-1次都是无效,保留的是第n次)

带上where条件的话,就不会出现这种情况了

4. sql 批量更新

要使用Access2003以上的版本,比如将表table1中的content字段里的AA全部改成BB.操作如下:打开数据库后,查询--->在设计视图中创建查询,然后关闭弹出的窗口,点左上角工具栏的SQL输入:update table1 set content=replace(content,'AA','BB')最后点工具栏中的惊叹号来执行命令SQL语句说明:update [表名] set [字段名]=replace([字段名],'AA','BB')

5. sql批量更新数据怎么用

什么叫批量更新一列记录? 是要一次性更新多条记录么,如果是这样的话只能逐条去些UPDATE语句。

不过可以把需要更新的所有数据全部存到excel表格里,然后用CONCATENATE函数去写SQL语句

6. sqlserver批量更新数据

以MySql为例:

现在需求是把sex为 ‘1’ 的数据的headpicture改为‘1.png’,sex为‘0’的数据的headpicture改为‘0.png’。

修改语句:

update t_user set t_user.headpicture= REPLACE (headpicture,'3','1.png') where t_user.sex='1';

这种方法适用于原headpicture字段值不为空的情况下。我的原数据是空,用这种方法还要先给headpicture赋值。

't_user'是表名,'headpicture'是要修改的字段名,replace(修改后的字段名,'被修改的内容','修改后的内容'),where后可以设置一些修改的前提条件。

总感觉上述方法比较笨,不应该这么复杂的,于是就找到了一个可以直接修改,无视空值的方法是:

update t_user set headpicture ='0.png' where sex ='0';

7. sql批量更新字段

如果字段类型是字符型update 表名 set work_date='20170530' where work_date='20170524'表名自行替换

8. sql自动更新数据

使用update更新修改数据库数据,更改的结果集是多条数据则为批量修改。语法格式如:update表格set列=更改值where筛选条件例:updatetableseta=1--将table中所以a列的值改为1updatetableseta=1whereb=2--将table中列b=2的记录中a列的值改为1

9. sql批量更新数据怎么效率最高啊

使用update 更新修改数据库数据,更改的结果集是多条数据则为批量修改。

语法格式如: update 表格 set 列 = 更改值 where 筛选条件 例: update table set a=1 --将table 中所以a列的值改为 1 update table set a=1 where b=2 --将table 中列b=2的记录中a列的值改为 1

相关推荐

企业办公软件都有哪些?

办公自动化 2024-01-14

数控车床自动编程用什么软件?

办公自动化 2024-01-12

写字间物业管理方案

办公自动化 2023-12-09

自动化的好处和坏处

办公自动化 2023-12-05

单片机有什么特征?

办公自动化 2023-11-27

excel2007教程|excel2007教程下载

办公自动化 2023-11-22