14

我刚刚下载了 SQL Anywhere 的开发人员版。如何获取我连接到的数据库中的表列表?同样对于特定表,我如何获取该表的元数据(列名、类型等)?

4

11 回答 11

14

我已经很多年没有使用 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'

这是直接从较早的问题中抄袭的

于 2009-02-25T09:53:37.827 回答
8
select * from systable  // lists all tables
select * from syscolumn // lists all tables columns
于 2009-03-25T17:29:45.170 回答
4

对于特定表:

describe TableName

将返回表的列,并指示列的类型、是否可为空以及主键

于 2009-05-23T07:56:22.117 回答
1

假设 Windows:开始 - 所有程序 - SQL Anywhere 11 - Sybase Central

然后连接 - 使用 SQL Anywhere 11 连接...

选择“ODBC 数据源名称”并选择“SQL Anywhere 11 Demo”

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

于 2009-03-14T08:57:47.463 回答
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

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

于 2011-04-23T22:53:28.000 回答
1

使用此视图:http ://dcx.sybase.com/1001/en/dbrfen10/rf-syvcol.html

尝试

select * from sys.syscolumns

或者只是您创建的表:

select * from sys.syscolumns where creator=(select current user)
于 2013-11-20T21:42:26.293 回答
0

System proc, sa_describe_query很有用

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

于 2012-03-29T10:58:08.843 回答
0

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

select * from systable //without 's'

要获取所有列的列表:

select * from syscolumn //without 's'
于 2012-08-09T15:10:10.240 回答
0

select t.table_name, c.column_name, c.base_type_str, c.nulls from systabcol c key join systab t on t.table_id = c.table_id

http://dcx.sap.com/1200/en/dbreference_en12/syscolumn345.html

于 2016-09-22T18:44:41.143 回答
-1

选择一张桌子详情

select * from Table_Name;

选择两个不同的表和带有 id 的映射

select * from Table_1 t1,Table2 t2 where t2.id=ti.id;
于 2014-10-29T12:04:29.150 回答
-1

从 user_tables 中选择 *;

desc 表名;

于 2014-11-11T08:49:38.817 回答