在MySQL中创建表时,可以设置默认值来定义一个字段在缺省情况下所包含的值。如果不给字段赋值,在使用SELECT查询时它将包含NULL。
以下是一个示例代码,我们可以将其复制到MySQL控制台中执行:
CREATE TABLE users (id INT NOT NULL AUTO_INCREMENT,name VARCHAR(50) NOT NULL,age INT DEFAULT 0,email VARCHAR(255) DEFAULT 'example@test.com',created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,PRIMARY KEY (id));
上述代码中,我们定义了一个名为users的表,包含了5个字段:id、name、age、email和created_at。
id字段是一个自增长的整型,因此我们将其定义为NOT NULL和AUTO_INCREMENT。
name字段是一个字符串类型,也被定义为NOT NULL,以确保每个用户都必须有一个名字。
age字段是一个整型,在定义时使用了DEFAULT关键字,给这个字段设置了一个缺省值为0。如果在添加用户时没有指定年龄,MySQL将使用0来代替。
email字段是一个字符串类型,定义了一个默认值为'example@test.com'。如果添加的用户没有指定email地址,将会自动填充这个默认值。
created_at字段是一个时间戳类型,在定义时使用了DEFAULT CURRENT_TIMESTAMP,这意味着在插入数据时,MySQL将自动插入当前时间。
在建表时添加DEFAULT语句有助于减少繁琐的操作。使用这种方式,可以指定如果没有提供值,则字段将使用的默认值。