mysql 默认_MySQL默认值(DEFAULT)

“默认值(Default)”的完整称呼是“默认值约束(Default Constraint)”。

MySQL 默认值约束用来指定某列的默认值。

例如女性同学较多,性别就可以默认为“女”。如果插入一条新的记录时没有为这个字段赋值,那么系统会自动为这个字段赋值为“女”。

在创建表时设置默认值约束 创建表时可以使用

DEFAULT 关键字设置默认值约束,具体的语法规则如下:

DEFAULT ; 【实例 1】创建数据表 tb_dept3,指定部门位置默认为 Beijing,输入的 SQL 语句和运行结果如下所示。

mysql> CREATE TABLE tb_dept3

-> (

-> id INT(11) PRIMARY KEY,

-> name VARCHAR(22),

-> location VARCHAR(50) DEFAULT 'Beijing'

-> );

Query OK, 0 rows affected (0.37 sec)

mysql> DESC tb_dept3;

+----------+-------------+------+-----+---------+-------+

| Field | Type | Null | Key | Default | Extra |

+----------+-------------+------+-----+---------+-------+

| id | int(11) | NO | PRI | NULL | |

| name | varchar(22) | YES | | NULL | |

| location | varchar(50) | YES | | Beijing | |

+----------+-------------+------+-----+---------+-------+

3 rows in set (0.06 sec) 以上语句执行成功之后,表 tb_dept3 上的字段 location 拥有了一个默认值 Beijing,新插入的记录如果没有指定部门位置,则默认都为 Beijing。

在修改表时添加默认值约束 修改表时添加默认值约束的语法规则如下:

ALTER TABLE

CHANGE COLUMN DEFAULT ; 【实例 2】修改数据表 tb_dept3,将部门位置的默认值修改为 Shanghai,输入的 SQL 语句和运行结果如下所示。

mysql> ALTER TABLE tb_dept3

-> CHANGE COLUMN location

-> location VARCHAR(50) DEFAULT 'Shanghai';

Query OK, 0 rows affected (0.15 sec)

Records: 0 Duplicates: 0 Warnings: 0

mysql> DESC tb_dept3;

+----------+-------------+------+-----+----------+-------+

| Field | Type | Null | Key | Default | Extra |

+----------+-------------+------+-----+----------+-------+

| id | int(11) | NO | PRI | NULL | |

| name | varchar(22) | YES | | NULL | |

| location | varchar(50) | YES | | Shanghai | |

+----------+-------------+------+-----+----------+-------+

3 rows in set (0.00 sec)

删除默认值约束 修改表时删除默认值约束的语法规则如下:

ALTER TABLE

CHANGE COLUMN DEFAULT NULL; 【实例 3】修改数据表 tb_dept3,将部门位置的默认值约束删除,输入的 SQL 语句和运行结果如下所示。

mysql> ALTER TABLE tb_dept3

-> CHANGE COLUMN location

-> location VARCHAR(50) DEFAULT NULL;

Query OK, 0 rows affected (0.15 sec)

Records: 0 Duplicates: 0 Warnings: 0

mysql> DESC tb_dept3;

+----------+-------------+------+-----+----------+-------+

| Field | Type | Null | Key | Default | Extra |

+----------+-------------+------+-----+----------+-------+

| id | int(11) | NO | PRI | NULL | |

| name | varchar(22) | YES | | NULL | |

| location | varchar(50) | YES | | NULL | |

+----------+-------------+------+-----+----------+-------+

3 rows in set (0.00 sec)

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: MySQL默认值可以通过在列定义时使用 "DEFAULT" 关键字来设置。 例如: ``` CREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255) NOT NULL, age INT DEFAULT 18 ); ``` 在上面的例子中,当没有指定 "age" 列的值时,将使用默认值 18。 ### 回答2: MySQL是一款流行的关系型数据库管理系统,具有强大的功能和灵活的自定义选项。在MySQL中,default默认值设置是一项非常重要的特性,它允许我们在数据库中定义默认值,以便在插入新数据时节省时间和精力。 MySQL默认值设置可以应用于表之间的列,并且MySQL提供了多种默认值选项。以下是MySQL提供的默认值选项: 1. NULL默认值:当未提供任何值时,使用NULL默认值。 2. 常量默认值:可以使用任何常量作为默认值,例如字符串、数字或日期。 3. 表达式默认值默认值可以是一个表达式,例如UNIX_TIMESTAMP()。 4. CURRENT_TIMESTAMP默认值MySQL提供了特殊的默认值 CURRENT_TIMESTAMP,可用于在列上设置当前日期和时间的默认值。如果未提供值,则自动提供当前日期和时间。 5. 自动递增默认值:可以将自动递增属性与默认值一起使用,例如创建一个自动递增的ID并将其设置为默认值MySQL还允许我们在创建表时设置默认值,或者在以后的时间点通过修改表定义来更改默认值。 在创建表时设置默认值的语法如下: CREATE TABLE table_name ( column1 datatype default_value, column2 datatype default_value, column3 datatype default_value, ... ); 例如: CREATE TABLE customers ( id INT AUTO_INCREMENT PRIMARY KEY, first_name VARCHAR(50) DEFAULT 'John', last_name VARCHAR(50) DEFAULT 'Smith', email VARCHAR(50) DEFAULT NULL ); 上述示例中,id是自动递增的列,first_name和last_name列包含字符串常量作为默认值,email列使用NULL作为默认值。 在已有表中更改默认值的语法如下: ALTER TABLE table_name ALTER COLUMN column_name SET DEFAULT default_value; 例如: ALTER TABLE customers ALTER COLUMN email SET DEFAULT '[email protected]'; 上述示例将将email列的默认值更改为“[email protected]”。 总之,MySQL默认值设置是一项非常重要的特性,可简化数据输入并改进数据库性能。MySQL提供了多种默认值选项,包括NULL默认值、常量默认值、表达式默认值、CURRENT_TIMESTAMP默认值和自动递增默认值,可以在创建表时或稍后修改表定义时定义默认值。 ### 回答3: MySQL中,default关键字用于设置列的默认值。当插入新行时,如果该列被省略,则使用默认值。如果列的默认值没有定义,则使用NULL(除非该列被定义为NOT NULL)。 默认值可以是常量、表达式或函数。常量可以是数字、字符串等,表达式可以是算术表达式、逻辑表达式等,函数可以是MySQL内置函数或用户自定义函数。 在创建表时,可以使用DEFAULT关键字来为列指定默认值。例如: CREATE TABLE test ( id INT(10) PRIMARY KEY, name VARCHAR(50) DEFAULT 'Unknown', age INT(3) DEFAULT 0, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); 在这个例子中,当插入一行时,如果省略name列,则使用默认值'Unknown';如果省略age列,则使用默认值0;如果省略created_at列,则使用当前时间作为默认值。 可以通过ALTER TABLE语句来修改列的默认值。例如: ALTER TABLE test ALTER COLUMN age SET DEFAULT 18; 这个语句将修改age列的默认值为18。 需要注意的是,一旦列的默认值被设置,所有新的行都将使用该默认值,除非INSERT语句明确指定了一个不同的值。而且,只有在插入新行时才会使用默认值,如果使用UPDATE语句修改某行,列的默认值不会被使用。 总之,MySQL中的DEFAULT关键字用于指定列的默认值,在创建表和修改表结构时非常有用。默认值可以是常量、表达式或函数,可以通过ALTER TABLE语句进行修改。要注意默认值的使用范围和特性,以便正确地编写SQL语句。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值