如何判断数据库中是不是存在某个数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何判断数据库中是不是存在某个数据相关的知识,希望对你有一定的参考价值。

在SQL Server数据库编程时,常常需要判断一个数据库是否已经存在,如果不存在则创建此数据库。常用的方法有以下三种:

1. select * From master.dbo.sysdatabases where name='test_db'

如果不存在查询结果,则说明name所表示的数据库不存在

2. object_id('test_db')

如果无法获取对象ID(null),则说明此对象不存在;常用
if object_id('test_db') is null
或者
if (select object_id('test_db')) is null

3. db_id('test_db')

如果不能获取数据库ID,则说明name所表示的数据库不存在;实际上此种方法也是在sysdatabases中查找,并返回数据库的ID;常用
if db_id('test_db') is null
或者
if (select db_id('test_db')) is null
参考技术A

判断方法如下

一、Select 字段列表 From 数据表 

例:1、select id,gsmc,add,tel from haf (* 表示数据表中所有字段)   

2、select 单价,数量,单价*数量 as 合计金额 from haf (As 设置字段的别名)

二、Select … from … Where 筛选条件式 

例 筛选条件式:

1、字符串数据: select * from 成绩单 Where 姓名='李明'

2、万用字符:  select * from 成绩单 Where 姓名 like '李%'   select * from 成绩单 Where 姓名 like '%李%'   select * from 成绩单 Where 姓名 like '%李_'  

3、特殊的条件式:1.= / > / < / <> / >= / <= 

2.AND逻辑与   OR逻辑或      NOT逻辑非 

3.Where 字段名称 in(值一,值二) 

4.Where 字段名称 Is Null / Where 字段名称 Is Not Null

参考技术B /// <summary>
/// 执行一条计算查询结果语句,返回查询结果(object)。
/// </summary>
/// <param name="SQLString">计算查询结果语句</param>
/// <returns>查询结果(object)</returns>
public static object GetSingle(string SQLString)

using (SqlConnection connection = new SqlConnection(connectionString))

using (SqlCommand cmd = new SqlCommand(SQLString, connection))

try

connection.Open();
object obj = cmd.ExecuteScalar();
if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value)))

return null;

else

return obj;


catch (System.Data.SqlClient.SqlException e)

connection.Close();
throw e;





/// <summary>
/// 判断是否存在某表
/// </summary>
/// <param name="tableName">表名称</param>
/// <returns>是否存在</returns>
public static bool ColumnExists(string tableName)

string sql = "select count(1) from syscolumns where [id]=object_id('" + tableName + "') ";
object res = GetSingle(sql);
if (res == null)

return false;

return Convert.ToInt32(res) > 0;


connectionString 是数据库链接字符串
直接复制粘贴就可以用
参考技术C $mysql = 'select name from 表名 where name=“test”';
$res = mysql_query($mysql);
if(mysql_num_rows($res)) //查询表中有多少行

echo '<script type="text/javascript">alert(“该用户口已存在”);location.href="链接到你刚才的页面";</script>';

else
mysql_query('insert into 表名 set 字段名=“值”'); 执行添加记录

参考技术D SqlConnection con = new SqlConnection("Data Source=10.168.1.5;Initial Catalog=data;User ID=sa;password=sa;Integrated Security=False");
con.Open();
SqlCommand cmd = new SqlCommand(string.Format("select Count(*) from newtable where a= '0'", s1), con);
if ((int)cmd.ExecuteScalar() > 0)

listBox1.Items.Add(s1 + " 数据已经存在");

else

string sql = "insert into newtable(a,b,c) values('" + s1 + "','" + s2 + "','" + s3 +"')";
cmd.CommandText = sql;
cmd.ExecuteNonQuery();
listBox1.Items.Add(s1 + " 成功添加");

cmd.Dispose();
con.Close();

以上是关于如何判断数据库中是不是存在某个数据的主要内容,如果未能解决你的问题,请参考以下文章

在access数据库中如何判断某个表是不是存在,若存在则删除它

php如何判断一个字段是不是存在

JPA怎么判断一个字段是不是存在?

如何判断一个数据库是不是存在 (SQL Server 2008)

SQL判断数据库是不是存在。

如何判断Dynamic类型的属性是不是存在