如何判断数据库中是不是存在某个数据
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数据库中如何判断某个表是不是存在,若存在则删除它