① sql怎麼根據一個列查找另一個列對應數據
需要用連接查詢來處理。 如有以下2張表: 查詢2張表id和name欄位內容完全相同的內容,可用如下語句: select a.* from test a,test1 b where a.id=b.id and a.name=b.name;結果: 說明,兩表連接where條件要寫上關聯條件,因為提問是兩個欄位完..
② SQL中只知道欄位名,要查在哪張表怎麼查啊
這個每種資料庫不一樣的
db2中:select TABNAME from syscat.columns where tabschema='x' and colname='欄位名'
這里,x指的是db2的模式。
mysql中:select TABLE_NAME from information_schema.columns where table_schema='y' and column_name='欄位名'
這里y指的是資料庫的名稱。
其他資料庫應該也會有個系統表存放這些信息,表名以及這些欄位的含義都是可以見面知義的,按著這個思路相信你能找到
③ 如何利用SQL語句查看某一個表全部列或單個列的屬性
exec sp_columns 表名 --返回某個表列的信息
exec sp_help 表名 --查看某個表的所有信息
這些是系統的存儲過程
例如:
用SQL語句查詢一個數據表所有欄位的類型可以參考下面的代碼:
SELECT
name AS column_name,TYPE_NAME(system_type_id) AS column_type,
(3)SQL根據列名查詢表格擴展閱讀:
更新:update table1 set field1=value1 where 范圍
查找:select * from table1 where field1 like 』%value1%』 (所有包含『value1』這個模式的字元串)
排序:select * from table1 order by field1,field2 [desc]
求和:select sum(field1) as sumvalue from table1
平均:select avg(field1) as avgvalue from table1
④ 怎樣用SQL語句查詢一個資料庫中的所有表
查詢一個資料庫中的所有表sql語句是show tables;
顯示所有資料庫的命令是:show databases;要查看某個資料庫先要進入資料庫使用user <資料庫名>命令;進入資料庫之後才能查詢資料庫中有哪些表。使用以下命令即可查出所有表:
show tables;
(4)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;
⑤ SQL資料庫,如何查詢資料庫內含有某一列(某欄位,如name)的所有表
SQL資料庫,查詢包含列(欄位,如名稱)的資料庫中的所有表的步驟如下:需要准備的材料是:計算機,sql finder。
1,首先,打開sql查詢器並連接到相應的數據連接,例如測試庫。
⑥ 如何用SQL查詢列名所在表
SELECT DISTINCT t.name FROM sysobjects t INNER JOIN syscolumns s ON s.id = t.id WHERE s.name=列名
⑦ sql 查詢 一個表中某幾列數據
sql查詢一個表中某幾列數據語法:
1、SELECT 列名稱1、列名稱2.....列名稱n FROM 表名稱 WHERE 列 運算符 值;
2、SELECT * from 表名稱 where 列 運算符 值(列 運算符 值,這個可以是多個,中間用and隔開)。
解析:使用sql查詢時,作為查詢的篩選限制條件,只需要對有限制要求的欄位使用where進行限制即可,無需對非限制要求的欄位進行特別限制。
所以你的語句可以修改為"select * from test1 where id=『2』;"就可以了。其中,你原語句中的name=全部和age=全部,屬於多餘的,如果不對name和age欄位做任何限制的話,sql本身就是會查詢全部name和age,而無需你另外加設條件。
再比如你這樣寫:「select * from test1;」在不加任何where條件的情況下,這個sql查詢本身就是查詢全部數據。而當加入id='2'之後,就限制了只能返回id值是2的某一條或者多條數據。
通過幾個例子來加深一下對上表各查詢條件使用的理解:
1、查詢計算機科學系全體學生的名單;
SELECT Sname FROM StudentWHERE Sdept='CS';
2、查詢所有年齡在20歲以下的學生姓名及其年齡;
SELECT Sname,Sage FROM StudentWHERE Sage<20;
3、查詢考試成績不合格的學生的學號;
SELECT DISTINCT Sno FROM SCWHERE Grade<60;
4、查詢年齡在20~23歲之間的學生的姓名、系別和年齡;
SELECT Sname,Sdept,Sage FROM Student WHERE Sage BETWEEN 20 AND 23;
5、查詢年齡在20~23歲之間的學生的姓名、系別和年齡;
SELECT Sname,Sdept,Sage FROM StudentWHERE Sage NOT BETWEEN 20 AND 23;
6、查詢計算機科學系(CS)、數學系(MA)和信息系(IS)學生的姓名、系別和年齡。
SELECT Sname,Ssex FROM Student WHERE Sdept IN('CS','MA','IS')。
⑧ SQL如何在一個資料庫中查詢已知列名的所在表
OBJECT_ID : 返回資料庫對象標識號
例如:
use master
Select Object_Id(N'pubs..authors') //查看pubs資料庫里的authors表的object_id對象標識號。
OBJECTPROPERTY : 返回當前資料庫中對象的有關信息
語法 : OBJECTPROPERTY ( id , property )
例如:
OBJECTPROPERTY (object_id(N'authors') , N'ISTABLE') = 1
或
select * from dbo.sysobjects where Object_Id(N'myTable') AND OBJECTPROPERTY(id, N'IsTable') = 1
OBJECT_ID:返回資料庫對象標識號。N是顯式的將非unicode字元轉成unicode字元,它來自 SQL-92 標准中的 National(Unicode)數據類型,用於擴展和標准化,在這里可以不用,寫作object_id(PerPersonData)。
OBJECTPROPERTY:返回當前資料庫中對象的有關信息。1表「真」。同樣可以寫成OBJECTPROPERTY(id, sUserTable) = 1。
整條語句的意思是判斷資料庫里有沒有存在PerPersonData這樣一張表。
整條語句可以簡寫成:
if exists (select * from sysobjects where objectproperty(object_id('PerPersonData'),'istable') = 1)
判斷myTalbe對象是否是一個表。
If exists (select * from dbo.sysObjects
where id = Object_Id(N'myTable') and ObjectProperty(id, N'IsUserTable') = 1)
判斷myProc對象是否是一個存儲過程。
If exists (select * from dbo.sysObjects
where id = Object_Id(N'myProc') and ObjectProperty(id, N'IsProcere') = 1)
判斷myFun對象是否是一個自定義、標量值函數。
If exists (select * from dbo.sysObjects
where id = Object_Id(N'myFun') and ObjectProperty(id, N'IsScalarFunction') = 1)
判斷myFun對象是否是一個表值函數。
If exists (select * from dbo.sysObjects
where id = Object_Id(N'myFun') and ObjectProperty(id, N'IsTableFunction') = 1)
其他更多ObjectProperty屬性的 property 值參考
http://technet.microsoft.com/zh-cn/library/ms176105.aspx
⑨ SQL中如何根據欄位名查找該欄位名存在於資料庫的哪些表中
上處的欄位名是指的表中的列名 還是指的 列中某一個 值。
如果是指的列名的話,很簡單
select sysobjects.name as tablename,syscolumns.name as columnname
from syscolumns join sysobjects on sysobjects.id = syscolumns.id
where syscolumns.name like '%此處為列名%'
如果是指的一個值的話,要遍歷資料庫了。如下:
declare@str varchar(100)
set@str='張三'--要搜索的字元串
declare@s varchar(8000)
declaretb cursorlocalfor
selects='if exists(select 1 from ['+b.name+'] where convert(varchar,['+a.name+']) like ''%'+@str+'%'')
print ''select ['+a.name+'] from ['+b.name+']'''
fromsyscolumns a joinsysobjects b ona.id=b.id
whereb.xtype='U'anda.status>=0
--所查列的欄位類型
anda.xusertype in(175,239,231,167,56,60,108,106)
opentb
fetchnextfromtb into@s
while @@fetch_status=0
begin
exec(@s)
fetchnextfromtb into@s
end
closetb
deallocatetb