MySQL和MongoDB是兩種不同類型的數據庫,它們有著不同的儲存數據類型。
在MySQL中,數據類型包括整型、浮點型、字符型、日期時間型等。其中,整型包括INT、BIGINT、TINYINT等類型,浮點型包括FLOAT、DOUBLE等類型,字符型包括VARCHAR、TEXT等類型,日期時間型包括DATE、DATETIME等類型。
舉例來說,假設我們要保存用戶信息,可以創建一個名為users的表,包含ID、姓名、年齡、性別、出生日期等字段。其中,ID使用自增長的BIGINT類型,姓名使用最長為100個字符的VARCHAR類型,年齡使用TINYINT類型,性別使用枚舉類型ENUM('男','女'),出生日期使用DATE類型。
CREATE TABLE users ( ID BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100) NOT NULL, age TINYINT UNSIGNED NOT NULL, gender ENUM('男', '女') NOT NULL, birthday DATE NOT NULL );
而在MongoDB中,數據類型則更加靈活,可以儲存復雜的數據結構。MongoDB中的數據類型包括文檔、數組和內嵌文檔等。其中,文檔就是一個鍵值對的序列,可以儲存整型、浮點型、字符串型、日期時間型、布爾型等各種類型的數據。
舉例來說,假設我們要保存同樣的用戶信息,可以創建一個名為users的集合,包含_id、name、age、gender、birthday等字段。其中,_id使用MongoDB默認的ObjectID類型,name使用字符串類型,age使用整型,gender使用布爾型,birthday使用日期時間類型。
db.users.insertOne({ name: '張三', age: 25, gender: true, birthday: new Date('1996-12-25') });
總的來說,MySQL和MongoDB儲存數據類型的不同,反映了它們不同的設計思想和應用場景。MySQL適用于結構化數據的儲存和查詢,而MongoDB適用于非結構化和半結構化數據的儲存和查詢。