web开发中,我们经常需要将一个表的数据插入到另外一个表,有时还需要指定导入字段,设置只需要导入目标表中不存在的记录,虽然这些都可以在程序中拆分成简单sql来实现,但是用一个sql的话,会节省大量代码。下面我以mysql数据库为例分情况一一说明:
两张表:insertTest和insertTest2,前者中有测试数据
复制代码
代码如下:
create
table
insertTest(id
int(4),name
varchar(12));
insert
into
insertTest
values(100,‘liudehua');
insert
into
insertTest
values(101,‘zhourunfa');
insert
into
insertTest
values(102,‘zhouhuajian');
1如果2张表的字段一致,并且希望插入全部数据,可以用这种方法:
INSERT
INTO
目标表
SELECT
FROM
来源表;
复制代码
代码如下:
insert
into
insertTest
select
from
insertTest2;
2如果只希望导入指定字段,可以用这种方法:
复制代码
代码如下:
INSERT
INTO
目标表
(字段1,
字段2,
…)
SELECT
字段1,
字段2,
…
FROM
来源表;
注意字段的顺序必须一致。
复制代码
代码如下:
insert
into
insertTest2(id)
select
id
from
insertTest2;
3如果您需要只导入目标表中不存在的记录,可以使用这种方法:
复制代码
代码如下:
INSERT
INTO
目标表
(字段1,
字段2,
…)
SELECT
字段1,
字段2,
…
FROM
来源表
WHERE
not
exists
(select
from
目标表
where
目标表比较字段
=
来源表比较字段);
1>插入多条记录:
复制代码
代码如下:
insert
into
insertTest2
(id,name)
select
id,name
from
insertTest
where
not
exists
(select
from
insertTest2
where
insertTest2id=insertTestid);
2>插入一条记录:
复制代码
代码如下:
insert
into
insertTest
(id,
name)
SELECT
100,
‘liudehua'
FROM
dual
WHERE
not
exists
(select
from
insertTest
where
insertTestid
=
100);
使用
dual
作表名,select
语句后面直接跟上要插入的字段的值。
插入记录这样写即可:
PreparedStatement pstm = null;
String saveSql = "insert into user values(null,,)";
pstm = connprepareStatement(saveSql);
pstmsetString(1,'test');
pstmsetString(2,'test');
pstmexecute();
有问题欢迎提问,,谢谢!
select from 表名 where id=
(select max(id) from 表名)
因为id号是逐增的,所以最大的id号即会最近插入的信息。
也可以用order by了再取数,但那样效能太低
方法步骤:
1、首先我们打开heidisql客户端,我们新建一个连接,如果连接的是sqlserver的数据库,要选择数据库的类型,端口号一般是1433如果是mysql的数据库,一般端口是3306,记住,别混了,输入用户名跟密码就能链接了。
2、打开数据库后,我们选择一个表来 *** 作,一般表都是在左侧的,我们依次展开,从数据库到表打开想要插入数据的表。
3、在这里选择数据打开,我这里用的是heidisql汉化版的,如果是英文版的应该是data才对。
4、在这个功能栏里,我们可以看见一个加号和一个减号,加号代表的是插入一条数据,二减号正好相反。
5、点击插入数据,卡你的鼠标在那个位置,它会在这个位置的下面一条记录插入一条记录。然后我们往里面输入数据,注意数据的类型,如果数据是time时间格式的,要按时间格式填写。
6、插入成功后会提示成功了,下面的记录也会跟着变色。
7、这里也可以用命令来插入,选择查询。
8、在这个命令的窗口,我们输入sql语句,然后点击上面的蓝色按钮,然后就会执行命令,执行成功会提示插入数据成功。
9、再返回表这边看,可以看到数据插入成功了。
以上就是关于MySQL 关于表复制 insert into 语法的详细介绍全部的内容,包括:MySQL 关于表复制 insert into 语法的详细介绍、drjava连接mysql数据库,往数据库最后一条记录后插入新记录怎么写、mysql insert一条记录后怎样返回创建记录的主键id,last等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)