Ⅰ 求sql怎么一次用insert 添加多条数据
可以一次加入多条记录。
在SQL
SERVER里边,多个INSERT
语句之间,用分号(;)或者空格,隔开,这样数据库就认为你是在进行多条SQL语句的插入操作。就可以插入多条了。
Ⅱ SQL的INSERT怎么可以一次插入多项数据
使用 INSERT 添加行
INSERT 语句可给表添加一个或多个新行。INSERT 语句在简单的情况下有如下形式:
INSERT [INTO] table_or_view [(column_list)] data_values
此语句将使 data_values 作为一行或者多行插入已命名的表或视图中。column_list 是由逗号分隔的列名列表,用来指定为其提供数据的列。如果没有指定 column_list,表或者视图中的所有列都将接收数据。
如果 column_list 没有为表或视图中的所有列命名,将在列表中没有命名的任何列中插入一个 NULL 值(或者在默认情况下为这些列定义的默认值)。在列的列表中没有指定的所有列都必须允许 null 值或者指定的默认值。
由于 Microsoft® SQL Server™ 为以下类型的列生成值,INSERT 语句将不为这些类型的列指定值:
具有 IDENTITY 属性的列,该属性为列生成值。
有默认值的列,该列用 NEWID 函数生成一个唯一的 GUID 值。
计算列。
这些是虚拟列,被定义为 CREATE TABLE 语句中从另外一列或多列计算的表达式,例如:
CREATE TABLE TestTable
(ColA INT PRIMARY KEY,
ColB INT NOT NULL,
ColC AS (ColA + ColB) * 2)
所提供的数据值必须与列的列表匹配。数据值的数目必须与列数相同,每个数据值的数据类型、精度和小数位数也必须与相应的列匹配。有两种方法指定数据值:
用 VALUES 子句为一行指定数据值:
INSERT INTO MyTable (PriKey, Description)
VALUES (123, 'A description of part 123.')
用 SELECT 子查询为一行或多行指定数据值。
INSERT INTO MyTable (PriKey, Description)
SELECT ForeignKey, Description
FROM SomeView
Ⅲ 怎样用SQL插入多项数据
方法1、如果数据不是很多,可以写多条sql语句。insert Employee values ('011112','罗林','1973-5-3',1,'解放路100号',210002,4055663,NULL,5) ;
insert Employee values ('000001','王林','1956-1-23',1,'中山路100-2号',210003,3355668,null,2) ;
insert Employee values ('010008','五融化','1966-3-28',0,'北京东路',210001,3321321,null,1) ;
insert Employee values ('020010','王相溶','1972-12-9',1,'四牌楼10-10-108',210006,3792361,null,1);
方法2、如果数据比较多,可以先把数据保存到文本中,写一个程序来分析他,然后自动生成sql语句入库。
方法3、可以把数据保存为数据库支持的格式,然后用数据库自身提供的工具来导入。
Ⅳ plsql怎么往表里插入多条数据
1、采用insert into values 语句插入一条,写很多条语句即可多条数据,这种主要针对于离散值以及一些基础信息的录入,如:insert into test(xh,mc) values('123','测试');
如果插入的数据有规律,可利用for、loop循环插入,主要用于批量生成测试数据
begin
for i in 1 .. 100 loop
insert into test(xh,mc) values(i||'','测试');
end loop;
end ;。
2、采用insert into selct from 语句来一次性插入一个集合,这种主要依据于要插入的数据源已经存储于数据库对象中,或者利用al虚表来构造数据,经过加工后写入一个集合。
insert into test (xh,mx) select '123','测试' from al;
3、采用plsql等工具、或者oracle的imp、impdp命令来导入,这种主要用数据库与数据库之间的大批量数据导入,导入的数据格式为plsql的pde、oracle的dmp等。dmp文件可使用
table_exists_action参数控制导入动作:replace替换原表,truncate清除原表数据再导入,append增量导入数据,当然impdp数据泵的导入要依赖于directory路径。
impdp 用户名/密码 mpfile=123.dmp logfile=123.log directory=imp_dir tables=test table_exists_action=append
4、使用excel文件直接拷贝。这种主要用于要写入的数据已是excel文件或者行列分明的其它格式文件,每一列的值和表结构相对应,可直接打开表的行级锁,把数据拷贝进入。
打开行级锁方法:
select t.*,rowid from 表名 t where 1=2;
select * from 表名 where 1=2 for update;
直接把excel数据拷贝到表里
Ⅳ 如何使用一条SQL语句,插入多条记录
无可能 除非写存储过程 做一个循环 这个 你要想一下 你用的应该是关系型数据库吧 那么关系型数据库就必须要求表里面有主键约束以保证每条记录不会重复 当然也有些表是没主键的 这样的设计我觉得不能纳入讨论范围 然后"一个查询语句插入多条记录" 这个命题得出一个推论 就是你不能设变量 就算可以设变量 但是只有一条语句 变量还是不能赋不同的值 那么得出你插入的多条数据都是重复的 这就违反了主键约束 也违反了第一范式的要求了。。。我觉得三大范式 你可以不用太苛刻的遵守 但是第一范式我认为是底线了 因为如果连第一范式都不遵守的话 那么就已经颠覆了关系型数据库的数学模型了。。。
其实这个问题我曾经也考虑过 因此看些书 结合平时的工作 最后就是按照上面这样说服了自己。。。。
Ⅵ sql数据库中怎么插入多个表中的数据
你是要用SQL语句插入数据吗?如果是的话你就用这个试下
create table MyDB
(
ID int primary key identity(1,1),
Name nvarchar(50) not null,
Salary int not null,
Age int not null
)
insert into MyDB(Name,salary,age) values('小明',5000,20)
insert into MyDB(Name,salary,age) values('王二虎',3580,22)
insert into MyDB(Name,salary,age) values('王中出',4122,19)
insert into MyDB(Name,salary,age) values('方为',5122,28)
select name as 姓名,salary as 工资,age as 年龄 from mydb
建表,插入,查询语句都有。同时执行分段执行都可以。。
insert是插入数据,select是查询数据。
create table 是建表语句!
Ⅶ SQL数据库批量添加数据
1、创建测试表,create table test_batch(id number, v_date date);