如何从一sql数据库查找字段中查找出含有某一字段名的所有表名

Mysql中返回一个数据库的所有表名,列名数据类型备注
阅读:1883次&&&时间: 04:24:19&&
desc 表名; show columns from 表名; describe 表名; show create table 表名; use information_schema select * from columns where table_name='表名'; 顺便记下:
也可以这样 use information_schema select table_schema,table_name from tables where table_schema='数据库名' use 数据库名;
原有一unique索引AK_PAS_Name(PAC_Name)在表tb_webparamcounter中, 执行以下sql修改索引 alter table tb_webparamcounter drop index AK_PAS_N alter table tb_webparamcounter add UNIQUE AK_PAS_Name(PC_ID,PAC_Name); 若发现索引的逻辑不对,还需要再加一个字段进去,执行 alter table tb_webparamcounter drop index AK_PAS_N alter table tb_webparamcounter add UNIQUE AK_PAS_Name(PC_ID,PAC_Name,PAC_Value); 注意:这时的PC_ID,PAC_Name,PAC_Value三个字段不是FOREIGN KEY 否则必需先drop FOREIGN KEY,再重做上一步才行 获取列名数据类型备注 SELECT COLUMN_NAME, DATA_TYPE, COLUMN_COMMENT FROM information_schema.columns WHERE table_name = ?
[商业源码]&
[商业源码]&
[商业源码]&
[商业源码]&
[商业源码]&
[商业源码]&
[商业源码]&
[商业源码]&
[商业源码]&
[商业源码]&
Copyright &
All Rights ReservedCREATE proc Full_Search(@string varchar(50)) as begin declare @tbname varchar(50) declare tbroy cursor for select name from sysobjects where xtype= 'u ' --第一个游标遍历所有的表 open tbroy fetch next from tbroy into @tbname while @@fetch_status=0 begin declare @colname varchar(50) declare colroy cursor for select name from syscolumns where id=object_id(@tbname) and xtype in ( select xtype from systypes where name in ( 'varchar ', 'nvarchar ', 'char ', 'nchar ') --数据类型为字符型的字段 ) --第二个游标是第一个游标的嵌套游标,遍历某个表的所有字段 open colroy fetch next from colroy into @colname while @@fetch_status=0 begin declare @sql nvarchar(1000),@j int select @sql= 'select @i=count(1) from ' +@tbname + ' where '+ @colname+ ' like '+ '''%'+@string+ '%''' exec sp_executesql @sql,N'@i int output',@i=@j output --输出满足条件表的记录数 if @j& 0 BEGINselect 包含字串的表名=@tbname--exec( 'select distinct '+@colname+' from ' +@tbname + ' where '+ @colname+ ' like '+ '''%'+@string+ '%''') ENDfetch next from colroy into @colname end close colroy deallocate colroy fetch next from tbroy into @tbname end close tbroy deallocate tbroy end go
&比如查的&首页列表&方法:
exec Full_Search '首页列表'
阅读(...) 评论()在SQL数据库中,怎么查询一个表中有哪些字段
--表的字段名称
select & name & from
& syscolumns & where
& id=object_id( '表名 ')
--表的字段数
select & count(name) & from
& syscolumns & where
& id=object_id( '表名 ')
最好改成:object_id(N '表名 ')
这样只是规范一些,一般不会出错
select & name & from
& syscolumns & where
& id=object_id(N '表名 ')--列名
select & name & from
& sysobjects & where
& xtype= 'U '--表名
select & name & from
& sysobjects & where
& xtype= 'P '--存储过程
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。&&&&获取一个数据库中的所有表名和列名
获取一个数据库中的所有表名和列名
我们经常想获取一个数据库中的所有表名和列名,在MS SQL中,比较方便,直接查询sysobjects表即可获取。但是在Access中,如何获取呢?昨天正好有个程序要用到Access中的表,来判断是否存在,如果不存在,则创建。
若举报审核通过,可奖励20下载分
被举报人:
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:
VIP下载&&免积分60元/年(1200次)
您可能还需要
开发技术下载排行查看:10133|回复:14
中级工程师
EXEC master..xp_cmdshell 'bcp &SELECT * FROM [CHCW].[dbo].[发票记录]& queryout E:\est.xls -c -S&TJ& -U&sa& -P&2012&'
能够导出表格,但没有字段名,很头痛!
中级工程师
我查了半天:找到个办法。
1、将查询结果存储到一个临时表。
2、将所有的字段转换成字符形式。
3、将字段名作为第一行记录,再 Union all 所有行的数据。
最后输出。
不过,这个转换过程我不知道如何写? 求指点!
或者还有其他办法??
本帖最后由 lifox 于
09:08 编辑
BCP中的导出语句,参考:
select col1 = 'colname1' , col2 = 'colname2' ... , coln = 'colnamen' from tb
select col1 , col2 ... coln from tb
SQL Server DBA
中级工程师
引用:原帖由 joe321 于
11:21 发表
BCP中的导出语句,参考:
select col1 = 'colname1' , col2 = 'colname2' ... , coln = 'colnamen' from tb
select col1 , col2 ... coln from tb 请教如何用循环,提取表的字段名??
有这个才好生成动态SQL语句,适应各种不同的表。
小微企业IT帮
提取表的字段名,请参见:
declare @sql nvarchar(4000)
select @sql=isnull(@sql+\',\',\'\')+quotename(Name)
from syscolumns
where ID=object_id('tb')
order by Colid
SQL Server 2008 MCITP | SQL Server 2012 MCSE | SQL Server MVP | MySQL 5.6 OCP | Oracle 11g OCP
参考楼上给的脚本。
你有多个表的数据需要全表导出的话,还不如用sql server自带导入/导出工具,然后保存为SSIS包,要导的时候双击一下或者作业调用。
SQL Server DBA
中级工程师
非常感谢两位的帮助!!
sqlcmd 运行查询会带标题栏的, 用-o 导出为文件即可。
命令行: sqlcmd -E -Q &select * from sys.objects& -o D:\test_data\sysobjects.csv
SQL: exec xp_cmdshell 'sqlcmd -E -Q &select * from sys.objects& -o D:\test_data\sysobjects.csv'
SQL Server MCITP, MVP, MCT, DBA
sqlcmd带,bcp不带。
SQL Server DBA
优秀技术总监
如果脚本写不好的话,也可以用界面,直接把脚本结果集输出来,选择带连同标题一起复制结果就会有字段列名。
试一下图形界面吧
MCITP/MCSE/MCT/MVP&&SQL Server
那些年,我们一起追过的MS SQL Server
http://jimshu.
平时我就用自带的导入导出工具导出数据,简单又实用
Lync Server 、Skype for Business Server 2015
在安逸的环境中,一个人很难敏锐地思考。智慧是由站在断崖边缘并挣扎着求生存的人身上挤出来的
微信公众号:lync_uc
平时我都用图形界面,然后“连同标题一起复制”,再粘贴到Excel,也很轻松
(143.65 KB)
MCITP/MCSE/MCT/MVP&&SQL Server
那些年,我们一起追过的MS SQL Server
http://jimshu.
小微企业IT帮
copy with header
SQL Server 2008 MCITP | SQL Server 2012 MCSE | SQL Server MVP | MySQL 5.6 OCP | Oracle 11g OCP
都是牛逼人物啊学习了

我要回帖

更多关于 sql数据库查找字段 的文章

 

随机推荐