欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

mysql字母后面數字大小

劉柏宏2年前7瀏覽0評論

MySQL字母后面數字大小問題

在MySQL中,有一種特殊的數據類型——VARCHAR。VARCHAR就是可變長度的字符串類型,可以存儲任意長度的字符串。

為什么VARCHAR后面要跟數字?

在MySQL中,必須指定VARCHAR類型的最大長度。所以在創建表的時候,要加上數字,表示VARCHAR類型的最大長度。比如說,如果要存儲用戶名,可以這樣定義:

CREATE TABLE user (
id INT(10) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50) NOT NULL
);

其中,50就表示name字段的最大長度是50個字符。

大小寫問題

在MySQL中,VARCHAR類型的字段是區分大小寫的。也就是說,'abc'和'ABC'是兩個不同的值。但是,在排序的時候,MySQL會把小寫字母排在大寫字母的前面。

數字大小問題

對于VARCHAR類型的字段,MySQL會按照字典順序進行排序。但是,這個順序并不是按照ASCII碼的順序,而是按照字符集的順序。在UTF-8字符集中,數字是按照字符集的順序排列的。所以,如果你的VARCHAR類型字段中包含數字,它們會按照數字的大小進行排序。

比如說,下面這個表:

CREATE TABLE fruit (
id INT(10) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
price VARCHAR(10) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

如果你往里面插入數據:

INSERT INTO fruit (name, price) VALUES
('banana', '10'),
('apple', '9'),
('cherry', '100'),
('pear', '20');

那么,當你查詢fruit表的時候,得到的結果會是這樣的:

+----+--------+-------+
| id | name   | price |
+----+--------+-------+
|  2 | apple  | 9     |
|  1 | banana | 10    |
|  4 | pear   | 20    |
|  3 | cherry | 100   |
+----+--------+-------+

可以看到,數字會按照大小排序。