我目前正在尝试创建一个保存哈希值(例如 MD5 哈希值)的 mySQL 数据库。我使用的是 PHPmyAdmin 版本 3.3.9,MySQL 客户端版本:4.1.22
我已经创建了一个名为 hashes 的数据库。我是 mySQL 新手,如何添加包含哈希数据的表?
最佳答案
哈希列应该是 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
上添加键以获得更好的性能。
关于MySQL 哈希数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4890793/