2009-02-25 140 views
11

我刚刚下载了SQL Anywhere的开发人员版本。我怎样才能得到我连接到的数据库中的表格列表?对于特定的表格,我如何获得该表的元数据(列名,类型等)?SQL Anywhere中的表详细信息?

+0

我得到了答案,我就在这里表的细节问题的一部分: http://stackoverflow.com/questions/100504/what-is-the-sql-command-to-return-the字段名称的表 但我仍然不知道如何找到表的列表。我有一个想法,但让我试试:) – virtualmic 2009-02-25 09:54:28

回答

11

我没有使用SQL-Anywhere的多年而下面的语句应该工作

select c.column_name 
from systabcol c 
    key join systab t on t.table_id=c.table_id 
    where t.table_name='tablename' 

这是直接从an earlier question

1

假设的Windows那儿剽窃:开始 - 所有程序 - SQL Anywhere的11 - 的Sybase中央

然后连接 - 连接和SQL Anywhere 11 ...

选择 “ODBC数据源名称” 和p ick“SQL Anywhere 11演示”

按OK查看数据库中各种对象的树视图(表等)。

5
select * from systable // lists all tables 
select * from syscolumn // lists all tables columns 
4

对于特定的表:

describe TableName 

将返回表的列,与列的类型的指示,无论是可空和主键

1
SELECT b.name + '.' + a.name 
    FROM sysobjects a, sysusers b 
WHERE a.type IN ('U', 'S') 
    AND a.uid = b.uid 
ORDER BY b.name, a.name 

这将产生有权访问它们的表和用户列表。

0

系统PROC,sa_describe_query是非常有用的

SELECT * FROM sa_describe_query('select * from TableName')

0

要获得数据库使用的所有表的列表:

select * from systable //without 's' 

要获得所有列的列表:

select * from syscolumn //without 's' 
+0

这已经在上面解答:http://stackoverflow.com/a/682626/334849 – LittleBobbyTables 2012-10-05 19:07:20

-1

要选择一个表的详细信息

select * from Table_Name; 

要选择两个不同的表格,并与ID

地图
select * from Table_1 t1,Table2 t2 where t2.id=ti.id; 
-1

select * from user_tables;

desc tablename;

+0

这对SQL Anywhere无效。 – 2014-11-11 09:39:29