MYSQL常见的数据类型与约束字段

1.常见的四种数据类型

1.1 整型

整数类型字节范围
Tinyint1有符号: -128~127 /无符号:0~255
Smallint2有符号:-32768~32767 /无符号:0~65535
Mediumint3有符号:-8388608~8388607 /无符号0~1677215
Int/integer4有符号:-2147483648~2147483647 /无符号:0~4294967295
Bigint8有符号:-9223372036854775808~92233720236854775807

如何设置无符号类型?

create table tab_test(
	t1 int unsigned # 表示int类型无符号
	t2 int 			# 表示int类型有符号
);

1.2 浮点型

浮点数类型字节
float4
double8
定点型字节
DEC(M,N)M+2

M为小数点前的位数+小数点后的位数,N为小数点后的位数
DEC默认的精度为(10,0)

1.3 字符型

字符串类型最多字符数描述
char(M)MM为0~255之间的整数,可以省略,默认为1
varchar(M)MM为0~255之间的整数

区别:
char为定长度字符
varchar为可变长度字符

1.4 日期型

日期和时间类型字节最小值最大值
date41000-01-019999-12-31
datetime81000-01-01 00:00:009999-12-31 00:00:00
timestamp419700101 0800012038的某一时刻
time3-838:59:59838:59:59
year119012155

timestamp和实际时区有关,更能反映出实际的日期,而datetime则反映出插入时的当地时区;

2. 约束字段

约束字段解释
NOT NULL非空约束用于保证该字段不能为空
DEFAULT默认约束保证该字段由默认值
PRIMARY KEY主键保证该字段非空且唯一
UNIQUE唯一约束保证字段唯一,但是可以为空
CHECK检查约束MYSQL中不支持
FOREIGN KEY外键约束用于保证该字段的值必须来自主表关联列的值

2.1 创建表时添加约束

create table studuent(
	studentId int primary key,
	name varchar(20) not null unique,
	age int default 18,
	gender varchar(1) check(gender='男' or gender ='女')
	seatId int unique	
);

2.2 修改表时添加列级约束

alter table student modify column gender char(6) not null; 

2.3 修改表时添加表级约束

alter table student add not null (gender);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值