列属性——空属性,列描述,默认值

1. 空属性

共有两个值   null/not null

虽然默认数据库的字段基本都为空,但是实际上在真正开发的时候,要尽可能的保证数据不为空,因为空数据没有意义,也没办法参与运算

mysql> create table if not exists my_class(
    -> grade varchar(20) not null,
    -> room varchar(20) null
    -> )charset utf8;
Query OK, 0 rows affected

mysql> desc my_class;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| grade | varchar(20) | NO   |     | NULL    |       |
| room  | varchar(20) | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
2 rows in set

2.列描述

列描述:comment,表示描述,没有实际含义,是专门用来描述字段的,其会随着表创建语句自动保存,用来给程序员(数据库管理员)了解数据库使用。

mysql> create table my_friend(
    ->  name varchar(20) not null comment '姓名',
    ->  age tinyint not null comment '年龄'
    -> )charset utf8;
Query OK, 0 rows affected

mysql> desc my_friend;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| name  | varchar(20) | NO   |     | NULL    |       |
| age   | tinyint(4)  | NO   |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
2 rows in set

mysql> show create table my_friend;
+-----------+-------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table     | Create Table                                                                                                                                          |
+-----------+-------------------------------------------------------------------------------------------------------------------------------------------------------+
| my_friend | CREATE TABLE `my_friend` (
  `name` varchar(20) NOT NULL COMMENT '姓名',
  `age` tinyint(4) NOT NULL COMMENT '年龄'
) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
+-----------+-------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set

3.默认值

默认值:default某一数据会经常性出现某个具体的值,因此可以在开始的时候就指定好,而在需要真实数据的时候,用户可以选择性的使用默认值。

mysql> create table my_default(
    ->  name varchar(20) not null,
    -> age tinyint unsigned default 0,
    -> gender enum('','') default ''
    -> )charset utf8;
Query OK, 0 rows affected

mysql> desc my_default;
+--------+---------------------+------+-----+---------+-------+
| Field  | Type                | Null | Key | Default | Extra |
+--------+---------------------+------+-----+---------+-------+
| name   | varchar(20)         | NO   |     | NULL    |       |
| age    | tinyint(3) unsigned | YES  |     | 0       |       |
| gender | enum('','')     | YES  |     ||       |
+--------+---------------------+------+-----+---------+-------+
3 rows in set

在列属性Default中已经展示了agegender字段的默认值,说明设置成功

下面演示如何使用默认值(不给设置默认值的字段赋值或者用default代替相应的字段值。)

mysql> insert into my_default (name) values ('Charies');
Query OK, 1 row affected

mysql> insert into my_default values ('Guo',18,default);
Query OK, 1 row affected

mysql> select * from my_default;
+---------+-----+--------+
| name    | age | gender |
+---------+-----+--------+
| Charies |   0 ||
| Guo     |  18 ||
+---------+-----+--------+
2 rows in set

 

转载于:https://www.cnblogs.com/ZZUGPY/p/8393514.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值