目錄
文本類型類型:
CHAR(size)
VARCHAR(size)
TEXT
TINYTEXT, MEDIUMTEXT, LONGTEXT
BLOB, MEDIUMBLOB, LONGBLOB
ENUM
在mysql中,常用數據類型有三種:
1、文本類型;
2、數字類型;
3、日期/時間類型;
文本類型類型:
【常用的文本類型:char(size)、varchar(size)】
數據類型 | 描述 |
---|---|
CHAR(size) =>char | 保存固定長度的字符串(可包含字母、數字以及特殊字 符)。在括號中指定字符串的長度。最多 255 個字符。 |
VARCHAR(size)=>varchar | 保存可變長度的字符串(可包含字母、數字以及特殊字 符)。在括號中指定字符串的最大長度。最多 255 個字 符。如果size>255,則類型會自動轉換為TEXT類型。 |
TEXT | 存放最大長度為 65,535 個字符的字符串。 |
TINYTEXT | 存放最大長度為 255 個字符的字符串。 |
MEDIUMTEXT | 存放最大長度為 16,777,215 個字符的字符串。 |
LONGTEXT | 存放最大長度為 4,294,967,295 個字符的字符串。 |
BLOB | 用于 BLOBs (Binary Large OBjects)。存放最多 65,535 字節的數據。 |
MEDIUMBLOB | 用于 BLOBs (Binary Large OBjects)。存放最多 16,777,215 字節的數據。 |
LONGBLOB | 用于 BLOBs (Binary Large OBjects)。存放最多 4,294,967,295 字節的數據。 |
ENUM | 枚舉類型 |
CHAR(size)
應用:用于存儲固定長度的字符串,如國家代碼、郵政編碼等。
舉例:存儲國家代碼(通常為2個字符)
CREATE TABLE countries ( country_code CHAR(2) NOT NULL, country_name VARCHAR(255) NOT NULL
); INSERT INTO countries (country_code, country_name) VALUES ('US', 'United States');
VARCHAR(size)
應用:用于存儲可變長度的字符串,如姓名、地址等。
舉例:存儲用戶的全名
CREATE TABLE users ( user_id INT AUTO_INCREMENT PRIMARY KEY, full_name VARCHAR(255) NOT NULL
); INSERT INTO users (full_name) VALUES ('John Doe');
TEXT
應用:用于存儲大量的文本數據,如文章、評論等。
舉例:存儲博客文章
CREATE TABLE blog_posts ( post_id INT AUTO_INCREMENT PRIMARY KEY, title VARCHAR(255) NOT NULL, content TEXT NOT NULL
); INSERT INTO blog_posts (title, content) VALUES ('My First Blog Post', 'This is the content of my first blog post.');
TINYTEXT, MEDIUMTEXT, LONGTEXT
應用:與TEXT類似,但用于存儲不同大小的大量文本數據。
舉例:使用MEDIUMTEXT存儲長文章或文檔
CREATE TABLE documents ( doc_id INT AUTO_INCREMENT PRIMARY KEY, doc_name VARCHAR(255) NOT NULL, doc_content MEDIUMTEXT NOT NULL
); -- 插入數據會很長,這里省略具體內容
INSERT INTO documents (doc_name, doc_content) VALUES ('My Long Document', '...');
BLOB, MEDIUMBLOB, LONGBLOB
應用:用于存儲二進制大對象,如圖片、音頻、視頻等文件內容。
舉例:存儲用戶頭像
CREATE TABLE user_profiles ( user_id INT NOT NULL, avatar_image BLOB NOT NULL, FOREIGN KEY (user_id) REFERENCES users(user_id)
); -- 插入BLOB數據通常需要使用編程語言的數據庫API,這里只是示意
-- INSERT INTO user_profiles (user_id, avatar_image) VALUES (1, <binary_data>);
ENUM
應用:用于存儲預定義的值集合中的一個值,如性別、顏色等。
舉例:存儲用戶的性別
CREATE TABLE users_enum ( user_id INT AUTO_INCREMENT PRIMARY KEY, gender ENUM('Male', 'Female', 'Other') NOT NULL
); INSERT INTO users_enum (gender) VALUES ('Male');