mysql 商品类型和属性_五:MySQL数据类型和属性

一:数据类型

1. 数字类型

int:整数 -2^31 ~ 2^31-1

-2147483648 ~ 2147483647

tinyint:最小整数 -128 ~ 127

2. 字符类型

char:定长 char

varchar:变长 varchar

解析:比如你定义char和varchar都是12,当你存入一个字符串jiangwei,8位,此时char占用12位,varchar占用8位,这就是定长和变长的区别。定长可用于一些固定的字符,比如手机号,中国的手机号固定11位,char(11)就行了,varchar可以用于名字,名字两位三位四位都有。

3. 枚举类型

enum('m','f')男女

enum('A','B','C','D')试卷选择题

4. 时间类型

timestamp:'1970-01-01 00:00:01.000000' to '2038-01-19 03:14:07.999999'

datetime:'1000-01-01 00:00:00.000000' to '9999-12-31 23:59:59.999999'

二: 数据属性(约束)

not null:非空

primary key:主键(数据不能重复,并且不能为空)

比如:学号,是不可以重复的,并且不能为空,可以在学号(sid后增加主键)

#可以为学号增加主键,保证不能为空并且不能重复

#查看student表的类型

mysql> desc student;

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

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

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

| sid | int(11) | YES | | NULL | |

| sname | varchar(20) | YES | | NULL | |

| sage | tinyint(4) | YES | | NULL | |

| sgender | enum('f','m') | YES | | NULL | |

| cometime | datetime | YES | | NULL | |

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

5 rows in set (0.00 sec)

#增加主键

mysql> alter table student add primary key pri_sid(sid);

Query OK, 0 rows affected (0.01 sec)

Records: 0 Duplicates: 0 Warnings: 0

mysql> desc student;

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

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

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

| sid | int(11) | NO | PRI | 0 | |

| sname | varchar(20) | YES | | NULL | |

| sage | tinyint(4) | YES | | NULL | |

| sgender | enum('f','m') | YES | | NULL | |

| cometime | datetime | YES | | NULL | |

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

5 rows in set (0.00 sec)

补充:一个主键创建在两个字段上,叫联合主键

unique key:唯一键(数据不能重复,但是可以为空)

unique key + not null = primary key

unsigned:无符号,加上无符号就不能为负数

default:默认值

auto_increment:自增

comment:加注释

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值