sql查詢表的列名
① sql語句怎麼查詢指定表的列名
如果用mysql 的話 mysql> desc 表名
② 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')。
③ mysql 如何用sql語句查詢表的所有列名
select COLUMN_NAME from information_schema.columns where table_name='b'
select count(*) from information_schema.COLUMNS WHERE TABLE_SCHEMA='a' and table_name=『b』
a是庫名,b是表明
④ Sql 語句。獲取指定表的列名
--isnull函數:需要個參數,如果第一個參數為空,則賦值第二個參數。
SELECT
--空格代表as關鍵字
( CASE WHEN a.colorder = 1 THEN d.name
ELSE ''
END ) 表名 ,
a.colorder 欄位序號 ,
a.name 欄位名 ,
( CASE WHEN COLUMNPROPERTY(a.id, a.name, 'IsIdentity') = 1 THEN '√'
ELSE ''
END ) 標識 ,
( CASE WHEN ( SELECT COUNT(*)
FROM sysobjects
WHERE ( name IN (
SELECT name
FROM sysindexes
WHERE ( id = a.id )
AND ( indid IN (
SELECT indid
FROM sysindexkeys
WHERE ( id = a.id )
AND ( colid IN (
SELECT
colid
FROM
syscolumns
WHERE
( id = a.id )
AND ( name = a.name ) ) ) ) ) ) )
AND ( xtype = 'PK' )
) > 0 THEN 'true'
ELSE 'false'
END ) 主鍵 ,
b.name 類型 ,
a.length 佔用位元組數 ,
COLUMNPROPERTY(a.id, a.name, 'PRECISION') AS 長度 ,
ISNULL(COLUMNPROPERTY(a.id, a.name, 'Scale'), 0) AS 小數位數 ,
( CASE WHEN a.isnullable = 1 THEN 'true'
ELSE 'false'
END ) 允許空 ,
ISNULL(e.text, '') 默認值 ,
ISNULL(g.[value], '') AS 欄位說明
--a代表列集合表:為每個表和視圖中的每列返回一行,並為資料庫中的存儲過程的每個參數返回一行
--b代表列類型表:為資料庫中定義的每種系統提供的數據類型和每種用戶定義的數據類型返回一行。
FROM syscolumns a
LEFT JOIN systypes b ON a.xtype = b.xusertype
--d代表對象表:在資料庫中創建的每個對象(例如約束、默認值、日誌、規則以及存儲過程)都對應一行
INNER JOIN sysobjects d ON a.id = d.id
AND d.xtype = 'U'
AND d.name <> 'dtproperties'
--e代表e.text是默認值:包含資料庫中每個視圖、規則、默認值、觸發器、CHECK 約束、DEFAULT 約束和存儲過程的項
LEFT JOIN syscomments e ON a.cdefault = e.id
--g代表g.[value]是欄位說明:針對當前資料庫中的每個擴展屬性返回一行。
LEFT JOIN sys.extended_properties g ON a.id = g.major_id
AND a.colid = g.major_id
ORDER BY a.id ,
a.colorder
這個方法可以獲取當前庫存中所有表的所有列。希望對你有用。
⑤ 如何在sqlserver中獲取表的所有列信息
microsoft sql server management studio中展開對應表下面的列信息不就可以看到列的詳細信息了么?當然這是可以的,但這里我們主要講的時如何利用sql語句來查詢指定表的列信息。
利用sql語句來查詢列信息,就是要用到系統視圖sys.columns,這個視圖記錄了資料庫中所有表,視圖,表值函數等的所有列信息。我們可以利用語句select * from sys.columns來查看這個視圖返回的信息。
sys.columns返回的列比較多,大部分情況下很多列的信息我們可能用不到,下面我們只解釋一下比較常用的列的信息。
1,object_id--這個列是比較重要的,它是返回當前列所屬表的ID。利用它,我們就可以查詢指定表的所有列信息,比如下面的sql語句是查詢表table1的所有列信息。
select * from sys.columns where object_id=object_id('table1')
2,name--該列的列名。
3,column_id--該列在資料庫中的ID,注意,資料庫中任何對象的ID都是唯一的。
4,system_type_id--該列的類型的ID,和下面max_length,precision,scale三列一起可以來舉個示例。
5,max_length--該列的最大長度
6,precisionp--如果這列是數值列,那麼這是該列的精度,否則就是0
7,scale--如果這列是數值列,那麼這就是列的小數位數,否則就是0
system_type_id,max_length,precision,scale四列結合系統視圖sys.types一起我們來舉個示例。
如果我們要查詢表table1的所有列,及列的類型,列的精度,列的小數位數,sql語句如下:
select a.name,b.name,a.max_length,a.precision,a.scale
from sys.columns a left join sys.types b on a.user_type_id=b.user_type_id
where a.object_id=object_id('table1')
8,is_nullable--該列是否可以為null
9,is_identity--該列是否是標識列
10,is_computed--該列是否是計算列。利用該列,我們也就可以查詢某個表的所有計算列了,比如我們要查詢表table1中的所有計算列,sql語句如下:
select * from sys.columns where object_id=object_id('table1') and is_computed=1
sys.columns視圖中常用的列就是這10列了,其它列的信息大家可以到SQLServer 2005聯機叢書中查詢。
⑥ sql語句怎麼查詢指定表的列名
查詢dba_tab_columns
如:
select
column_name
from
dba_tab_columns
where
owner=upper('xxx')
and
table_name=upper('yyy')
;
如果表名的區分大小寫的話,注意表名用雙引號,如:
select
column_name
from
dba_tab_columns
where
owner=upper('xxx')
and
table_name="mytable"
;
親測無誤。
⑦ 如何利用SQL語句查看某一個表全部列或單個列的屬性
exec sp_columns 表名 --返回某個表列的信息
exec sp_help 表名 --查看某個表的所有信息
這些是系統的存儲過程
例如:
用SQL語句查詢一個數據表所有欄位的類型可以參考下面的代碼:
SELECT
name AS column_name,TYPE_NAME(system_type_id) AS column_type,
(7)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