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 SQL
6.獲取主鍵字段
SELECT name FROM SysColumns WHERE id=Object_Id('TableName') and colid=(SELECT top 1 keyno FROM sysindexkeys WHERE id=Object_Id('TableName'))
注意點:
(1)syscolumns表中只含有數據類型編號,要獲取完整的數據類型名字需要從systypes表中找,一般用戶使用的數據類型用xusertype對應比較好,不會出現一對多的情況。
(2)syscolumns.length得到的是物理內存的長度,所以nvarchar和varchar等類型在數據庫中的顯示是這個的一半。