首先要说明的是,可以用一条语句实现你的要求,但是这条语句的使用效率非常低,如果数据量大,运行就非常的慢。具体语法如下:
insert into B_table
(f1,f2,f3,D)
select F1,F2,F3,C from A_table where C not in (select D from b_table);
此句实现的就是A中C列不在B中D列的数据都写入B中,但效率低。
如果可能,建议在A中增加一个标志位,标志是否已经写入过B,而且此标志位要做索引。
if exists (select from sysdatabases where name = '数据库名')
--drop database [数据库名]
select count(name) from 表 where name='阿飞'
if(count>=1)//当count大于等于1,那么就说明已经存在阿飞了
{
//这里也就不用写啥代码了
}
else
{
insert into 表(name) values('阿飞');
}
select count(name) from masterdbosysdatabases where name='数据库名'
select count(name) from sysobjects where name='表名'
在代码中去接受到count,查出来的值,如果count>0 就说明表或数据已经存在
sql方面的写法:
select
count()
from
订单表
where
订单号
='你传进来的经单号'
java代码中返回这个count
if(count
>=
1)
说明订单已存在!!!!
--希望能帮助到你!
1直接对数据库表进行 *** 作,如查询 *** 作,数据库表不存在则会抛出异常。如果收到异常则可以进行后续的建表 *** 作了。
2读取数据库中表名列表,看表是否在其中,代码如下:
//java获取数据库中所有表名,判断某个表是否在数据库中存在
connection = DriverManagergetConnection(mySqlDbUrl, "", ""); DatabaseMetaData meta = (DatabaseMetaData)connectiongetMetaData(); ResultSet rs = metagetTables(null, null, "table", null);//table为表名 if(rsnext()){ Systemerrprintln(true); }else{ Systemerrprintln(false); } rsclose(); connectionclose();
以上就是关于SQL 插入之前怎么判断数据库已经存在全部的内容,包括:SQL 插入之前怎么判断数据库已经存在、delphi 检查sql数据库是否已存在、mysql 数据库插入之前判断数据是否存在等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)