MySQL Tutorials - Herong's Tutorial Examples - v4.46, by Herong Yang
Table Column Types for Look Up Values
Describes 2 types of table columns to store look up values: ENUM and SET.
There are 2 types of table columns to store look up values: ENUM, SET.
"ENUM" - A look up value from a predefined list. ENUM actually stores the index of the value as an integer.
"SET" - A combination of look up values from a predefined list. SET actually uses 64 bits and their position to represent each look up value. So a SET can support only up to 64 values.
Examples of look up value column types, EnumSetColumns.sql:
-- EnumSetColumns.sql -- Copyright (c) 2005 HerongYang.com. All Rights Reserved. -- CREATE TABLE EnumSet ( Line VARCHAR(2), E ENUM('Mercury', 'Venus', 'Earth', 'Mars'), S SET('a','b','c','d') ); INSERT INTO EnumSet VALUES ( '1', 'Earth', 'c' ); INSERT INTO EnumSet VALUES ( '1', 'Earth', 'a,c' ); SELECT * FROM EnumSet; SELECT Line, E+0, S+0 FROM EnumSet; DROP TABLE EnumSet;
Running EnumSetColumns.sql on MySQL 8.0 server gives you:
herong> %mysql%\bin\mysql --user=root --password=TopSecret test \ < EnumSetColumns.sql Line E S 1 Earth c 1 Earth a,c Line E+0 S+0 1 3 4 1 3 5
Note that ENUM and SET columns actually store integers to represent look up values.
Table of Contents
MySQL Introduction and Installation
Introduction of MySQL Programs
Perl Programs and MySQL Servers
Java Programs and MySQL Servers
Character Strings and Bit Strings
►Table Column Types for Different Types of Values
Table Column Types for Character Strings
Table Column Types for Byte Strings
Table Column Types for Bit Strings
Table Column Types for Exact Numbers
Table Column Types for Approximate Numbers
Table Column Types for Date and Time Values
Table Column Types for LOB (Large OBject)
►Table Column Types for Look Up Values
Table Column Types for JSON Documents
Table Column Types for Spatial Geometry Data
Using DDL to Create Tables and Indexes
Using DML to Insert, Update and Delete Records
Using SELECT to Query Database
Window Functions for Statistical Analysis
Use Index for Better Performance
Transaction Management and Isolation Levels
Defining and Calling Stored Procedures
Variables, Loops and Cursors Used in Stored Procedures
System, User-Defined and Stored Procedure Variables
Storage Engines in MySQL Server
InnoDB Storage Engine - Primary and Secondary Indexes
Performance Tuning and Optimization
Installing MySQL Server on Linux