我刚刚下载了 SQL Anywhere 的开发人员版。如何获取我连接到的数据库中的表列表?同样对于特定表,我如何获取该表的元数据(列名、类型等)?
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'
这是直接从较早的问题中抄袭的
select * from systable // lists all tables
select * from syscolumn // lists all tables columns
对于特定表:
describe TableName
将返回表的列,并指示列的类型、是否可为空以及主键
假设 Windows:开始 - 所有程序 - SQL Anywhere 11 - Sybase Central
然后连接 - 使用 SQL Anywhere 11 连接...
选择“ODBC 数据源名称”并选择“SQL Anywhere 11 Demo”
按 OK 以查看数据库中各种对象(表等)的树形视图。
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
这将产生一个表和有权访问它们的用户的列表。
使用此视图:http ://dcx.sybase.com/1001/en/dbrfen10/rf-syvcol.html
尝试
select * from sys.syscolumns
或者只是您创建的表:
select * from sys.syscolumns where creator=(select current user)
System proc, sa_describe_query很有用
SELECT * FROM sa_describe_query('select * from TableName')
要获取数据库中使用的所有表的列表:
select * from systable //without 's'
要获取所有列的列表:
select * from syscolumn //without 's'
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
选择一张桌子详情
select * from Table_Name;
选择两个不同的表和带有 id 的映射
select * from Table_1 t1,Table2 t2 where t2.id=ti.id;
从 user_tables 中选择 *;
desc 表名;