當前位置:首頁 » 編程語言 » SQL根據列名查詢表格
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

SQL根據列名查詢表格

發布時間: 2022-09-23 18:13:54

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