新建一个varchar类型的字段作为主键就好了呗,比如:
CREATE TABLE `tb1` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '自增id',
`url` varchar(200) NOT NULL COMMENT 'url',
PRIMARY KEY (`url`),
KEY `id` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='测试表'
不过不建议用字符串类型作为主键,效率低下,而且容易生成磁盘碎片,
建议用自增字段作为主键,url创建一个索引就好
连接代码如下:public static void main(String[] args){
// 驱动程序名
String driver = "com.mysql.jdbc.Driver"
// URL指向要访问的数据库名scutcs
String url = "jdbc:mysql://127.0.0.1:3306/scutcs"
// MySQL配置时的用户名
String user = "root"
// MySQL配置时的密码
String password = "root"
try {
// 加载驱动程序
Class.forName(driver)
// 连续数据库
Connection conn = DriverManager.getConnection(url, user, password)
if(!conn.isClosed())
System.out.println("Succeeded connecting to the Database!")
// statement用来执行SQL语句
Statement statement = conn.createStatement()
// 要执行的SQL语句
String sql = "select * from student"
// 结果集
ResultSet rs = statement.executeQuery(sql)
System.out.println("-----------------")
System.out.println("执行结果如下所示:")
System.out.println("-----------------")
System.out.println(" 学号" + "\t" + " 姓名")
System.out.println("-----------------")
String name = null
while(rs.next()) {
// 选择sname这列数据
name = rs.getString("sname")
// 首先使用ISO-8859-1字符集将name解码为字节序列并将结果存储新的字节数组中。
// 然后使用GB2312字符集解码指定的字节数组
name = new String(name.getBytes("ISO-8859-1"),"GB2312")
// 输出结果
System.out.println(rs.getString("sno") + "\t" + name)
}
rs.close()
conn.close()
} catch(ClassNotFoundException e) {
System.out.println("Sorry,can`t find the Driver!")
e.printStackTrace()
} catch(SQLException e) {
e.printStackTrace()
} catch(Exception e) {
e.printStackTrace()
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)