CREATE DEFINER=`root`@`localhost` PROCEDURE `NewProcedure`()
BEGIN
DECLARE i INT,x varchar(20)
SET i=1
SET x='abc'
WHILE i<201 DO
INSERT INTO users(id,password) VALUES (x+concat(i),x+concat(i))
SET i = i + 1
END WHILE
END
你测试下看行不。
MSSQL中下面这个可行,我机器上只有MSSQL和Oracle
declare @num int,@text varchar(15)
set @text='abc'
set @num=1
while @num<201
begin
insert into users(id,password) values(@text+STR(@num),@text+str(@num))
set @num=@num+1
end
不同数据库之间略有不同,以几大主流数据库(oracle,sqlserver,mysql)为例。
oracle(以插入三条为例),结尾分号不可省略,否则会报错。
insert into test values (1,'张三')insert into test values (2,'李四')
insert into test values (3,'王五')
sqlserver(以插入三条为例),语法同oracle,但结尾分号可有可无。
mysql(以插入三条为例),语法同前两者,结尾分号不可省,但还有其他方法,代码如下:
insert into test values (1,'张三'),(2,'李四'),(3,'王五') 你可以使用 INSERT INTO 语句来为表中插入新记录。例如,假设你有一个名为 "users" 的表,其中包含两个列 "name" 和 "email"。你可以使用以下 INSERT INTO 语句来为该表插入三条记录:
INSERT INTO users (name, email)
VALUES ('John', 'john@example.com'),
('Jane', 'jane@example.com'),
('Bob', 'bob@example.com')
这将在 "users" 表中插入三条记录,分别对应三个用户的名字和电子邮件地址。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)