目录
1.int类型
创建一个整形,但是没有复数的,可以加unsigned。
create table emp(
id smallint unsigned auto_increment primary key commend 'id',
age tinyint unsigned,
kkk int(6)
);
unsigned就表示没有负数的。
kkk 中的int(6)表示最多有6位,指的是位数,如图。
就是说赋值的时候必须也得是正数,而且不能超范围tinyint (0~255),赋值277就不行。
2.浮点型
float,double等等。
create table t_1(
number_1 float(3, 1),
number_2 double(5, 2)
);
number_1表示整数部分和小数部分的位数之和是3,小数部分是1,整数部分是2.
number_2表示整数部分和小数部分的位数之和是5,小数部分是2,整数部分是3.
如果超出位数则四舍五入。
位数太多的话会造成精度丢失。
3.定点数
首先创建一个表:
create table t_3(
money decimal(20, 19)
);
再插入数据:
insert into t_3 values(1.1111111111111);
decimal不会造成精度的丢失,因为它的整数和小数部分是分开存的,也支持无符号的。
4.字符串与文本类型
char定长,在SQLchar也是字符串,varchar变长。
char(30):代表可以放30个字符,
varchar(30):同理,但可以根据实际大小释放空间。
5.布尔类型
先创建一个表:
create table t_4(
fff boolean
);
boolean就是布尔类型。
insert into t_4 values(true);
6.枚举类型
先创建一个表:
create table t_5(
gender enum('man', 'woman', '?', 'it')
);
enum就是枚举类型
插入数据的时候必须是'man', 'woman', '?', 'it'这几个。
枚举里面没有的东西不能取,会报错。
内部存的时候分别是1,2,3,4.
插入数据的时候当然也可以是2,就是'woman'
好处就是速度快。。。
7.set类型
先创建一个表:
create table t_6(
hobby set('math', 'MBA', 'chinese', 'english')
);
用的时候:
insert into t_6 values('math, chinese');
就是和enum对应,一个是一对一,一个是一对多。
但是不同插入没有的,因为是一个字段,所以说是一个''
8.日期时间类型
行业内规定必须有
先创建一个表:
create table t_7(
createTime datatime
);
用的时候插入:
insert t_7 values('2022-01-24 22:38:00');