sql 查询所有表以及表结构
查询数据库中所有的表:
select [id], [name],0 as statu
from [sysobjects] where [type] = 'u' order by [name]
查询表结构:
--查询表结构
ALTER PROCEDURE [dbo].[ziduan] @name nvarchar(50)
AS
BEGIN
if ISNULL(@name,'')<>'' BEGIN
select
CAST( ROW_NUMBER() over(order by a.object_id) as nvarchar(50) ) as 编号,
c.TABLE_NAME as '表名',
a.name as 字段名,
Cast(
(case c.DATA_TYPE+'' when 'varchar' then 'varchar('+CONVERT(varchar(10),c.CHARACTER_MAXIMUM_LENGTH)+')'
when 'nvarchar' then 'nvarchar('+CONVERT(varchar(10),c.CHARACTER_MAXIMUM_LENGTH)+')'
when 'decimal' then 'decimal('+CONVERT(varchar(10),c.NUMERIC_PRECISION)+','+CONVERT(varchar(10),c.NUMERIC_SCALE)+')'
else cast( c.DATA_TYPE as nvarchar(50)) end )
as nvarchar(50))AS 数据类型,
(case c.IS_NULLABLE when 'YES' THEN 'Y' else 'N' end) as 是否为空,
'' AS 性质,
'' AS 取值范围,
CAST( ISNULL(b.value,'') as nvarchar(200) )as 描述
FROM
sys.columns a left join sys.extended_properties b
on (a.column_id=b.minor_id and a.object_id=b.major_id)
left join INFORMATION_SCHEMA.COLUMNS c on a.name=c.COLUMN_NAME
where a.object_id=object_id(@name)
and c.TABLE_NAME=@name order by a.column_id
END
else
select '请输入表名'
END
整理所有表结构数据:
--所有表结构数据 select [id], [name],0 as statu
into #t
from [sysobjects] where [type] = 'u' order by [name] create table #t2
(
编号 varchar(50),
表名 varchar(50),
字段名 varchar(50), 数据类型 sql_variant, --varchar(50),
是否为空 varchar(50),
性质 varchar(50),
取值范围 varchar(50),
描述 nvarchar(200) ) declare @c int ;
select @c= COUNT(1) from #t a where a.statu=0
while(@c>0)
begin declare @TableName nvarchar(50);
select top 1 @TableName=a.name from #t a where a.statu=0 insert into #t2 exec dbo.ziduan @TableName update a set a.statu=1 from #t a where a.statu=0 and a.name=@TableName set @c=@c-1; end select distinct a.表名 from #t2 a select * from #t2 a
sql 查询所有表以及表结构的更多相关文章
- SQL查询数据库信息, 数据库表名, 数据库表信息
SQL查询数据库信息, 数据库表名, 数据库表信息 ---------------------------------------------- -- 以下例子, 在sql_server 中可以直接运 ...
- sql 查询所有数据库、表名、表字段总结
ms sql server 1.查询所有表select [id], [name] from [sysobjects] where [type] = 'u' order by [name]2.查询所有数 ...
- sql查询数据库中所有表名
查询数据库里所有表名和字段名的语句SQL 查询所有表名:SELECT NAME FROM SYSOBJECTS WHERE TYPE='U'SELECT * FROM INFORMATION_SCHE ...
- 【SQL查询】连接多表_join
1. inner join 返回两表相匹配的数据,做表中的“1, 2” 和右表中的“5, 6”都不会显示. 2. left join 以左表为主,左表返回所 ...
- sql查询如何将A表数据name字段对应B表name字段得到对应的B表id主键然后添加A到表usel_id中
1.写这个的原因 最近在写公司项目的时候一个功能很是让我头疼如标题看到的一样,平时我们一般都只负责数据表的查询或者连表查询某一个字段和A表字段一起显示出来. 但是添加到A表还是头一次,第一天想了很久都 ...
- mysql数据库使用sql查询数据库大小及表大小
网上查了很多资料,最后发现一个可行的,分享如下: 数据库大小查询: select concat(round(sum(DATA_LENGTH/1024/1024),2),'M') from inform ...
- sql 查询数据库中每个表的大小
For example: exec sp_MSForEachTable @precommand=N'create table temp(name sysname,rows bigint,reserve ...
- SQL查询数据库名、表名、列名
1.获取所有用户名SELECT name FROM Sysusers where status='2' and islogin='1'islogin='1'表示帐户islogin='0'表示角色sta ...
- sql查询:存在A表而不在B表中的数据
A.B两表,找出ID字段中,存在A表,但是不存在B表的数据. 方法一:使用 not inselect distinct A.ID from A where A.ID not in (select ID ...
- sql 查询不存在左表的数据
select * from zyz_mgr_wlcyiduifu a left join WLCInformation b ona.wlcId=b.WLCInvestorApplyID where b ...
随机推荐
- vitualbox中的centos7与主机共享文件
我在vitualbox中安装了一个centos7,最小安装.主机是win10操作系统.那么如何在虚拟机和主机之间进行文件共享呢,下面是本人实现过程,以及过程中遇到的一些问题. 1.在主机中选择一个文件 ...
- 001.Ansible部署RHCS存储集群
一 前期准备 1.1 前置条件 至少有三个不同的主机运行monitor (MON)节点: 至少三个直接存储(非外部SAN硬件)的OSD节点主: 至少两个不同的manager (MGR)节点: 如果使用 ...
- 动态规划——Split Array Largest Sum
题意大概就是,给定一个包含非负整数的序列nums以及一个整数m,要求把序列nums分成m份,并且要让这m个子序列各自的和的最大值最小(minimize the largest sum among th ...
- (AB)Codeforces Round #528 (Div. 2, based on Technocup 2019 Elimination Round
A. Right-Left Cipher time limit per test 1 second memory limit per test 256 megabytes input standard ...
- Spring-Boot 使用 Jedis 操作 Redis
背景: 1.Redis 之前学了个皮毛 还忘的差不多了,感觉公司项目中的Redis用的真的牛逼,so 需要深造. 2.有个同事在搞Jedis,勾起了我对知识的向往,不会用,但是很渴望. 过程: 1.改 ...
- PowerShell导出场中的WSP包到本地
Add-PSSnapin Microsoft.SharePoint.PowerShell –erroraction SilentlyContinue## setup our output direct ...
- javascript的数组之push()
push()方法讲一个元素或多个元素添加到数组的末尾,并返回新数组的长度length,修改数组自身. var numbers = [1, 2, 3]; numbers.push(4); console ...
- mysql 5.7.21 解压版安装配置方法图文教程
引用:https://www.jb51.net/article/140951.htm 1.首先,你要下载MySQL解压版,下载地址,图解: 2.解压安装包,根据自己的喜好选择路径,我选择的路径是C:\ ...
- SpringBoot注解大全 转
2019年3月17日22:30:10 一.注解(annotations)列表 @SpringBootApplication:包含了@ComponentScan.@Configuration和@Enab ...
- [05-02]红帽linux常用操作命令
命令怎么用(三种方式) shutdown --help shutdown --? man shutdown (man 就是manual 手册, 指南) 服务 service 怎么知道服务的名字呢? ...