http://dev.mysql.com/doc/refman/5.7/en/identifiers.html
The following table describes the maximum length for each type of identifier.
Identifier | Maximum Length (characters) |
---|---|
Database | 64 (NDB storage engine: 63) |
Table | 64 (NDB storage engine: 63) |
Column | 64 |
Index | 64 |
Constraint | 64 |
Stored Program | 64 |
View | 64 |
Tablespace | 64 |
Server | 64 |
Log File Group | 64 |
Alias | 256 (see exception following table) |
Compound Statement Label | 16 |
User-Defined Variable | 64 as of MySQL 5.7.5, no limit before that |
Aliases for column names in CREATE VIEW
statements are checked against the maximum column length of 64 characters (not the maximum alias length of 256 characters).
Identifiers are stored using Unicode (UTF-8). This applies to identifiers in table definitions that are stored in .frm
files and to identifiers stored in the grant tables in the mysql
database. The sizes of the identifier string columns in the grant tables are measured in characters. You can use multibyte characters without reducing the number of characters permitted for values stored in these columns. As indicated earlier, the permissible Unicode characters are those in the Basic Multilingual Plane (BMP). Supplementary characters are not permitted.
MySQL Cluster imposes a maximum length of 63 characters for names of databases and tables. See Section 19.1.6.5, “Limits Associated with Database Objects in MySQL Cluster”.