`

SQL获取所有用户名,数据库名、所有表名、所有字段名及字段类型

阅读更多

1.获取所有用户名:
SELECT name FROM Sysusers where status='2' and islogin='1'
islogin='1'表示帐户
islogin='0'表示角色
status='2'表示用户帐户
status='0'表示糸统帐户
2.获取所有数据库名:
SELECT Name FROM Master..SysDatabases ORDER BY Name
3.获取所有表名
SELECT Name FROM DatabaseName..SysObjects Where XType='U' ORDER BY Name
XType='U':表示所有用户表;
XType='S':表示所有系统表;
4.获取所有字段名:
SELECT Name FROM SysColumns WHERE id=Object_Id('TableName')
5.获取数据库所有类型
select name from systypes
6.获取主键字段
SELECT   name FROM SysColumns WHERE id=Object_Id('表名') and colid=(select top 1 keyno from sysindexkeys where id=Object_Id('表名'))

7、获取字段类型

select a.name as [column],b.name as type from syscolumns a,systypes b where a.id=object_id('表名') and a.xtype=b.xtype
或者可以通过存储过程
exec sp_help 表名

8、取表结构

select column_name,data_type,character_maximum_length from information_schema.columns where table_name = '表名'


/****************************************************************************************************************************/

/*--获取连接SQL服务器的信息

所有连接本机的:操作的数据库名,计算机名,用户名,网卡物理地址,IP地址,程序名

--邹建 2003.11(引用请保留此信息)--*/

/*--调用示例
--显示所有本机的连接信息
exec p_getlinkinfo

--显示所有本机的连接信息,包含ip地址
exec p_getlinkinfo @includeip=1

--显示连接指定数据库的信息
exec p_getlinkinfo '客户资料'
--*/
create proc p_getlinkinfo
@dbname sysname=null, --要查询的数据库名,默认查询所有数据库的连接信息
@includeip bit=0 --是否显示IP地址,因为查询IP地址比较费时,所以增加此控制
as
declare @dbid int
set @dbid=db_id(@dbname)

create table #tb(id int identity(1,1),dbname sysname,hostname nchar(128),loginname nchar(128),net_address nchar(12),net_ip nvarchar(15),prog_name nchar(128))
insert into #tb(hostname,dbname,net_address,loginname,prog_name)
select distinct hostname,db_name(dbid),net_address,loginame,program_name from master..sysprocesses
where hostname<>'' and (@dbid is null or dbid=@dbid)

if @includeip=0 goto lb_show --如果不显示IP地址,就直接显示

declare @sql varchar(500),@hostname nchar(128),@id int
create table #ip(hostname nchar(128),a varchar(200))
declare tb cursor local for select distinct hostname from #tb
open tb
fetch next from tb into @hostname
while @@fetch_status=0
begin
set @sql='ping '+@hostname+' -a -n 1 -l 1'
insert #ip(a) exec master..xp_cmdshell @sql
update #ip set hostname=@hostname where hostname is null
fetch next from tb into @hostname
end

update #tb set net_ip=left(a,patindex('%:%',a)-1)
from #tb a inner join (
select hostname,a=substring(a,patindex('Ping statistics for %:%',a)+20,20) from #ip
where a like 'Ping statistics for %:%') b on a.hostname=b.hostname

lb_show:
select   id,dbname as '数据库名',hostname as '客户机名',loginname as '用户名'  
,net_address as '网卡物理地址',net_ip as 'IP地址',prog_name as '应用程序名称'   from   #tb

go 

 

分享到:
评论

相关推荐

    ASP获取数据库表名、库名、字段名的方法

    ASP获取数据库表名,字段名 以SQLServer为例: 代码如下: &lt; %  SET Conn=Server.CreateObject(“ADODB.Connection”)  Conn.Open “Server=IP地址;Provider=sqloledb;Database=库名称;UID=用户名;PWD=密码;”...

    最全Mysql数据库命令

    命令:create table &lt;表名&gt; ( &lt;字段名1&gt; &lt;类型1&gt; [,..&lt;字段名n&gt; &lt;类型n&gt;]); mysql&gt; create table MyClass( &gt; id int(4) not null primary key auto_increment, &gt; name char(20) not null, &gt; sex int(4) not null ...

    数据库编程期末答疑,卷子讲解,SQL server相关操作讲解,如有侵权请联系删除

    @strOrder varchar(255), -- 排序的字段名,不允许为空 @PageSize int = 6, -- 页尺寸 @PageIndex int, -- 页码 @OrderType bit = 0, -- 设置排序类型, 非0 值则降序 @strWhere varchar(1500)='' -- ...

    php mysql+sql server 数据库处理类

    入口能数: $TableName | 数据表名称、$FieldArray | 字段列表、$ValueArray | 字段值列表、$KeyField | 关键字段名、$KeyValue | 关键字段值 返回类型:成功返回 1,失败返回0 Tab_Update($TableName,$...

    jdbc操作文档,数据库基本操作文档集合

    update 表名 set 字段名 = 字段值 where 要判断的字段名 = 要判断的字段值; 如果你要进行判断的字段值为null 要写 update 表名 set 字段名 = 字段值 where 要判断的字段名 is null; 4.删除记录 delete from 表名 ...

    数据库操作语句大全(sql)

    20、说明:列出数据库里所有的表名 select name from sysobjects where type='U' // U代表用户 21、说明:列出表里的所有的列名 select name from syscolumns where id=object_id('TableName') 22、说明:列示type...

    orcale常用命令

    SQL&gt;help 命令名 c、显示表结构命令DESCRIBE SQL&gt;DESC 表名 d、SQL*Plus中的编辑命令 显示SQL缓冲区命令 SQL&gt;L 修改SQL命令 首先要将待改正行变为当前行 SQL&gt;n 用CHANGE命令修改内容 SQL&gt;c/旧/新 重新确认是否已...

    数据库设计命名规范.docx

    表设计规范 所有字段在设计时,除以下数据类型timestamp、image、datetime、smalldatetime、uniqueidentifier、binary、sql_variant、binary、varbinary外,必须有默认值。字符型的默认值为一个空字符值串'';数值...

    ORACLE,mysql,sqlserver,sybase数据库装文本软件

    仅导入文件字段名与数据库字段名完全相同的数据,顺序无所谓 3.第一行是列信息,按此列信息创建新表导入数据(暂不用) 4.忽略第一行,无论第一行是什么数据全部忽略,从第二行按列字段顺序匹配装载 必须在-a 参数 &gt; 0...

    经典SQL语句大全

    20、说明:列出数据库里所有的表名 select name from sysobjects where type='U' // U代表用户 21、说明:列出表里的所有的列名 select name from syscolumns where id=object_id('TableName') 22、说明:列示type、...

    MYSQL常用命令大全

    命令:create table &lt;表名&gt; ( &lt;字段名1&gt; &lt;类型1&gt; [,..&lt;字段名n&gt; &lt;类型n&gt;]); mysql&gt; create table MyClass( &gt; id int(4) not null primary key auto_increment, &gt; name char(20) not null, &gt; sex int(4) not null ...

    商品销售系统数据库设计.doc

    Microsoft SQL Server 2008 5 设计工具 PowerDesign 6 编程工具 JDBC访问数据库 7 数据库命名规则 数据表:以"t_"开头,后接表名 视图名:以"v_"开头,后接视图名 存储过程名:以"p_"开头,后接过程名 索引名:以"i_...

    SQL语句导出数据库 表结构 数据字典

    A.COLUMN_NAME 字段名, A.DATA_TYPE 数据类型, A.DATA_LENGTH 数据长度, A.NULLABLE 可否为空, case when( C.COLUMN_NAME = A.COLUMN_NAME and C.TABLE_NAME = A.TABLE_NAME) THEN 'Y' ELSE 'N' END as ...

    sql经典语句一部分

    20、说明:列出数据库里所有的表名 select name from sysobjects where type='U' // U代表用户 21、说明:列出表里的所有的列名 select name from syscolumns where id=object_id('TableName') 22、说明:列示type、...

    Qt数据库封装类

    "name%s", &strName, //字段名加类型 name为字段名%s表示字符串(QString), 传入QString变量指针 "height&f", dHeight, //字段名加类型 height为字段名%f表示小数(double),dHeight传入值 "birthday%t", &dt, //...

    数据库管理规范.doc

    3.1.6索引命名:I_表名_字段名(如果存在多字段索引,取每字段前三个字符加下划 线组合,如:在 hyid,hyname,hymobile上建立联合索引,命名:I_表名_hyi_hyn_hym,如果前三个截取字 符相同,就从字段名称中不同的字符...

    网上购物系统数据库设计.doc

    系统管理员表 "表名:tb_Admin " "字段名 "数据类型 "长度 "主外键 "字段说明 "备注 " "AdminID "varchar "32 "主键 "管理员ID "非空 " "Password "varchar "32 "无 "管理员密码 "非空 " 会员区域表(tb_Area):...

    一个oracle客户端(oracle sql handler)

    (2)输入字串“abc”+“.”,如果“abc”是一表名/视图,或其别名,则列出表/视图的所有列名及数据类型;如果“abc”是一用户名,则列出该用户的所有对象;如果“abc”是一包名,则列出包内的过程和函数; (3)...

    T-SQL电子书包含PPT及学习笔记、课后作业 非常好的sql学习资料

    T-SQL中级教程,包括PPT、学习笔记及课后作业,非常经典的教程 --建库之前先建路径的代码 exec xp_cmdshell'mkdir d:\mydata', --也可以用exec xp_cmdshell'md d:\mydata' no_output exec xp_cmdshell'rd d:\...

    mysql基础只是总结

    d) change 原始的字段名 新的字段名 字段名 类型[大小] 属性,modify 字段名 类型[大小] 属性⋯⋯ [after|first 字段] e) rename 新的表名 (方法二:rename table 旧的表名 to 新的表名) f) engine=存储引擎(type不...

Global site tag (gtag.js) - Google Analytics