社区
Java SE
帖子详情
请教,如何得到一个表得主键是哪几列?使用jdbc,可以得到吗?我查了没查到.
superzrb
2005-03-03 06:22:29
如题,万分感谢!
...全文
115
3
打赏
收藏
请教,如何得到一个表得主键是哪几列?使用jdbc,可以得到吗?我查了没查到.
如题,万分感谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
fog628
2005-07-08
打赏
举报
回复
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.DatabaseMetaData;
import java.sql.SQLException;
import java.sql.DriverManager;
import java.util.List;
import java.util.ArrayList;
class AutoScrollTest{
public static Connection getConnection(String driver,
String url,
String user,
String pwd) throws Exception{
Class.forName(driver);
Connection cnn = DriverManager.getConnection(url, user, pwd);
return cnn;
}
public static List getPrimaryKeysByTableName(Connection cnn, String tableName)
throws Exception{
List list = new ArrayList();
DatabaseMetaData dbMetaData = cnn.getMetaData();
ResultSet rs = dbMetaData.getPrimaryKeys(null, null, tableName);
/* getPrimaryKeys()返回了一个ResultSet,ResultSet里面有:
*
* TABLE_CAT String => table catalog (may be null)
* TABLE_SCHEM String => table schema (may be null)
* TABLE_NAME String => table name
* COLUMN_NAME String => column name
* KEY_SEQ short => sequence number within primary key
* PK_NAME String => primary key name (may be null)
*
**/
while(rs.next()){
//只从ResultSet里面取了COLUMN_NAME
//就是主键的列名
list.add((rs.getString("COLUMN_NAME")));
System.out.println( rs.getString("TABLE_CAT") + "\t" +
rs.getString("TABLE_SCHEM") + "\t" +
rs.getString("TABLE_NAME") + "\t" +
rs.getString("COLUMN_NAME") + "\t" +
rs.getShort("KEY_SEQ") + "\t" +
rs.getString("PK_NAME"));
}
return list;
}
public static void main(String[] args){
String driver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";
String user = "sa";
String pwd = "";
try{
Connection c = getConnection(driver, url, user, pwd);
List primaryKeys = getPrimaryKeysByTableName(c, "authors");
System.out.println();
System.out.print("primary keys are: ");
System.out.println(primaryKeys);
}catch(Exception e){
e.printStackTrace();
}
}
}
haha-mark
2005-07-08
打赏
举报
回复
这个应该充数据库中得到,各个数据库得到的方法不同,一般都提供存储过程
shoulders
2005-07-08
打赏
举报
回复
谢谢楼上的,学到知识了。
跟汤老师学Java(第19季):
JDBC
访问数据库
本课程从零开始,以通俗易懂的方式讲解Java技术,手把手教你掌握每
一个
知识点。 真正做到零基础入门学习,适合初学者的教程! 课程内容包括: 1.
JDBC
简介 2.
JDBC
基本用法 3.访问数据库的步骤 4.
使用
...
Java学习指南(8) MySQL数据库与
JDBC
框架
一、课程简介 『Java学习指南系列』的第8篇教程 ,介绍MySQL数据库的安装
使用
,常见SQL语句,以及
使用
JDBC
进行数据库开发的技术。 二、主要内容 * MySQL的安装和
使用
* 常用SQL语句,增删改查操作 * 高级SQL...
MySQL入门到精通
通过本课程,您可以学习到如下知识点: SQL的基本语法:DDL/DML/DQL/DCL 掌握各种数据库约束:
主键
/非空/**/默认值/外键约束/零填充/自增长等 掌握表与表的关系:一对一/一对多/多对多 掌握表关系的建表原则 掌握多...
MySQL实操极简入门
内容包括: 1-客户端登录与退出MySQL 2-操作数据库 3-创建表 4-
主键
5-
主键
自增 6-非空 7-修改表 8-插入数据 9-修改数据 10-删除数据 11-查询数据一 12-查询数据二(条件查询) 13-查询数据三(模糊查询) 14-查询...
go数据库mysql与redis
一个
数据表中只能包含
一个
主键
。你可以
使用
主键
来查询数据。 外键:外键用于关联两个表。 复合键:复合键(组合键)将多个列作为
一个
索引键,一般用于复合索引。 索引:
使用
索引可快速访问数据库表中的特定信息。...
Java SE
62,615
社区成员
307,307
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章