㈠ sql語句問題 如何查詢出此表是否存在,如表名:tableName
SQL學習之查詢技巧 查詢表是否存在的兩種方法
方法一 判斷系統對象是否存在
DECLARE
@DbTableFileName VARCHAR(100)
SET @DbTableFileName = 'tx'
IF objectproperty(object_id(@DbTableFileName),'IsUserTable') IS NOT NULL
PRINT 'EXISTS '
ELSE
PRINT 'NOT EXISTS '
IF object_id(@DbTableFileName) IS NOT NULL
PRINT 'EXISTS '
ELSE
PRINT 'NOT EXISTS '
IF EXISTS (SELECT Object_id(@DbTableFileName))
PRINT 'EXISTS '
ELSE
PRINT 'NOT EXISTS '
方法二 通過查詢系統表
DECLARE
@DbTableFileName VARCHAR(100)
SET @DbTableFileName = 'tx'
IF EXISTS (SELECT 1
FROM sysobjects
WHERE name = @DbTableFileName
AND TYPE = 'u')
PRINT 'EXISTS '
ELSE
PRINT 'NOT EXISTS '
方法一更安全,
㈡ sql server 如何查詢某張表是否存在
select * from 表名。查詢分析器會告訴你這個表在不在的
㈢ 怎樣用SQL語句查詢一個資料庫中的所有表
查詢一個資料庫中的所有表sql語句是show tables;
顯示所有資料庫的命令是:show databases;要查看某個資料庫先要進入資料庫使用user <資料庫名>命令;進入資料庫之後才能查詢資料庫中有哪些表。使用以下命令即可查出所有表:
show tables;
(3)如何查找sql表存在擴展閱讀
mysql資料庫的基本sql操作命令介紹:
1、顯示當前資料庫伺服器中的資料庫列表:mysql> SHOW DATABASES;
2、建立資料庫:mysql> CREATE DATABASE 庫名;
3、建立數據表:mysql> USE 庫名;mysql> CREATE TABLE 表名 (欄位名 VARCHAR(20), 字
名 CHAR(1));
4、刪除資料庫:mysql> DROP DATABASE 庫名;
5、刪除數據表:mysql> DROP TABLE 表名;
6、將表中記錄清空:mysql> DELETE FROM 表名;
7、往表中插入記錄:mysql> INSERT INTO 表名 VALUES ("hyq","M");
8、更新表中數據:mysql-> UPDATE 表名 SET 欄位名1='a',欄位名2='b' WHERE 欄位名3='c';
9、用文本方式將數據裝入數據表中:mysql> load data local infile "d:/mysql.txt" into table 表名;
10、導入.sql文件命令:mysql> USE 資料庫名;mysql> source d:/mysql.sql;
㈣ 如何查詢SQLserver中某個表是否存在
在sql資料庫中有一個sysobjects表,記錄當前所有的表名可以用Query(SQL語句)SELECT * FROM sysobjectsWHERE '表名' = Name或用Table打開,用Locate找一下
㈤ sql 判斷一個表是否存在
用戶表在當前資料庫的系統表中,可使用以下語句進行查找:
select Name,ID from sysobjects where xtype='U'
若是將xtype='U'換成xtype='V'就可以查出來所有視圖
xtype參數大概有以下種類:
C = CHECK 約束
D = 默認值或 DEFAULT 約束
F = FOREIGN KEY 約束
FN = 標量函數
IF = 內嵌表函數
K = PRIMARY KEY 或 UNIQUE 約束
L = 日誌
P = 存儲過程
R = 規則
RF = 復制篩選存儲過程
S = 系統表
TF = 表函數
TR = 觸發器
U = 用戶表
V = 視圖
X = 擴展存儲過程
㈥ Sql如何查詢表
select xxx from yyy where zzz
xxx可以是*代表所有欄位,也可以寫具體欄位或者包含欄位、函數的表達式
yyy為表名,有些復雜查詢可以多個表組合查詢
zzz為條件,用於匹配或過濾,可以使用邏輯判斷符組合
㈦ 怎樣用SQL語句查詢一個資料庫中的所有表
1、打開Microsoft SQL Server 2012,選中需要查詢所有表的資料庫。
㈧ sql語句怎樣判斷表是否存在
IF EXISTS(SELECT name FROM [sysobjects] WHERE name = '表名')
PRINT '該表存在'
ELSE
PRINT '該表不存在'。
㈨ SQL中,如何查詢存在一個表而不在另一個表中的數據記錄
首先,在SQL中(以SQL Server為例),查詢存在一個表而不在另一個表中的數據記錄的方法有很多,介紹其中4種:
1、方法一(僅適用單個欄位):使用 not in ,比較容易理解,缺點是效率低
如:select A.ID from A where A.ID not in (select ID from B);
2、方法二(適用多個欄位匹配):使用 left join...on... , "B.ID isnull" 表示左連接之後在B.ID 欄位為 null的記錄。
如:select A.ID from A left join B on A.ID=B.ID where B.ID is null ;
3、方法三(適用多個欄位匹配)
如:select * from B where (select count(1) as num from A where A.ID = B.ID) = 0;
4、方法四(適用多個欄位匹配)
如:select * from A where not exists(select 1 from B where A.ID=B.ID)
接著,我們來分析你的SQL語句為什麼返回數據不準確的原因。
從你的SQL基礎語句來看,你使用了方法一和方法四這兩種,兩種語法本身都是正確的,但是卻沒有達到預期的效果,初步分析,問題可能出在gsdj和swdj這兩張表的qymc欄位的判斷比較上。
舉個例子:'企業名稱'和'企業名稱 '這兩個字元串看似相同,實際卻並不相同,因為第二個「企業名稱 」的後面跟了一個空格字元。就因為這個空格字元導致這個"'企業名稱'='企業名稱 '"等式不成立。
考慮到你qymc這個欄位的類型是字元型,建議你在原有sql基礎上做一個微調如下:
select * from gsdj gs where not exists (select * from swdj sw where rtrim(ltrim(sw.qymc)))=rtrim(ltrim(gs.qymc)));
其中Ltrim()可以去除左側空格,rtrim()可以去除右側的空格,也就是說我們是對去除空格後的企業名稱進行比較,排除了空格的干擾。
(9)如何查找sql表存在擴展閱讀:
在SQL中,對於字元型文本數據,經常需要用到去空格的操作,對ORACLE數據來說可以通過TRIM()函數來簡單實現,而SQL SERVER中並沒有TRIM()函數,只有LTRIM()和RTRIM()兩個函數。
SQL 中使用ltrim()去除左邊空格,rtrim()去除右邊空格,沒有同時去除左右空格的函數,要去除所有空格可以用replace(字元串,' ',''),將字元串里的空格替換為空。
例:去除空格函數
declare @temp char(50)
set @temp = ' hello sql '
print ltrim(@temp) --去除左邊空格
print rtrim(@temp) --去除右邊空格
print replace(@temp,' ','')--去除字元串里所有空格
print @temp
>> 輸出結果
hello sql
hello sql
hellosql
hello sql