insert命令,insert多条数据
大家好,感谢邀请,今天来为大家分享一下insert命令的问题,以及和insert多条数据的一些困惑,大家要是还不太明白的话,也没有关系,因为接下来将为大家分享,希望可以帮助到大家,解决大家的问题,下面就开始吧!
求vfp中insert命令的详细用法
VFP INSERT– SQL命令
在表尾追加一个包含指定字段值的记录。
INSERT INTO dbf_name [(fname1 [, fname2,...])]
VALUES(eExpression1 [, eExpression2,...])
或者
INSERT INTO dbf_name FROM ARRAY ArrayName| FROM MEMVAR
参数
INSERT INTO dbf_name
指定要追加记录的表名。dbf_name中可以包含路径,也可以是一个名称表达式。
如果指定的表没有打开,则 Visual FoxPro先在一个新工作区中以独占方式打开该表,然后再把新记录追加到表中。此时并未选定这个新工作区,选定的仍然是当前工作区。
如果所指定的表是打开的,INSERT命令就把新记录追加到这个表中。如果表不是在当前工作区打开的,则追加记录后表所在的工作区仍然不是选定工作区,选定的仍然是当前工作区。
在命令执行期间,当前工作区改变为要插入新记录的工作区。换句话说,在执行 insert命令时,是在与要插入记录所在的表的工作区中,而不管在发出命令前的当前工作区是哪一工作区。
[(fname1 [, fname2 [,...]])]
指定新记录的字段名,insert– sql命令将向这些字段中插入字段值。
VALUES(eExpression1 [, eExpression2 [,...]])
新插入记录的字段值。如果省略了字段名,那么必须按照表结构定义字段的顺序来指定字段值。
如果 eExpression是一个字段名,它必须包括表别名。
FROM ARRAY ArrayName
指定一个数组,数组中的数据将被插入到新记录中。从第一个数组元素开始,数组中的每个元素的内容依次插入到记录的对应字段中。第一个数组元素的内容插入到新记录的第一个字段,第二个元素的内容插入到第二个字段,…依次类推。
在包括 FROM ARRAY子句时任何字段默认值被忽略。
FROM MEMVAR
把内存变量的内容插入到与它同名的字段中。如果某一字段不存在同名的内存变量,则该字段为空。
备注
新记录中包含了 VALUE子句列出的值,或包含指定的数组或内存变量中的值。插入新记录后,记录指针指向新记录。
示例
下面的例子打开 employee表并添加一条记录。
USE employee
INSERT INTO employee(emp_no, fname, lname, officeno);
VALUES(3022,"John","Smith", 2101)
下面示例打开 testdata数据库中的 customer表。用 scatter命令把当前记录的内容赋给变量,并把表的结构复制到名为 cust2的新表中。用 INSERT- SQL插入一个新记录到 cust2表,用 BROWSE来显示新记录。
CLOSE DATABASES
CLEAR
OPEN DATABASE(HOME(2)+'Data\testdata')
USE Customer&&打开 customer表
* Scatter当前记录到内存变量
SCATTER MEMVAR
*复制当前表结构到示例表
COPY STRUCTURE TO cust2
*从内存变量插入记录
INSERT INTO cust2 FROM MEMVAR
SELECT CUST2
BROWSE
*关闭并删除示例表
USE
DELETE FILE cust2.dbf
insert键的功能
Insert键功能为插入、覆盖。在文档中,有两种输入方式,一种是插入式输入,另一种是覆盖式输入,INSERT键可用于切换这两种输入方式。通常默认状态为插入,插入时不会影响后面的字。若将Insert键设置为覆盖,可覆盖掉光标后的内容,再按下Insert键便可还原为插入。
演示机型:华为MateBook X系统版本:win10 Insert键功能为插入、覆盖。在文档中,有两种输入方式,一种是插入式输入,另一种是覆盖式输入,INSERT键可用于切换这两种输入方式。通常默认状态为插入,插入时不会影响后面的字。若将Insert键设置为覆盖,可覆盖掉光标后的内容,再按下Insert键便可还原为插入。
键盘是用于操作计算机设备运行的一种指令和数据输入装置,也指经过系统安排操作一台机器或设备的一组功能键。键盘也是组成键盘乐器的一部分,也可以指使用键盘的乐器,如钢琴、数位钢琴或电子琴等,键盘有助于练习打字。
键盘是最常用也是最主要的输入设备,通过键盘可以将英文字母、数字、标点符号等输入到计算机中,从而向计算机发出命令、输入数据等。还有一些带有各种快捷键的键盘。随着时间的推移,渐渐的市场上也出现独立的具有各种快捷功能的产品单独出售,并带有专用的驱动和设定软件,在兼容机上也能实现个性化的操作。
怎样在sql中用insert语句往表中插入多行
如果数据很多的话建议可以用别的方法特别是数据量比较多的时候
ORACLE有一个SQLLODER功能
1.生成百万级的sql,保存SQL文件为getobject.sql
select a.owner||',"'||a.object_name||'",'||a.object_id||','||to_char(a.created,'yyyy-mm-dd hh24:mi:ss')||','||a.status
from dba_objects a,(select rownum from dual connect by rownum<= 20);
2.sql数据转换成数据文件,保存脚本为call.sql
set echo off
set term off
set trimout on
set trimspool on
set pagesize 0
set feedback off
set heading off
spool c:\getobject.csv
@c:\getobject.sql
set spool off
set heading on
set feedback on
set trimspool off
set trimout off
set term on
set echo on
注释:
set colsep'';//-域输出分隔符
set echo off;//显示start启动的脚本中的每个sql命令,缺省为on
set echo on//设置运行命令是是否显示语句
set feedback on;//设置显示“已选择XX行”
set feedback off;//回显本次sql命令处理的记录条数,缺省为on
set heading off;//输出域标题,缺省为on
set pagesize 0;//输出每页行数,缺省为24,为了避免分页,可设定为0。
set linesize 80;//输出一行字符个数,缺省为80
set numwidth 12;//输出number类型域长度,缺省为10
set termout off;//显示脚本中的命令的执行结果,缺省为on
set trimout on;//去除标准输出每行的拖尾空格,缺省为off
set trimspool on;//去除重定向(spool)输出每行的拖尾空格,缺省为off
set serveroutput on;//设置允许显示输出类似dbms_output
set timing on;//设置显示“已用时间:XXXX”
set autotrace on-;//设置允许对执行的sql进行分析
set verify off//可以关闭和打开提示确认信息old 1和new 1的显示.
3.运行call.sql生成数据文件
sqlplus hxadmin/secret as sysdba;
@c:\call.sql
4.初始化环境,创建导入表OBjects
create table OBJECTS
(
OWNER VARCHAR2(50),
OBJECT_NAME VARCHAR2(50),
OBJECT_ID NUMBER,
STATUS VARCHAR2(10),
CREATED DATE
)
5.生成导入控制文件,保存控制文件为ldr_object.ctl
LOAD DATA
INFILE getobject.csv
TRUNCATE INTO TABLE OBJECTS
FIELDS TERMINATED BY"," OPTIONALLY ENCLOSED BY'"' TRAILING NULLCOLS
(OWNER,
OBJECT_NAME,
OBJECT_ID,
CREATED date'yyyy-mm-dd hh24:mi:ss',
STATUS)
6.执行sqlldr命令
C:> sqlldr hxadmin/secret control= ldr_object.ctl direct= true
7.查看ldr_object.log日志文件
这个例子是我自己做的一个100W行的数据插入也只要10几秒。希望你能用到。
好了,本文到此结束,如果可以帮助到大家,还望关注本站哦!