Справка по настройке базы данных MySQL

#mysql #schema

#mysql #схема

Вопрос:

Мне нужна помощь в настройке моей базы данных MySQL.

Я хотел бы, чтобы в базе данных была таблица с именем accounts. Все учетные записи пользователей будут храниться в этой базе данных. Учетная запись пользователя будет иметь ключи:

  • Имя
  • Фамилия
  • Эл. адрес
  • Имя пользователя
  • Пароль
  • Дата последнего входа в систему.

Я был бы очень признателен, если бы вы могли сказать мне, как должна выглядеть схема для этого.

Ответ №1:

 CREATE TABLE  `MyDatabase`.`accounts` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`FirstName` VARCHAR( 32 ) NOT NULL ,
`LastName` VARCHAR( 32 ) NOT NULL ,
`Email` VARCHAR( 64 ) NOT NULL ,
`Username` VARCHAR( 32 ) NOT NULL ,
`Password` CHAR( 32 ) NOT NULL ,
`LastLoginDate` DATE NOT NULL
)
  

Предполагается, что вы используете хэшированный пароль MD5 (длиной 32). Замените MyDatabase именем вашей базы данных.

Комментарии:

1. Итак, вам нужно создавать новую таблицу для каждого пользователя?

2. Нет чтобы добавить пользователя, вы должны использовать синтаксис MySQL «INSERT INTO». Например: ВСТАВИТЬ В учетные записи (имя, фамилия, Электронная почта, имя пользователя, пароль, lastLoginDate) ЗНАЧЕНИЯ («Джон», «Смит», «Jsmith@gmail.com «, «jsmith», «jsmithpasswordhash», «дата»)

3. Блестяще, спасибо. Еще одна вещь для вас, не могли бы вы сказать мне, как я мог бы изменить параметры сортировки вновь созданной таблицы на UTF-8?

4. ИЗМЕНИТЬ НАБОР СИМВОЛОВ учетных ЗАПИСЕЙ ТАБЛИЦЫ utf8

Ответ №2:

Я думаю, вы имеете в виду, что учетная запись пользователя будет иметь эти столбцы. Конечно, это не все ключи-кандидаты.

Нет идентификатора учетной записи? Разве это не был бы лучший уникальный первичный ключ?

Я вижу, где предложенные вами столбцы будут находиться в таблице user / customer; имя пользователя и пароль (зашифрованные и сохраненные, конечно) будут в таблице учетных данных. У меня не было бы ничего из этого в таблице account. У меня был бы внешний ключ, указывающий на пользователя, которому принадлежала учетная запись.