2、用sql查表的字段
查表的字段需要用到user_tab_columns、all_tab_columns,一样的前者只能查到该用户拥有的表,后者可以查询所有用户的表。
sql中的主键是指数据表的主关键词,用于唯一标识一个行,自带一级索引效果。
主关键字(主键,primarykey)是被挑选出来,作表的行的唯一标识的候选关键字。一个表只有一个主关键字。主关键字又可以称为主键。主键可以由一个字段,也可以由多个字段组成,分别称为单字段主键或多字段主键,又称主码。
并且它可以唯一确定表中的一行数据,或者可以唯一确定一个实体。
扩展资料:
主键挑选的原则:
1、主键应当是对用户没有意义的。如果用户看到了一个表示多对多关系的连接表中的数据,并抱怨它没有什么用处,那就证明它的主键设计地很好。
2、永远也不要更新主键。实际上,因为主键除了唯一地标识一行之外,再没有其他的用途了,所以也就没有理由去对它更新。
3、主键不应包含动态变化的数据,如时间戳、创建时间列、修改时间列等。
SELECTtTABLE_NAME,
tCONSTRAINT_TYPE,
cCOLUMN_NAME,
cORDINAL_POSITION
FROM
INFORMATION_SCHEMATABLE_CONSTRAINTS AS t,
INFORMATION_SCHEMAKEY_COLUMN_USAGE AS c
WHERE
tTABLE_NAME = cTABLE_NAME
AND tTABLE_SCHEMA = 'test'
AND tCONSTRAINT_TYPE = 'PRIMARY KEY';
测试执行结果如下:
mysql> SELECT
-> tTABLE_NAME,
-> tCONSTRAINT_TYPE,
-> cCOLUMN_NAME,
-> cORDINAL_POSITION
-> FROM
-> INFORMATION_SCHEMATABLE_CONSTRAINTS AS t,
-> INFORMATION_SCHEMAKEY_COLUMN_USAGE AS c
-> WHERE
-> tTABLE_NAME = cTABLE_NAME
-> AND tTABLE_SCHEMA = 'test'
-> AND tCONSTRAINT_TYPE = 'PRIMARY KEY'
-> LIMIT 3;
+------------+-----------------+-------------+------------------+
| TABLE_NAME | CONSTRAINT_TYPE | COLUMN_NAME | ORDINAL_POSITION |
+------------+-----------------+-------------+------------------+
| mr_dept | PRIMARY KEY | dept_id | 1 |
| order | PRIMARY KEY | id | 1 |
| tab | PRIMARY KEY | id | 1 |
+------------+-----------------+-------------+------------------+
3 rows in set (006 sec)不知道你ACCESS数据库能不能使用
我本机 SQL Server 2008 Express 测试执行了一下,没啥问题查询tbDatumCity表中的主键
select from sysobjects where parent_obj=object_id('tbDatumCity') and xtype='PK'
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)