我正在尝试为POP3协议创建一个服务器。我对mySql比较陌生,想创建一个用于存储用户(用户名和密码)及其相应电子邮件(一些文本,而不是电子邮件ID)的简单数据库。使用MySql创建表格(表格)
例如:假设user1有username1和password1。我想创建另一个表,指向user1并在那里包含他的电子邮件。
我的主要目的是使用Java运行查询并访问用户(使用他们的用户名和密码)及其电子邮件。
我该怎么做?
我正在尝试为POP3协议创建一个服务器。我对mySql比较陌生,想创建一个用于存储用户(用户名和密码)及其相应电子邮件(一些文本,而不是电子邮件ID)的简单数据库。使用MySql创建表格(表格)
例如:假设user1有username1和password1。我想创建另一个表,指向user1并在那里包含他的电子邮件。
我的主要目的是使用Java运行查询并访问用户(使用他们的用户名和密码)及其电子邮件。
我该怎么做?
看看this答案知道如何在数据库中存储密码。
你可以有你的设计是这样的:
users
- id int PK
- username varchar unique not null
- passwordhash varchar not null
user_emails
- id int PK
- user_id int not null FK -> users(id)
- email varchar not null
我不会写下来DDL为您服务。查看create table
语法的供应商文档。
感谢您的宝贵回应。即使我的想法与刚才所说的一样,但问题是,我需要维护所有电子邮件的编号,即所有电子邮件都不能驻留在一张表中。每个用户需要有他自己的电子邮件表。我希望你能明白我的观点。 –
我不明白。为什么你会为每个用户创建一个新表格?在进行选择时,您可以从单个表中获取编号。看到这个 - http://www.mysqltutorial.org/mysql-row_number/ – GurV
是否可以将外键分配给整个表而不是其各个行? –
你知道关于JDBC的一些东西吗?看看那里:http://www.tutorialspoint.com/jdbc/ –
是的,我知道jdbc,但无法弄清楚如何在table2(包含用户)下创建一个table1(包含电子邮件)指向table1 –
我没有跟随你的问题。你的意思是你已经有一个包含user1,username1,password1的表,并且你想创建另一个包含user1所有邮件的表? – David