sql server2008如何查询在指定的数据库中所有的表名和每个表的字段名及字段类型

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql server2008如何查询在指定的数据库中所有的表名和每个表的字段名及字段类型相关的知识,希望对你有一定的参考价值。

能否一个语句完成

参考技术A select t.name as tablename,c.name as columnname,ty.name as typename,
c.max_length as typelength
from sys.columns c inner join sys.tables t on t.object_id=c.object_id
inner join sys.types ty on ty.system_type_id=c.system_type_id
order by t.name,c.column_id
参考技术B 在sys.下面有一组系统视图,你所需要的数据资料都可以通过那些视图来查到~~追问

请问语句怎么编写?

追答

select * from sys.tables
select * from sys.all_objects
select * from sys.databases

SQL Server 数据库的SELECT 语句基本用法介绍

一、    基本语法结构

(1) 新建查询

如何查询表的所有内容

SELECT * FROM表名

 

(2) 选中查询列

如何查询指定表中的指定列,查询多列得用英文’,’隔开

SELECT字段1,字段2,字段…… FROM表名

 

(3) 如何为列指定别名(AS关键字)

 

(4) 语句大小写的区别

  1. select、字段等关键字大小写的区别
    1. 条件里的大小写区别

(5) 运算符介绍

加减乘除:+ - * /

比较运算符:><>= <= <>

二、    查询脚本

(1) 查询students表所有信息

select * from student

 

(2) 查询指定列的信息

selectxm,xb,xmjxfrom student

 

(3) 为列指定别名

如何给列起相关别名

Selectxm as姓名,xb as性别, xmjx as姓名简写from student

 

 

 

(4) 条件不区分大小写

 

select * from STUDENS where xmjx=‘ntp‘

select * from STUDENS where xmjx=‘NTP‘

效果是一样的

(5) 字段里进行运算

select((1+52.8)*5-3.9343)/0.5-10

 

运算结果:

 

 

(6) 这货这么自恋,我就不要看到他 过滤掉

 

其中‘<>’为不等于 ‘where’赛选语句,<>是删除选定语句,=是挑选选定语句,这里帅爆了加上单引号,注(除了数字之外的值,要加‘’)

                           

select * from student wherexm<>‘帅爆了‘

以上是关于sql server2008如何查询在指定的数据库中所有的表名和每个表的字段名及字段类型的主要内容,如果未能解决你的问题,请参考以下文章

在sql server 2008中如何查询本日、本周和本月数据

sql server 2008数据库中如何像oracle那样查询表的数目

如何将SQL server 2008 里的查询结果导出到 Excel 表内?

sqlserver2008 openquery执行服务就退出

如何在 SQL Server 2005/2008 中清除查询执行统计信息

如何更改SQL Server2008默认数据库的存储路径