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.获取所有表名
(1)、Select Name FROM SysObjects Where XType='U' orDER BY Name
(2)、SELECT name FROM sysobjects WHERE type = 'U' AND sysstat = '83'
备注:
XType='U':表示所有用户表;
XType='S':表示所有系统表;
注意:一般情况只需要type = 'U',有时候会不准确,所以sysstat = '83'条件可以真正的筛选出来
4.获取所有字段名:
(1)、Select Name FROM SysColumns Where id=Object_Id('TableName')
(2)、SELECT syscolumns.name,systypes.name,syscolumns.isnullable,syscolumns.length FROM syscolumns, systypes WHERE syscolumns.xusertype = systypes.xusertype AND "syscolumns.id = object_id('tableName')
备注:
(a)(2)中可以输出更详细的字段信息,如名字,类型,是否空,长度等等
(b)syscolumns表中只含有数据类型编号,要获取完整的名字需要从systypes表中找,一般用户使用的数据类型用xusertype对应比较好,不会出现一对多的情况。
(c)syscolumns.length得到的是物理内存的长度,所以nvarchar和varchar等类型在数据库中的显示是这个的一半。
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 Name from sysobjects where xtype='u' and status>=0
8:获取某一个表的所有字段
select name from syscolumns where id=object_id('表名')
9:查询用户创建的所有数据库
select * from master..sysdatabases D where sid not in(select sid from
master..syslogins where name='sa')
或者
select dbid, name AS DB_NAME from master..sysdatabases where sid <> 0x01
10:查询某一个表的字段和数据类型
select column_name,data_type from information_schema.columns
where table_name = '表名'
[n].[标题]:
Select * From TableName Order By CustomerName
[n].[标题]:
11.如何修改数据库的名称:
sp_renamedb 'old_name', 'new_name'
12.只复制一个表结构,不复制数据
select top 0 * into [t1] from [t2]
13.连接远程数据库
select * from OPENDATASOURCE('SQLOLEDB','Data Source=远程ip;User
ID=sa;Password=密码').库名.dbo.表名
14.获取当前oracle数据库中的所有表
select table_name from user_tables
15 .获取当前oracle表中所有字段的类型
SELECT
COLUMN_NAME,DATA_TYPE,DATA_LENGTH,NULLABLE
FROM
USER_TAB_COLS where TABLE_NAME='teacher';
16.获取一张表中的外键信息
第一列 第二列 第三列 第四列
当前表名 有外键的字段名 外键表名 外键表的主键名
select object_name(fkeyid) as tabname , object_name(rkeyid) as pri_tabname, c.name as colname , object_name(b.id) primarykey from sysforeignkeys a , sysobjects b, (select name,id, colid from syscolumns ) c where a.rkeyid = b.parent_obj and fkeyid = c.id and fkey = colid17.知道字段名想查询对应的表名select a.Name from (Select Object_Id(Name)as id,Name FROM SysObjects Where XType='U') as a,SysColumns where a.id=SysColumns.id and SysColumns.Name=字段名