{"id":147,"date":"2017-04-21T19:14:37","date_gmt":"2017-04-21T19:14:37","guid":{"rendered":"https:\/\/courses.lumenlearning.com\/suny-the-missing-link-an-introduction-to-web-development-and-programming\/chapter\/chapter-39-mysql-data-types\/"},"modified":"2017-04-27T18:37:12","modified_gmt":"2017-04-27T18:37:12","slug":"chapter-39-mysql-data-types","status":"publish","type":"chapter","link":"https:\/\/courses.lumenlearning.com\/suny-the-missing-link-an-introduction-to-web-development-and-programming\/chapter\/chapter-39-mysql-data-types\/","title":{"raw":"Chapter 39: MySQL Data Types","rendered":"Chapter 39: MySQL Data Types"},"content":{"raw":"<div class=\"bc-section section\">\r\n\r\nThe next few pages will likely be a little dry. Apologies now. However, whenever we create a table structure in MySQL we must identify the data type we intend to store in any given column, and depending on the type of data and other features we may want, this is just the beginning. Since one of our goals in the relational approach to database design is reducing overall size, it is also important to consider the <em>best fit<\/em> data type for what we want to store. Familiarizing yourself with the types available in MySQL will lend to your ability to design efficient table structures. The tables below are adopted from <a href=\"http:\/\/www.w3resource.com\/mysql\/mysql-data-types.php\"><span class=\"Hyperlink\">http:\/\/www.w3resource.com\/mysql\/mysql-d<\/span><span class=\"Hyperlink\">ata-types.php<\/span><\/a>. They have been trimmed down in an attempt to not introduce an overwhelming amount of detail. You are encouraged to review the original version for more depth.\r\n<p class=\"Caption\"><em>Table<\/em> <em>14 MySQL Data Types<\/em><\/p>\r\n\r\n<table class=\"Table-1\"><caption>Integer Types<\/caption><colgroup> <col \/> <col \/> <col \/> <col \/><\/colgroup>\r\n<tbody>\r\n<tr>\r\n<th>\r\n<p class=\"Table-Heading\"><strong>Type<\/strong><\/p>\r\n<\/th>\r\n<th>\r\n<p class=\"Table-Heading\"><strong>Length in Bytes<\/strong><\/p>\r\n<\/th>\r\n<th>\r\n<p class=\"Table-Heading\"><strong>Minimum Value(Signed\/Unsigned)<\/strong><\/p>\r\n<\/th>\r\n<th>\r\n<p class=\"Table-Heading\"><strong>Maximum Value(Signed\/Unsigned)<\/strong><\/p>\r\n<\/th>\r\n<\/tr>\r\n<tr class=\"Row-Column-42\">\r\n<td>\r\n<p class=\"Table-Text\">TINYINT<\/p>\r\n<\/td>\r\n<td>\r\n<p class=\"Table-Text\">1<\/p>\r\n<\/td>\r\n<td>\r\n<p class=\"Table-Text\">-128 to 0<\/p>\r\n<\/td>\r\n<td>\r\n<p class=\"Table-Text\">127 to 255<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>\r\n<p class=\"Table-Text\">SMALLINT<\/p>\r\n<\/td>\r\n<td>\r\n<p class=\"Table-Text\">2<\/p>\r\n<\/td>\r\n<td>\r\n<p class=\"Table-Text\">-32768 to 0<\/p>\r\n<\/td>\r\n<td>\r\n<p class=\"Table-Text\">32767 to 65535<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"Row-Column-42\">\r\n<td>\r\n<p class=\"Table-Text\">MEDIUMINT<\/p>\r\n<\/td>\r\n<td>\r\n<p class=\"Table-Text\">3<\/p>\r\n<\/td>\r\n<td>\r\n<p class=\"Table-Text\">-8388608 to 0<\/p>\r\n<\/td>\r\n<td>\r\n<p class=\"Table-Text\">8388607 to 16777215<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>\r\n<p class=\"Table-Text\">INT<\/p>\r\n<\/td>\r\n<td>\r\n<p class=\"Table-Text\">4<\/p>\r\n<\/td>\r\n<td>\r\n<p class=\"Table-Text\">-2147483648 to 0<\/p>\r\n<\/td>\r\n<td>\r\n<p class=\"Table-Text\">2147483647 to 4294967295<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"Row-Column-42\">\r\n<td class=\"Footer\">\r\n<p class=\"Table-Text\">BIGINT<\/p>\r\n<\/td>\r\n<td class=\"Footer\">\r\n<p class=\"Table-Text\">8<\/p>\r\n<\/td>\r\n<td class=\"Footer\">\r\n<p class=\"Table-Text\">-9223372036854775808 to 0<\/p>\r\n<\/td>\r\n<td class=\"Footer\">\r\n<p class=\"Table-Text\">9223372036854775807 to 18446744073709551615<\/p>\r\n<\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<table class=\"Table-1\"><caption>Floating-Point Types<\/caption><colgroup> <col \/> <col \/><\/colgroup>\r\n<tbody>\r\n<tr>\r\n<th>\r\n<p class=\"Table-Heading\"><strong>Types<\/strong><\/p>\r\n<\/th>\r\n<th>\r\n<p class=\"Table-Heading\"><strong>Description<\/strong><\/p>\r\n<\/th>\r\n<\/tr>\r\n<tr class=\"Row-Column-42\">\r\n<td>\r\n<p class=\"Table-Text\">FLOAT<\/p>\r\n<\/td>\r\n<td>\r\n<p class=\"Table-Text\">A precision from 0 to 23 results in a four-byte single-precision FLOAT column.<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr>\r\n<td class=\"Footer\">\r\n<p class=\"Table-Text\">DOUBLE<\/p>\r\n<\/td>\r\n<td class=\"Footer\">\r\n<p class=\"Table-Text\">A precision from 24 to 53 results in an eight-byte double-precision DOUBLE column.<\/p>\r\n<\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<table class=\"Table-1\"><caption>Fixed-Point Types<\/caption><colgroup> <col \/> <col \/><\/colgroup>\r\n<tbody>\r\n<tr>\r\n<th>\r\n<p class=\"Table-Heading\"><strong>Types<\/strong><\/p>\r\n<\/th>\r\n<th>\r\n<p class=\"Table-Heading\"><strong>Description<\/strong><\/p>\r\n<\/th>\r\n<\/tr>\r\n<tr class=\"Row-Column-42\">\r\n<td>\r\n<p class=\"Table-Text\">DECIMAL<\/p>\r\n<\/td>\r\n<td>\r\n<p class=\"Table-Text\">In the format DECIMAL(precision,scale). Maximum number of digits allowed are 65 before MySQL 5.03 and 64 after 5.03.<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr>\r\n<td class=\"Footer\">\r\n<p class=\"Table-Text\">NUMERIC<\/p>\r\n<\/td>\r\n<td class=\"Footer\">\r\n<p class=\"Table-Text\">Same as DECIMAL.<\/p>\r\n<\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<table class=\"Table-1\"><caption>Bit Value Types<\/caption><colgroup> <col \/> <col \/><\/colgroup>\r\n<tbody>\r\n<tr>\r\n<th>\r\n<p class=\"Table-Heading\"><strong>Types<\/strong><\/p>\r\n<\/th>\r\n<th>\r\n<p class=\"Table-Heading\"><strong>Description<\/strong><\/p>\r\n<\/th>\r\n<\/tr>\r\n<tr class=\"Row-Column-42\">\r\n<td class=\"Footer\">\r\n<p class=\"Table-Text\">BIT<\/p>\r\n<\/td>\r\n<td class=\"Footer\">\r\n<p class=\"Table-Text\">In the format b BIT(N), where N is an integer.<\/p>\r\n<\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<table class=\"Table-1\"><caption>Numeric type Attributes<\/caption><colgroup> <col \/> <col \/><\/colgroup>\r\n<tbody>\r\n<tr>\r\n<th>\r\n<p class=\"Table-Heading\"><strong>Types<\/strong><\/p>\r\n<\/th>\r\n<th>\r\n<p class=\"Table-Heading\"><strong>Description<\/strong><\/p>\r\n<\/th>\r\n<\/tr>\r\n<tr class=\"Row-Column-42\">\r\n<td>\r\n<p class=\"Table-Text\">TYPE(N)<\/p>\r\n<\/td>\r\n<td>\r\n<p class=\"Table-Text\">Where N is an integer and display width of the type is up to N digits.<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr>\r\n<td class=\"Footer\">\r\n<p class=\"Table-Text\">ZEROFILL<\/p>\r\n<\/td>\r\n<td class=\"Footer\">\r\n<p class=\"Table-Text\">The default padding of spaces is replaced with zeroes. So, for a column INT(3) ZEROFILL, 7 is displayed as 007.<\/p>\r\n<\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<table class=\"Table-1\"><caption>DATETIME, DATE, and TIMESTAMP Types<\/caption><colgroup> <col \/> <col \/> <col \/> <col \/><\/colgroup>\r\n<tbody>\r\n<tr>\r\n<th>\r\n<p class=\"Table-Heading\"><strong>Types<\/strong><\/p>\r\n<\/th>\r\n<th>\r\n<p class=\"Table-Heading\"><strong>Description<\/strong><\/p>\r\n<\/th>\r\n<th>\r\n<p class=\"Table-Heading\"><strong>Display Format<\/strong><\/p>\r\n<\/th>\r\n<th>\r\n<p class=\"Table-Heading\"><strong>Range<\/strong><\/p>\r\n<\/th>\r\n<\/tr>\r\n<tr class=\"Row-Column-42\">\r\n<td>\r\n<p class=\"Table-Text\">DATETIME<\/p>\r\n<\/td>\r\n<td>\r\n<p class=\"Table-Text\">Use when you need values containing both date and time information.<\/p>\r\n<\/td>\r\n<td>\r\n<p class=\"Table-Text\">YYYY-MM-DD HH:MM:SS<\/p>\r\n<\/td>\r\n<td>\r\n<p class=\"Table-Text\">\u20181000-01-01 00:00:00\u2019 to \u20189999-12-31 23:59:59\u2019.<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>\r\n<p class=\"Table-Text\">DATE<\/p>\r\n<\/td>\r\n<td>\r\n<p class=\"Table-Text\">Use when you need only date information.<\/p>\r\n<\/td>\r\n<td>\r\n<p class=\"Table-Text\">YYYY-MM-DD<\/p>\r\n<\/td>\r\n<td>\r\n<p class=\"Table-Text\">\u20181000-01-01\u2019 to \u20189999-12-31\u2019.<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"Row-Column-42\">\r\n<td>\r\n<p class=\"Table-Text\">TIMESTAMP<\/p>\r\n<\/td>\r\n<td>\r\n<p class=\"Table-Text\">Values are converted from the current time zone to UTC while storing, and converted back from UTC to the current time zone when retrieved.<\/p>\r\n<\/td>\r\n<td>\r\n<p class=\"Table-Text\">YYYY-MM-DD HH:MM:SS<\/p>\r\n<\/td>\r\n<td>\r\n<p class=\"Table-Text\">\u20181970-01-01 00:00:01\u2019 UTC to \u20182038-01-19 03:14:07\u2019 UTC.<\/p>\r\n<\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<table class=\"Table-1\"><caption>String Types<\/caption><colgroup> <col \/> <col \/><\/colgroup>\r\n<tbody>\r\n<tr>\r\n<th>\r\n<p class=\"Table-Heading\"><strong>Types<\/strong><\/p>\r\n<\/th>\r\n<th>\r\n<p class=\"Table-Heading\"><strong>Description<\/strong><\/p>\r\n<\/th>\r\n<\/tr>\r\n<tr class=\"Row-Column-42\">\r\n<td>\r\n<p class=\"Table-Text\">CHAR<\/p>\r\n<\/td>\r\n<td>\r\n<p class=\"Table-Text\">Contains non-binary strings. Length is fixed as you declare while creating a table.<\/p>\r\nWhen stored, they are right-padded with spaces to the specified length.<\/td>\r\n<\/tr>\r\n<tr>\r\n<td class=\"Footer\">\r\n<p class=\"Table-Text\">VARCHAR<\/p>\r\n<\/td>\r\n<td class=\"Footer\">\r\n<p class=\"Table-Text\">Contains non-binary strings. Columns are variable-length strings.<\/p>\r\n<\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<table class=\"Table-1\"><caption>BINARY and VARBINARY Types<\/caption><colgroup> <col \/> <col \/> <col \/><\/colgroup>\r\n<tbody>\r\n<tr>\r\n<th>\r\n<p class=\"Table-Heading\"><strong>Types<\/strong><\/p>\r\n<\/th>\r\n<th>\r\n<p class=\"Table-Heading\"><strong>Description<\/strong><\/p>\r\n<\/th>\r\n<th>\r\n<p class=\"Table-Heading\"><strong>Range in bytes<\/strong><\/p>\r\n<\/th>\r\n<\/tr>\r\n<tr class=\"Row-Column-42\">\r\n<td>\r\n<p class=\"Table-Text\">BINARY<\/p>\r\n<\/td>\r\n<td>\r\n<p class=\"Table-Text\">Contains binary strings.<\/p>\r\n<\/td>\r\n<td>\r\n<p class=\"Table-Text\">0 to 25.<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr>\r\n<td class=\"Footer\">\r\n<p class=\"Table-Text\">VARBINARY<\/p>\r\n<\/td>\r\n<td class=\"Footer\">\r\n<p class=\"Table-Text\">Contains binary strings.<\/p>\r\n<\/td>\r\n<td class=\"Footer\">\r\n<p class=\"Table-Text\">A value from 0 to 255 before MySQL 5.0.3, and 0 to 65,535 in 5.0.3 and later versions.<\/p>\r\n<\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<table class=\"Table-1\"><caption>BLOB and TEXT Types<\/caption><colgroup> <col \/> <col \/> <col \/> <col \/><\/colgroup>\r\n<tbody>\r\n<tr>\r\n<th>\r\n<p class=\"Table-Heading\"><strong>Types<\/strong><\/p>\r\n<\/th>\r\n<th>\r\n<p class=\"Table-Heading\"><strong>Description<\/strong><\/p>\r\n<\/th>\r\n<th>\r\n<p class=\"Table-Heading\">Categories<\/p>\r\n<\/th>\r\n<th>\r\n<p class=\"Table-Heading\">Range.<\/p>\r\n<\/th>\r\n<\/tr>\r\n<tr class=\"Row-Column-42\">\r\n<td rowspan=\"3\">\r\n<p class=\"Table-Text\">BLOB<\/p>\r\n<\/td>\r\n<td rowspan=\"3\">\r\n<p class=\"Table-Text\">Large binary object that containing a variable amount of data. Values are treated as binary strings. You do not need to specify length while creating a column.<\/p>\r\n<\/td>\r\n<td>\r\n<p class=\"Table-Text\">TINYBLOB<\/p>\r\n<\/td>\r\n<td>\r\n<p class=\"Table-Text\">Maximum length of 255 characters.<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>\r\n<p class=\"Table-Text\">MEDIUMBLOB<\/p>\r\n<\/td>\r\n<td>\r\n<p class=\"Table-Text\">Maximum length of 16777215 characters.<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"Row-Column-42\">\r\n<td>\r\n<p class=\"Table-Text\">LONGBLOB<\/p>\r\n<\/td>\r\n<td>\r\n<p class=\"Table-Text\">Maximum length of 4294967295 characters.<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr>\r\n<td class=\"Footer\" rowspan=\"3\">\r\n<p class=\"Table-Text\">TEXT<\/p>\r\n<\/td>\r\n<td class=\"Footer\" rowspan=\"3\">\r\n<p class=\"Table-Text\">Values are treated as character strings having a character set.<\/p>\r\n<\/td>\r\n<td>\r\n<p class=\"Table-Text\">TINYBLOB<\/p>\r\n<\/td>\r\n<td>\r\n<p class=\"Table-Text\">Maximum length of 255 characters.<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"Row-Column-42\">\r\n<td>\r\n<p class=\"Table-Text\">MEDIUMBLOB<\/p>\r\n<\/td>\r\n<td>\r\n<p class=\"Table-Text\">Maximum length of 16777215 characters.<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr>\r\n<td class=\"Footer\">\r\n<p class=\"Table-Text\">LONGBLOB<\/p>\r\n<\/td>\r\n<td class=\"Footer\">\r\n<p class=\"Table-Text\">Maximum length of 4294967295 characters.<\/p>\r\n<\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<h4>ENUM Types<\/h4>\r\nA string object whose value is chosen from a list of values given at the time of table creation. For example:\r\n<pre>ENUM('small', 'medium', 'large')<\/pre>\r\n<h4>SET Types<\/h4>\r\nA string object having zero or more comma separated values (maximum 64). Values are chosen from a list of values given at the time of table creation.\r\n\r\n<\/div>","rendered":"<div class=\"bc-section section\">\n<p>The next few pages will likely be a little dry. Apologies now. However, whenever we create a table structure in MySQL we must identify the data type we intend to store in any given column, and depending on the type of data and other features we may want, this is just the beginning. Since one of our goals in the relational approach to database design is reducing overall size, it is also important to consider the <em>best fit<\/em> data type for what we want to store. Familiarizing yourself with the types available in MySQL will lend to your ability to design efficient table structures. The tables below are adopted from <a href=\"http:\/\/www.w3resource.com\/mysql\/mysql-data-types.php\"><span class=\"Hyperlink\">http:\/\/www.w3resource.com\/mysql\/mysql-d<\/span><span class=\"Hyperlink\">ata-types.php<\/span><\/a>. They have been trimmed down in an attempt to not introduce an overwhelming amount of detail. You are encouraged to review the original version for more depth.<\/p>\n<p class=\"Caption\"><em>Table<\/em> <em>14 MySQL Data Types<\/em><\/p>\n<table class=\"Table-1\">\n<caption>Integer Types<\/caption>\n<colgroup>\n<col \/>\n<col \/>\n<col \/>\n<col \/><\/colgroup>\n<tbody>\n<tr>\n<th>\n<p class=\"Table-Heading\"><strong>Type<\/strong><\/p>\n<\/th>\n<th>\n<p class=\"Table-Heading\"><strong>Length in Bytes<\/strong><\/p>\n<\/th>\n<th>\n<p class=\"Table-Heading\"><strong>Minimum Value(Signed\/Unsigned)<\/strong><\/p>\n<\/th>\n<th>\n<p class=\"Table-Heading\"><strong>Maximum Value(Signed\/Unsigned)<\/strong><\/p>\n<\/th>\n<\/tr>\n<tr class=\"Row-Column-42\">\n<td>\n<p class=\"Table-Text\">TINYINT<\/p>\n<\/td>\n<td>\n<p class=\"Table-Text\">1<\/p>\n<\/td>\n<td>\n<p class=\"Table-Text\">-128 to 0<\/p>\n<\/td>\n<td>\n<p class=\"Table-Text\">127 to 255<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p class=\"Table-Text\">SMALLINT<\/p>\n<\/td>\n<td>\n<p class=\"Table-Text\">2<\/p>\n<\/td>\n<td>\n<p class=\"Table-Text\">-32768 to 0<\/p>\n<\/td>\n<td>\n<p class=\"Table-Text\">32767 to 65535<\/p>\n<\/td>\n<\/tr>\n<tr class=\"Row-Column-42\">\n<td>\n<p class=\"Table-Text\">MEDIUMINT<\/p>\n<\/td>\n<td>\n<p class=\"Table-Text\">3<\/p>\n<\/td>\n<td>\n<p class=\"Table-Text\">-8388608 to 0<\/p>\n<\/td>\n<td>\n<p class=\"Table-Text\">8388607 to 16777215<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p class=\"Table-Text\">INT<\/p>\n<\/td>\n<td>\n<p class=\"Table-Text\">4<\/p>\n<\/td>\n<td>\n<p class=\"Table-Text\">-2147483648 to 0<\/p>\n<\/td>\n<td>\n<p class=\"Table-Text\">2147483647 to 4294967295<\/p>\n<\/td>\n<\/tr>\n<tr class=\"Row-Column-42\">\n<td class=\"Footer\">\n<p class=\"Table-Text\">BIGINT<\/p>\n<\/td>\n<td class=\"Footer\">\n<p class=\"Table-Text\">8<\/p>\n<\/td>\n<td class=\"Footer\">\n<p class=\"Table-Text\">-9223372036854775808 to 0<\/p>\n<\/td>\n<td class=\"Footer\">\n<p class=\"Table-Text\">9223372036854775807 to 18446744073709551615<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table class=\"Table-1\">\n<caption>Floating-Point Types<\/caption>\n<colgroup>\n<col \/>\n<col \/><\/colgroup>\n<tbody>\n<tr>\n<th>\n<p class=\"Table-Heading\"><strong>Types<\/strong><\/p>\n<\/th>\n<th>\n<p class=\"Table-Heading\"><strong>Description<\/strong><\/p>\n<\/th>\n<\/tr>\n<tr class=\"Row-Column-42\">\n<td>\n<p class=\"Table-Text\">FLOAT<\/p>\n<\/td>\n<td>\n<p class=\"Table-Text\">A precision from 0 to 23 results in a four-byte single-precision FLOAT column.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"Footer\">\n<p class=\"Table-Text\">DOUBLE<\/p>\n<\/td>\n<td class=\"Footer\">\n<p class=\"Table-Text\">A precision from 24 to 53 results in an eight-byte double-precision DOUBLE column.<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table class=\"Table-1\">\n<caption>Fixed-Point Types<\/caption>\n<colgroup>\n<col \/>\n<col \/><\/colgroup>\n<tbody>\n<tr>\n<th>\n<p class=\"Table-Heading\"><strong>Types<\/strong><\/p>\n<\/th>\n<th>\n<p class=\"Table-Heading\"><strong>Description<\/strong><\/p>\n<\/th>\n<\/tr>\n<tr class=\"Row-Column-42\">\n<td>\n<p class=\"Table-Text\">DECIMAL<\/p>\n<\/td>\n<td>\n<p class=\"Table-Text\">In the format DECIMAL(precision,scale). Maximum number of digits allowed are 65 before MySQL 5.03 and 64 after 5.03.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"Footer\">\n<p class=\"Table-Text\">NUMERIC<\/p>\n<\/td>\n<td class=\"Footer\">\n<p class=\"Table-Text\">Same as DECIMAL.<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table class=\"Table-1\">\n<caption>Bit Value Types<\/caption>\n<colgroup>\n<col \/>\n<col \/><\/colgroup>\n<tbody>\n<tr>\n<th>\n<p class=\"Table-Heading\"><strong>Types<\/strong><\/p>\n<\/th>\n<th>\n<p class=\"Table-Heading\"><strong>Description<\/strong><\/p>\n<\/th>\n<\/tr>\n<tr class=\"Row-Column-42\">\n<td class=\"Footer\">\n<p class=\"Table-Text\">BIT<\/p>\n<\/td>\n<td class=\"Footer\">\n<p class=\"Table-Text\">In the format b BIT(N), where N is an integer.<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table class=\"Table-1\">\n<caption>Numeric type Attributes<\/caption>\n<colgroup>\n<col \/>\n<col \/><\/colgroup>\n<tbody>\n<tr>\n<th>\n<p class=\"Table-Heading\"><strong>Types<\/strong><\/p>\n<\/th>\n<th>\n<p class=\"Table-Heading\"><strong>Description<\/strong><\/p>\n<\/th>\n<\/tr>\n<tr class=\"Row-Column-42\">\n<td>\n<p class=\"Table-Text\">TYPE(N)<\/p>\n<\/td>\n<td>\n<p class=\"Table-Text\">Where N is an integer and display width of the type is up to N digits.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"Footer\">\n<p class=\"Table-Text\">ZEROFILL<\/p>\n<\/td>\n<td class=\"Footer\">\n<p class=\"Table-Text\">The default padding of spaces is replaced with zeroes. So, for a column INT(3) ZEROFILL, 7 is displayed as 007.<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table class=\"Table-1\">\n<caption>DATETIME, DATE, and TIMESTAMP Types<\/caption>\n<colgroup>\n<col \/>\n<col \/>\n<col \/>\n<col \/><\/colgroup>\n<tbody>\n<tr>\n<th>\n<p class=\"Table-Heading\"><strong>Types<\/strong><\/p>\n<\/th>\n<th>\n<p class=\"Table-Heading\"><strong>Description<\/strong><\/p>\n<\/th>\n<th>\n<p class=\"Table-Heading\"><strong>Display Format<\/strong><\/p>\n<\/th>\n<th>\n<p class=\"Table-Heading\"><strong>Range<\/strong><\/p>\n<\/th>\n<\/tr>\n<tr class=\"Row-Column-42\">\n<td>\n<p class=\"Table-Text\">DATETIME<\/p>\n<\/td>\n<td>\n<p class=\"Table-Text\">Use when you need values containing both date and time information.<\/p>\n<\/td>\n<td>\n<p class=\"Table-Text\">YYYY-MM-DD HH:MM:SS<\/p>\n<\/td>\n<td>\n<p class=\"Table-Text\">\u20181000-01-01 00:00:00\u2019 to \u20189999-12-31 23:59:59\u2019.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p class=\"Table-Text\">DATE<\/p>\n<\/td>\n<td>\n<p class=\"Table-Text\">Use when you need only date information.<\/p>\n<\/td>\n<td>\n<p class=\"Table-Text\">YYYY-MM-DD<\/p>\n<\/td>\n<td>\n<p class=\"Table-Text\">\u20181000-01-01\u2019 to \u20189999-12-31\u2019.<\/p>\n<\/td>\n<\/tr>\n<tr class=\"Row-Column-42\">\n<td>\n<p class=\"Table-Text\">TIMESTAMP<\/p>\n<\/td>\n<td>\n<p class=\"Table-Text\">Values are converted from the current time zone to UTC while storing, and converted back from UTC to the current time zone when retrieved.<\/p>\n<\/td>\n<td>\n<p class=\"Table-Text\">YYYY-MM-DD HH:MM:SS<\/p>\n<\/td>\n<td>\n<p class=\"Table-Text\">\u20181970-01-01 00:00:01\u2019 UTC to \u20182038-01-19 03:14:07\u2019 UTC.<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table class=\"Table-1\">\n<caption>String Types<\/caption>\n<colgroup>\n<col \/>\n<col \/><\/colgroup>\n<tbody>\n<tr>\n<th>\n<p class=\"Table-Heading\"><strong>Types<\/strong><\/p>\n<\/th>\n<th>\n<p class=\"Table-Heading\"><strong>Description<\/strong><\/p>\n<\/th>\n<\/tr>\n<tr class=\"Row-Column-42\">\n<td>\n<p class=\"Table-Text\">CHAR<\/p>\n<\/td>\n<td>\n<p class=\"Table-Text\">Contains non-binary strings. Length is fixed as you declare while creating a table.<\/p>\n<p>When stored, they are right-padded with spaces to the specified length.<\/td>\n<\/tr>\n<tr>\n<td class=\"Footer\">\n<p class=\"Table-Text\">VARCHAR<\/p>\n<\/td>\n<td class=\"Footer\">\n<p class=\"Table-Text\">Contains non-binary strings. Columns are variable-length strings.<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table class=\"Table-1\">\n<caption>BINARY and VARBINARY Types<\/caption>\n<colgroup>\n<col \/>\n<col \/>\n<col \/><\/colgroup>\n<tbody>\n<tr>\n<th>\n<p class=\"Table-Heading\"><strong>Types<\/strong><\/p>\n<\/th>\n<th>\n<p class=\"Table-Heading\"><strong>Description<\/strong><\/p>\n<\/th>\n<th>\n<p class=\"Table-Heading\"><strong>Range in bytes<\/strong><\/p>\n<\/th>\n<\/tr>\n<tr class=\"Row-Column-42\">\n<td>\n<p class=\"Table-Text\">BINARY<\/p>\n<\/td>\n<td>\n<p class=\"Table-Text\">Contains binary strings.<\/p>\n<\/td>\n<td>\n<p class=\"Table-Text\">0 to 25.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"Footer\">\n<p class=\"Table-Text\">VARBINARY<\/p>\n<\/td>\n<td class=\"Footer\">\n<p class=\"Table-Text\">Contains binary strings.<\/p>\n<\/td>\n<td class=\"Footer\">\n<p class=\"Table-Text\">A value from 0 to 255 before MySQL 5.0.3, and 0 to 65,535 in 5.0.3 and later versions.<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table class=\"Table-1\">\n<caption>BLOB and TEXT Types<\/caption>\n<colgroup>\n<col \/>\n<col \/>\n<col \/>\n<col \/><\/colgroup>\n<tbody>\n<tr>\n<th>\n<p class=\"Table-Heading\"><strong>Types<\/strong><\/p>\n<\/th>\n<th>\n<p class=\"Table-Heading\"><strong>Description<\/strong><\/p>\n<\/th>\n<th>\n<p class=\"Table-Heading\">Categories<\/p>\n<\/th>\n<th>\n<p class=\"Table-Heading\">Range.<\/p>\n<\/th>\n<\/tr>\n<tr class=\"Row-Column-42\">\n<td rowspan=\"3\">\n<p class=\"Table-Text\">BLOB<\/p>\n<\/td>\n<td rowspan=\"3\">\n<p class=\"Table-Text\">Large binary object that containing a variable amount of data. Values are treated as binary strings. You do not need to specify length while creating a column.<\/p>\n<\/td>\n<td>\n<p class=\"Table-Text\">TINYBLOB<\/p>\n<\/td>\n<td>\n<p class=\"Table-Text\">Maximum length of 255 characters.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p class=\"Table-Text\">MEDIUMBLOB<\/p>\n<\/td>\n<td>\n<p class=\"Table-Text\">Maximum length of 16777215 characters.<\/p>\n<\/td>\n<\/tr>\n<tr class=\"Row-Column-42\">\n<td>\n<p class=\"Table-Text\">LONGBLOB<\/p>\n<\/td>\n<td>\n<p class=\"Table-Text\">Maximum length of 4294967295 characters.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"Footer\" rowspan=\"3\">\n<p class=\"Table-Text\">TEXT<\/p>\n<\/td>\n<td class=\"Footer\" rowspan=\"3\">\n<p class=\"Table-Text\">Values are treated as character strings having a character set.<\/p>\n<\/td>\n<td>\n<p class=\"Table-Text\">TINYBLOB<\/p>\n<\/td>\n<td>\n<p class=\"Table-Text\">Maximum length of 255 characters.<\/p>\n<\/td>\n<\/tr>\n<tr class=\"Row-Column-42\">\n<td>\n<p class=\"Table-Text\">MEDIUMBLOB<\/p>\n<\/td>\n<td>\n<p class=\"Table-Text\">Maximum length of 16777215 characters.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"Footer\">\n<p class=\"Table-Text\">LONGBLOB<\/p>\n<\/td>\n<td class=\"Footer\">\n<p class=\"Table-Text\">Maximum length of 4294967295 characters.<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h4>ENUM Types<\/h4>\n<p>A string object whose value is chosen from a list of values given at the time of table creation. For example:<\/p>\n<pre>ENUM('small', 'medium', 'large')<\/pre>\n<h4>SET Types<\/h4>\n<p>A string object having zero or more comma separated values (maximum 64). Values are chosen from a list of values given at the time of table creation.<\/p>\n<\/div>\n\n\t\t\t <section class=\"citations-section\" role=\"contentinfo\">\n\t\t\t <h3>Candela Citations<\/h3>\n\t\t\t\t\t <div>\n\t\t\t\t\t\t <div id=\"citation-list-147\">\n\t\t\t\t\t\t\t <div class=\"licensing\"><div class=\"license-attribution-dropdown-subheading\">CC licensed content, Shared previously<\/div><ul class=\"citation-list\"><li>The Missing Link. <strong>Authored by<\/strong>: Michael Mendez. <strong>Provided by<\/strong>: Open SUNY Textbooks. <strong>Located at<\/strong>: <a target=\"_blank\" href=\"https:\/\/textbooks.opensuny.org\/the-missing-link-an-introduction-to-web-development-and-programming\/\">https:\/\/textbooks.opensuny.org\/the-missing-link-an-introduction-to-web-development-and-programming\/<\/a>. <strong>License<\/strong>: <em><a target=\"_blank\" rel=\"license\" href=\"https:\/\/creativecommons.org\/licenses\/by-nc-sa\/4.0\/\">CC BY-NC-SA: Attribution-NonCommercial-ShareAlike<\/a><\/em><\/li><\/ul><\/div>\n\t\t\t\t\t\t <\/div>\n\t\t\t\t\t <\/div>\n\t\t\t <\/section>","protected":false},"author":311,"menu_order":4,"template":"","meta":{"_candela_citation":"[{\"type\":\"cc\",\"description\":\"The Missing Link\",\"author\":\"Michael Mendez\",\"organization\":\"Open SUNY Textbooks\",\"url\":\"https:\/\/textbooks.opensuny.org\/the-missing-link-an-introduction-to-web-development-and-programming\/\",\"project\":\"\",\"license\":\"cc-by-nc-sa\",\"license_terms\":\"\"}]","CANDELA_OUTCOMES_GUID":"","pb_show_title":"on","pb_short_title":"","pb_subtitle":"","pb_authors":[],"pb_section_license":""},"chapter-type":[],"contributor":[],"license":[],"class_list":["post-147","chapter","type-chapter","status-publish","hentry"],"part":140,"_links":{"self":[{"href":"https:\/\/courses.lumenlearning.com\/suny-the-missing-link-an-introduction-to-web-development-and-programming\/wp-json\/pressbooks\/v2\/chapters\/147","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/courses.lumenlearning.com\/suny-the-missing-link-an-introduction-to-web-development-and-programming\/wp-json\/pressbooks\/v2\/chapters"}],"about":[{"href":"https:\/\/courses.lumenlearning.com\/suny-the-missing-link-an-introduction-to-web-development-and-programming\/wp-json\/wp\/v2\/types\/chapter"}],"author":[{"embeddable":true,"href":"https:\/\/courses.lumenlearning.com\/suny-the-missing-link-an-introduction-to-web-development-and-programming\/wp-json\/wp\/v2\/users\/311"}],"version-history":[{"count":2,"href":"https:\/\/courses.lumenlearning.com\/suny-the-missing-link-an-introduction-to-web-development-and-programming\/wp-json\/pressbooks\/v2\/chapters\/147\/revisions"}],"predecessor-version":[{"id":277,"href":"https:\/\/courses.lumenlearning.com\/suny-the-missing-link-an-introduction-to-web-development-and-programming\/wp-json\/pressbooks\/v2\/chapters\/147\/revisions\/277"}],"part":[{"href":"https:\/\/courses.lumenlearning.com\/suny-the-missing-link-an-introduction-to-web-development-and-programming\/wp-json\/pressbooks\/v2\/parts\/140"}],"metadata":[{"href":"https:\/\/courses.lumenlearning.com\/suny-the-missing-link-an-introduction-to-web-development-and-programming\/wp-json\/pressbooks\/v2\/chapters\/147\/metadata\/"}],"wp:attachment":[{"href":"https:\/\/courses.lumenlearning.com\/suny-the-missing-link-an-introduction-to-web-development-and-programming\/wp-json\/wp\/v2\/media?parent=147"}],"wp:term":[{"taxonomy":"chapter-type","embeddable":true,"href":"https:\/\/courses.lumenlearning.com\/suny-the-missing-link-an-introduction-to-web-development-and-programming\/wp-json\/pressbooks\/v2\/chapter-type?post=147"},{"taxonomy":"contributor","embeddable":true,"href":"https:\/\/courses.lumenlearning.com\/suny-the-missing-link-an-introduction-to-web-development-and-programming\/wp-json\/wp\/v2\/contributor?post=147"},{"taxonomy":"license","embeddable":true,"href":"https:\/\/courses.lumenlearning.com\/suny-the-missing-link-an-introduction-to-web-development-and-programming\/wp-json\/wp\/v2\/license?post=147"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}