1. char
CREATE TABLE char_test
(
char_col CHAR(19)
);
INSERT INTO char_test
VALUES
('stringxxxxxxxxxxxx1'),
(' string2'),
('string3 ');
SELECT CONCAT("'", char_col, "'") FROM char_test;
SELECT length(char_col) FROM char_test;
---------------------------------------------------------------------------------
2. varchar
CREATE TABLE varchar_test
(
varchar_col VARCHAR(19)
);
INSERT INTO varchar_test
VALUES
('stringxxxxxxxxxxxx1'),
(' string2'),
('string3 ');
SELECT CONCAT("'", varchar_col, "'") FROM varchar_test;
SELECT length(varchar_col) FROM varchar_test;
-----------------------------------------------------------------------------------------------------
3. char(0)【伪列:新建一列,但是不使用这个列的值。一个比特位存储一个null或""。】
select CONCAT("'",trim(char(0) from ' aac '), "'") from dual;【伪表】
select CONCAT("'",trim(' aac '), "'") from dual;
--------------------------------------------------------------
4. char(n): 0 <= n <= 255,能存储最多字符数255
CREATE TABLE `a` (
`a` char(255) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
5. varchar(n):0 <= n <= 21844 【(65535 / 3) - 1】,能存储最多字符数21844
CREATE TABLE `b` (
`b` varchar(21844) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
6. text:能存储最多字节数65535
CREATE TABLE `c` (
`c` text
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
--------------------------------------------------------------