MySQL命令行中给表添加一个字段(字段名、是否为空、默认值)

作者:洪哥 时间:2024-01-16 12:47:36 

先看一下最简单的例子,在test中,添加一个字段,字段名为birth,类型为date类型。

mysql> alter table test add column birth date;
Query OK, 0 rows affected (0.36 sec)
Records: 0  Duplicates: 0  Warnings: 0

查询一下数据,看看结果:

mysql> select * from test;
+------+--------+----------------------------------+------------+-------+
| t_id | t_name | t_password                       | t_birth    | birth |
+------+--------+----------------------------------+------------+-------+
|    1 | name1  | 12345678901234567890123456789012 | NULL       | NULL  |
|    2 | name2  | 12345678901234567890123456789012 | 2013-01-01 | NULL  |
+------+--------+----------------------------------+------------+-------+
2 rows in set (0.00 sec)

从上面结果可以看出,插入的birth字段,默认值为空。我们再来试一下,添加一个birth1字段,设置它不允许为空。

mysql> alter table test add column birth1 date not null;
Query OK, 0 rows affected (0.16 sec)
Records: 0  Duplicates: 0  Warnings: 0

居然执行成功了!?意外了!我原来以为,这个语句不会成功的,因为我没有给他指定一个默认值。我们来看看数据:

mysql> select * from test;
+------+--------+----------------------------------+------------+-------+------------+
| t_id | t_name | t_password                       | t_birth    | birth | birth1     |
+------+--------+----------------------------------+------------+-------+------------+
|    1 | name1  | 12345678901234567890123456789012 | NULL       | NULL  | 0000-00-00 |
|    2 | name2  | 12345678901234567890123456789012 | 2013-01-01 | NULL  | 0000-00-00 |
+------+--------+----------------------------------+------------+-------+------------+
2 rows in set (0.00 sec)

哦,明白了,系统自动将date类型的值,设置了一个默认值:0000-00-00。下面我来直接指定一个默认值看看:

mysql> alter table test add column birth2 date default '2013-1-1';
Query OK, 0 rows affected (0.28 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> select * from test;
+------+--------+----------------------------------+------------+-------+------------+------------+
| t_id | t_name | t_password                       | t_birth    | birth | birth1     | birth2     |
+------+--------+----------------------------------+------------+-------+------------+------------+
|    1 | name1  | 12345678901234567890123456789012 | NULL       | NULL  | 0000-00-00 | 2013-01-01 |
|    2 | name2  | 12345678901234567890123456789012 | 2013-01-01 | NULL  | 0000-00-00 | 2013-01-01 |
+------+--------+----------------------------------+------------+-------+------------+------------+
2 rows in set (0.00 sec)

看到没,将增加的birth2字段,就有一个默认值了,而且这个默认值是我们手工指定的。

关于MySQL中给表添加一个字段,本文就介绍这么多,希望对大家有所帮助,谢谢!

标签:MySQL,添加字段
0
投稿

猜你喜欢

  • 详解oracle mysql 中的“不等于“ <> != ^= is not

    2024-01-25 03:35:08
  • MySQL 事务概念与用法深入详解

    2024-01-14 02:56:06
  • ASP使用FSO组件生成HTML静态页面

    2007-10-15 12:19:00
  • python 读写文件包含多种编码格式的解决方式

    2022-01-12 18:02:10
  • 网页的栅格系统设计

    2008-09-19 21:13:00
  • mysql数据库设置utf-8编码的方法步骤

    2024-01-19 05:30:56
  • 99%的程序员都会收藏的书单 你读过几本?

    2022-10-01 19:45:59
  • python爬虫selenium模块详解

    2023-04-11 20:32:43
  • 超全MySQL学习笔记

    2024-01-25 20:21:45
  • Numpy 多维数据数组的实现

    2022-12-22 11:26:03
  • 微信跳一跳python辅助软件思路及图像识别源码解析

    2023-01-10 22:45:57
  • 图文详解vscode配置运行php项目完整版

    2023-05-28 22:56:03
  • Python实现的统计文章单词次数功能示例

    2022-03-15 11:38:07
  • python urllib库的使用详解

    2021-06-12 14:42:04
  • Pytorch转keras的有效方法,以FlowNet为例讲解

    2023-07-27 02:04:54
  • Pandas 模糊查询与替换的操作

    2023-05-27 22:33:38
  • 目标检测mAP的概念及公式详解

    2022-05-24 17:55:57
  • 详解Vue 多级组件透传新方法provide/inject

    2024-06-05 09:21:03
  • Oracle CBO 的 _sort_elimination_cost_ratio 参数

    2008-07-22 12:24:00
  • onerror图片失效时显示其他图片

    2008-08-11 21:05:00
  • asp之家 网络编程 m.aspxhome.com