如何给MySQL数据库的表中的密码字段设置长度限制?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何给MySQL数据库的表中的密码字段设置长度限制?相关的知识,希望对你有一定的参考价值。

例如,我建了一个user表,其中要插入一个password字段,我想限制password的长度为6-20,mysql命令如何实现?其中还涉及一个MD5加密的问题,请前辈耐心讲解。

MD5加密的话,限制长度在前台限制好了。

存储的时候MD5加密存储
密码 = MD5(密码)
参考技术A 密码要在传到服务器之前加密吧,否则不就白加密了吗

如果 mySQL 中的表中存在列名/字段名,则搜索数据库

【中文标题】如果 mySQL 中的表中存在列名/字段名,则搜索数据库【英文标题】:Search database if column name/field name exists in a table in mySQL 【发布时间】:2012-04-23 11:17:55 【问题描述】:

如果mysql中的表中存在列名/字段名,有没有办法搜索数据库?

【问题讨论】:

How to find all the tables in MySQL with specific column names in them? 的可能重复项 【参考方案1】:

如果您想搜索两列或更多列,请使用以下提及的内容。

 SELECT DISTINCT TABLE_NAME 
        FROM INFORMATION_SCHEMA.COLUMNS
        WHERE COLUMN_NAME IN ('columnA','ColumnB')
            AND TABLE_SCHEMA='YourDatabase';

【讨论】:

【参考方案2】:
SHOW COLUMNS FROM tablename LIKE 'columnname'

玩得开心! :-)

更新:

如 cmets 中所述,这仅搜索一个表,而不是整个数据库(每个表)。在这种情况下,请参考 DhruvPathak 的回答。

【讨论】:

那只会搜索 1 个表而不是整个数据库。 嗯,好吧 - 如果某个列在某个表中,我确实理解了这个问题!【参考方案3】:

如果你想在整个数据库中搜索,那么你应该尝试

SELECT * 
FROM information_schema.COLUMNS 
WHERE 
    TABLE_SCHEMA = 'db_name' 
AND COLUMN_NAME = 'column_name'

如果你想在特定的表中搜索,那么你应该尝试

SELECT * 
FROM information_schema.COLUMNS 
WHERE 
    TABLE_SCHEMA = 'db_name' 
AND TABLE_NAME = 'table_name' 
AND COLUMN_NAME = 'column_name'

【讨论】:

【参考方案4】:

使用 INFORMATION_SCHEMA 数据库及其表。

例如:

    SELECT *
FROM   information_schema.columns
WHERE  table_schema = 'MY_DATABASE'
       AND column_name IN ( 'MY_COLUMN_NAME' );  

【讨论】:

以上是关于如何给MySQL数据库的表中的密码字段设置长度限制?的主要内容,如果未能解决你的问题,请参考以下文章

MySQL表中的密码字段类型问题

在sql中建表时如何查看字段的长度

MySQL 中各种对象的大小长度限制

如何从mongodb的表中读取各字段对应的类型

mysql外键约束怎么写

mysql创建表