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