sql判斷數據是否存在
㈠ sql server2005 如何判斷表中是否有數據
selectCOUNT(*)from表名where條件語句
如果只是判斷記錄是否存在,而不需要獲取實際表中的記錄數
還有一種推薦做法:
ifexists(select*from表名where條件語句)select'1'elseselect'0'
通過返回值去判斷是否存在。
第二種方法效率高些,但使用profiler工具分析
通過where條件過濾出100多條數據時。第一種方法的rtion明顯比第二種方法的低很多
也就是說,第一種效率高些。
㈡ SQL如何判斷一行數據是否存在
if exists(select 1 from WinBid where ProjectID = @ProjectID)
-- update...
else
-- insert...
或者
update ...
if @@rowcount <> 1
insert...
㈢ sql語句,怎樣判斷一個欄位中是否存在某一個值
可以參考下面的描述:
INSTR(C1,C2,I,J)
在一個字元串中搜索指定的字元,返回發現指定的字元的位置;
C1 被搜索的字元串
C2 希望搜索的字元串
I 搜索的開始位置,默認為1
J 出現的位置,默認為1
SQL> select instr(』oracle traning』,』ra』,1,2) instring from al;
INSTRING
---------
9
(3)sql判斷數據是否存在擴展閱讀:
基本語句
MAX(欄位名) 取得一個表格欄最大的值
MIN(欄位名) 取得一個表格欄最小的值
SUM(欄位名) 把數據欄的值相加
求和:select sum(field1) as sumvalue from table1
平均:select avg(field1) as avgvalue from table1
㈣ SQL 插入之前怎麼判斷資料庫已經存在
首先要說明的是,可以用一條語句實現你的要求,但是這條語句的使用效率非常低,如果數據量大,運行就非常的慢。具體語法如下:
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,而且此標志位要做索引。
㈤ sql 查詢 資料庫中數據是否存在
select
count(*)
from
table1
where
....
然後用一個int接受,看這個int是否大於0,大於0就通過,否則不通過
㈥ PL/SQL怎麼判斷數據是否存在在資料庫中
pl/sql也是一種程序語言,叫做過程化sql語言(proceral
language/sql)。pl/sql是oracle資料庫對sql語句的擴展。在普通sql語句的使用上增加了編程語言的特點,所以pl/sql就是把數據操作和查詢語句組織在pl/sql代碼的過程性單元中,通過邏輯判斷、循環等操作實現復雜的功能或者計算的程序語言。
-----
網路
pl/sql創建資料庫命令跟一般的sql,mysql所用的命令相差無幾,如果你真的是要pl/sql的命令,你就去搜索oracle的命令(曾經有想過用命令創建oracle資料庫的人都會知道,用命令創建是多麼愚蠢的事,我當時也是)
********************************************************
--
ms-sql
--
創建資料庫
create
database
mydb
--
mydb是資料庫名
on
{
--
資料庫
name
=
'mydb',
--
資料庫主文件名(邏輯名稱)
filename
=
'e:\mydb.mdf',
--
資料庫主文件名(磁碟文件名稱)
size
=
2mb,
--
大小(整數)
filegrowth
=
'5%'
--
每次增長的幅度
}
log
on
{
--
日誌
name
=
'mydb',
--
資料庫主文件名(邏輯名稱)
filename
=
'e:\mydb.ldf',
--
資料庫主文件名(磁碟文件名稱)
size
=
2mb,
--
大小(整數)
filegrowth
=
'5%'
--
每次增長的幅度
}
--
切換/進入資料庫
use
mydb;
--
創建表
create
table
mytable
(
id
int
identity(1,1)
primary
key,
姓名
varchar(8)
not
null
)
**************************************************************
--
mysql
--
創建資料庫
create
database
mydb;
--
mydb是資料庫名
--
切換/進入資料庫
use
mydb;
--
創建表
create
table
mytable
--
mytable是表名
(
id
int
unsigned
auto_increment,
姓名
varchar(8)
not
null,
性別
enum('男','女')
default
'男',
primary
key(id)
);
㈦ sql語句 判斷表數據是否存在另一個表中
工具/材料:Management Studio。
1、首先在桌面上,點擊「Management Studio」圖標。
㈧ 如何判斷SQL中某個資料庫是否存在
在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
㈨ 怎麼判斷sql資料庫是否存在,存在刪除
判斷資料庫,如果存在則刪除:
IF (EXISTS(SELECT * FROM master.dbo.sysdatabases WHERE dbid=db_ID('dbname')))
DROP DATABASE dbname
如果提示:刪除資料庫時提示資料庫正在被使用,無法刪除(Cannot drop database databasename because it is currently in use),使用:
IF (EXISTS(SELECT * FROM master.dbo.sysdatabases WHERE dbid=db_ID('dbname')))
BEGIN
USE master
ALTER DATABASE dbname
SET single_user
WITH ROLLBACK IMMEDIATE
DROP DATABASE dbname
(9)sql判斷數據是否存在擴展閱讀
判斷儲存過程,如果存在則刪除
IF (EXISTS(SELECT * FROM sysobjects WHERE name='procerename' AND type='P'))
DROP PROCEDURE procerename
判斷觸發器,如果存在則刪除
IF (EXISTS(SELECT * FROM sysobjects WHERE id=object_id(N'[dbo].[triggername]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1))
DROP TRIGGER triggername
判斷用戶函數是否存在,如果存在則刪除
此處type有兩種: 'TF'- Table-Value Function 表值函數 'FN'- Scalar-Value Function 標量值函數
IF (EXISTS(SELECT * FROM sysobjects WHERE id=object_id(N'[dbo].[userfunction]') AND (type='FN' OR type='TF')))
DROP FUNCTION userfunction