列属性:列属性又称之为字段属性,在mysql中一共有6个属性:null,默认值,列描述,主键,唯一键和自动增长
NULL属性
null属性:代表字段为空
如果对应的值为YES表示该字段可以为NULL
mysql> desc int_data;
+-------+------------------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+------------------------------+------+-----+---------+-------+
| int_1 | tinyint(4) | YES | | NULL | |
| int_2 | smallint(6) | YES | | NULL | |
| int_3 | mediumint(9) | YES | | NULL | |
| int_4 | int(11) | YES | | NULL | |
| int_5 | bigint(20) | YES | | NULL | |
| int_6 | tinyint(3) unsigned | YES | | NULL | |
| int_7 | tinyint(3) unsigned zerofill | YES | | NULL | |
| int_8 | tinyint(2) unsigned zerofill | YES | | NULL | |
+-------+------------------------------+------+-----+---------+-------+
8 rows in set (0.37 sec)注意:
1、在设计表的时候,尽量不要让数据为空。
2、Mysql的记录长度为65535个字节,如果一个表中有字段允许为null,那么系统就会设计保留一个字节来存储NULL,最终有效存储长度为65534个字节。
默认值(Default)
Default:默认值,当字段被设计的时候,如果允许默认条件下,用户不进行数据的插入,那么就可以使用事先准备好的数据来填充,通常填充的是NULL
mysql> create table default_adult(
-> name char(10) not null,
-> age int default 18
-> )charset=utf8;
Query OK, 0 rows affected (1.79 sec)
mysql> desc default_adult;
+-------+----------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+----------+------+-----+---------+-------+
| name | char(10) | NO | | NULL | |
| age | int(11) | YES | | 18 | |
+-------+----------+------+-----+---------+-------+
2 rows in set (0.03 sec)
mysql> insert into default_adult(name) values('小明');
Query OK, 1 row affected (0.00 sec)
mysql> select * from default_adult;
+------+------+
| name | age |
+------+------+
| 小明 | 18 |
+------+------+
1 row in set (0.00 sec)Default关键字的另外一层使用:显式的告知字段使用默认值:在进行数据插入的时候对字段值直接使用default
mysql> insert into default_adult values('小明',default);
Query OK, 1 row affected (0.00 sec)
mysql> select * from default_adult;
+------+------+
| name | age |
+------+------+
| 小明 | 18 |
| 小明 | 18 |
+------+------+
2 rows in set (0.00 sec)列描述(comment)
列描述:comment,是专门用于给开发人员进行维护的一个注释说明。
基本语法:comment '字段描述内容'
mysql> create table comment_column(
-> name varchar(10) not null comment '当前用户名不能为空',
-> password char(6) not null comment '用户密码不能为空'
-> )charset=utf8;
Query OK, 0 rows affected (1.87 sec)
mysql> show create table comment_column;
+----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| comment_column | CREATE TABLE `comment_column` (
`name` varchar(10) NOT NULL COMMENT '当前用户名不能为空',
`password` char(6) NOT NULL COMMENT '用户密码不能为空'
) ENGINE=MyISAM DEFAULT CHARSET=utf8 |
+----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)注意:comment与后面注释之间要加空格,查看Comment,必须通过查看表创建语句查看。
版权声明:本文为no15870678621原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。