day42初识MySQL---数据类型、枚举\集合、约束

整数类型:

TINYINT

SMALLINT:

MEDIUMINT:

INT:42亿  create table t5(id int unsigned);无负号

BIGINT:

浮点类型:

作用:体重、薪资、价格

FLOAT:

DOUBLE:

DECIMAL:

 

 

日期类型

now()   mysql的时间函数

datatime 默认传空

timestamp 默认传当前时间

 

create table t10(
born_date date,
class_time time,
reg_time datetime,
born_year year
);

 

insert into t10 values
('1999-11-11','08:30:00','2017-11-11 11:11:11',2011);

 

insert into t10 values
(now(),now(),now(),now());

 

 

字符串类型作用:名字,密码,职位,地址

char类型:
范围:0-255
特点:
定长,简单粗暴,浪费空间(待存储的数据长度<宽度限制),存取速度快

varchar类型:
范围:0-21844
特点:
变长,精准,节省空间(待存储的数据长度<宽度限制),存取速度慢

 

 

Char(3) 定长:在char状态下 不足3位时也会按照3个字符存,

 

Varchar(3) 变长:

设置3位字符,就保留3位字符。

                                                                         枚举和集合

enum  单选

只能传enum里的数据,如果不传就会上传默认值

传的数值不是范围内的就会传入一个空的值。

 

create table t18(
id int,
name char(10),
sex enum('male','female','None')
);
alter table t18 modify sex enum('male','female','None') not null default 'male';
insert into t18 values(1,'egon','xxxxx');
insert into t18(id,name) values(1,'egon');

 

create table t19(
id int,
name char(10),
hobbies set('music','read','basketball','football','eat','sleep')
);
insert into t19 values(1,'egon','music,read,eat');

 

约束

主键就是不为空且唯一。

一个表中可以没有主键,若含有主键每个表只能有一个主键,但是可以含有多个

Not null unique(不为空且唯一)

Key:(键)

mysql中,最好是把id设置为主键,

Primary key mysql里有单独的处理机制,可以加速处理数据。

unique 也可以设置主键

前两项可以帮助加速查询,设置主键

还有另外设置主键的方法:

Create table t5 (id int ,name char(10),constraint pri_id primary key(id));

在后面添加primary key(主键名称)

 

只能有一个主键但是可以有多个not null unique(不为空且唯一)

 

 

联合不唯一

 

Ip port 联合不唯一的设置方法

 

Id是自增的,插入时只需要插入ip port 即可

 

 

 

 

 

 

Foreign key

建立表之间关联  :待续

 

posted @ 2017-10-23 20:28  hello沃德  阅读(110)  评论(0)    收藏  举报