MySQL是一種常用的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),相信大家在使用過程中都有過建表的經(jīng)歷。當(dāng)我們創(chuàng)建表的時候,有時候需要定義一些默認(rèn)字段,本文將為大家介紹MySQL建表定義默認(rèn)字段的方法。
CREATE TABLE table_name ( column1 DATATYPE DEFAULT default_value, column2 DATATYPE DEFAULT default_value, ... );
在上述的代碼中,需要進(jìn)行說明的是:
- table_name:表名稱。
- column1, column2:列名稱。
- DATATYPE:列的數(shù)據(jù)類型。
- default_value:列的默認(rèn)值。
下面是一個實際的例子:
CREATE TABLE `users` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(50) NOT NULL, `password` varchar(255) NOT NULL, `email` varchar(100) DEFAULT NULL, `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
在上述代碼中,我們定義了一個名為users的表。其中,id列是int數(shù)據(jù)類型,且設(shè)置了AUTO_INCREMENT,username和password列是varchar數(shù)據(jù)類型,且被設(shè)置為NOT NULL(即非空)。email列是varchar數(shù)據(jù)類型,且被設(shè)置了默認(rèn)值為NULL。created_at和updated_at兩列都是timestamp數(shù)據(jù)類型,且有提供了默認(rèn)值,其中created_at列的默認(rèn)值為當(dāng)前的時間戳,updated_at列的默認(rèn)值是當(dāng)前的時間戳,但是當(dāng)這條記錄發(fā)生更改時,updated_at的值也會被更新為當(dāng)前的時間戳。
總體而言,定義默認(rèn)字段可以讓我們更好地規(guī)范數(shù)據(jù)表結(jié)構(gòu),提高數(shù)據(jù)庫的可維護(hù)性和擴(kuò)展性。