База данных MySQL для хэшей - PullRequest
       7

База данных MySQL для хэшей

0 голосов
/ 03 февраля 2011

В настоящее время я пытаюсь создать базу данных mySQL, которая содержит хэши, такие как хеши MD5.Я использую PHPmyAdmin версии 3.3.9 и версию клиента MySQL: 4.1.22

Я уже создал базу данных с именем hashes.Я новичок в mySQL, так как я могу добавить таблицу с данными для хэша?

Ответы [ 4 ]

1 голос
/ 03 февраля 2011

Столбец хэша должен иметь значение CHAR(32), поскольку это длина хэша:

CREATE TABLE `hashes` (
    `id` INT NOT NULL AUTO_INCREMENT, 
    `hash` CHAR(32), 
    PRIMARY KEY (`id`)
);

mysql> describe hashes;
+-------+----------+------+-----+---------+----------------+
| Field | Type     | Null | Key | Default | Extra          |
+-------+----------+------+-----+---------+----------------+
| id    | int(11)  | NO   | PRI | NULL    | auto_increment |
| hash  | char(32) | YES  |     | NULL    |                |
+-------+----------+------+-----+---------+----------------+

Если вы хотите выбрать из таблицы данный пользовательский ввод:

-- Insert sample data:
mysql> INSERT INTO `hashes` VALUES (null, MD5('hello'));
Query OK, 1 row affected (0.00 sec)

-- Test retrieval:
mysql> SELECT * FROM `hashes` WHERE `hash` = MD5('hello');
+----+----------------------------------+
| id | hash                             |
+----+----------------------------------+
|  1 | 5d41402abc4b2a76b9719d911017c592 |
+----+----------------------------------+
1 row in set (0.00 sec)

Вы можете добавить ключ на hash для повышения производительности.

0 голосов
/ 03 февраля 2011

Если вы откроете базу данных (щелкните по ее имени в левом столбце), появится раздел «Создать новую таблицу в базе данных dbname». Введите имя таблицы, которую вы хотите (например, хэши), и количество полей, которые вы хотите.

Здесь нам нужно немного больше информации: если вы просто хотите хранить хэши и хэши в отдельности, вам понадобятся два поля: уникальный идентификатор хэша (целочисленного типа, с auto_increment, установленным в true) и 32 символа текстовое поле. Я немного не уверен в полезности этого, поэтому, если вы опубликуете немного больше информации, мы сможем помочь вам с тем, чего вы пытаетесь добиться немного лучше?

Edit: В этом случае вам понадобятся три поля: идентификатор хеша (уникальная ссылка для каждой записи в таблице), хеш и открытый текст, с которым он соотносится. Установите хеш-идентификатор равным целому числу, а auto_increment - true. Установите для поля хеша значение varchar длиной 32, а для поля открытого текста - «текст».

0 голосов
/ 03 февраля 2011

Посмотрите здесь: http://dev.mysql.com/doc/refman/5.1/en/create-table.html

Конечно, вы можете сделать это с помощью phpMyAdmin, но лучше понять настоящий SQL.

0 голосов
/ 03 февраля 2011

Хеш может быть сохранен как двоичные данные или (более удобно) как текст. Функция PHP MD5 по умолчанию выводит строку из 32 символов, поэтому вам потребуется таблица с полем, которое может содержать строку из 32 символов. Это все. :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...