mysql中的数据类型和表操作【MYSQL】

一. 表结构操作

上次的博客讲了库操作,接下来肯定就是表操作,讲到数据表了
那下来的数据表中的各种类型肯定也不能少了。

但是这里我们先讲数据表的操作,表中数据的类型就先用着,之后会挑重要的表中数据进行讲解。

这里要进行表操作的前提:
要选中要操作的数据库。

use test;

1.1创建及删除表结构

i. 创建表

基础格式是这样

create table table_name(
	fieldname1 datatype commment 文字说明,
	fieldname2 datatype commment 文字说明,,
	fieldname3 datatype commment 文字说明,,
)

在这里插入图片描述

ii. 查看表结构

这里我们创建完表以后可以进行查看一下。

desc 表名

在这里插入图片描述

iii. 删除表

drop table 表名

在这里插入图片描述

1.2 修改表结构

i. 修改表名

alter table tablename1 rename to(可省略) tablename2;

在这里插入图片描述
在这里插入图片描述

这里我们能看到修改成功了。

ii. 添加新字段

alter table table_name add new_field varchar(128) after field;
//          需要添加的表      新字段名     类型        指定位置 

在这里插入图片描述

iii. 修改字段中的属性

alter table user modify name varchar(60);
//注意这里是直接将新属性直接覆盖原属性

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
这里能看到覆盖成功了。

iiii. 删除字段

alter table user drop field_name;

在这里插入图片描述
这里能发现删除成功了。

二. 表中类型

2.1 int类型

int类型
就是整形类型。

这里实际上有五种类型的整形类型
整形类型间的区别只是存储的范围不一样。
在这里插入图片描述
这里的无符号就是以前C语言学过的unsigned
在定义整形类型的时候可以带上unsigned选项。

在这里插入图片描述

这里要注意:
mysql中的在特定类型中插入不合法数据(包括越界)都是会报错的

这里用来演示一下:

在这里插入图片描述
这里有一个unsigned int类型

在这里插入图片描述
在这里插入图片描述

这里能发现超出范围的数据都是不允许被插入的。

2.2 bit类型

bit类型

位类型,范围是0-64位,默认是一位
bit(M)

这里可以试着来用一下
在这里插入图片描述

在这里插入图片描述
这里我们插入98

能发现bit类型,显示的是对应的ascii码值

2.3 浮点类型

i. float类型

浮点类型:

float(4,2) [unsigned]
//第一位表示一共是4位,后面一个数代表精度部分是两位

所以如果是float(4,2);
那么插入数据时:
100.00:不行,因为一共是五位
100.0:也不行,因为精度是2,自动会补足后面的0,补足精度后,又变成5位了
10.123:是可以的,mysql会自己四舍五入

float(4,2) unsigned
相对于signed只是砍掉了负数部分,其他范围之类的没有发生变化

ii. decimal类型

相比于float有更高的精度
这里我们可以来测试一下
在这里插入图片描述
这里可以发现发生了变化。
float类型,数据库系统自己对其进行了四舍五入的处理。
而decimal则没有发生变化

float的精度大约在7位。

2.4 字符串类型

i. char

char(L) 固定长度字符串
存储的长度不能超过L
L最长不超过255

ii. varchar

varchar(L) 可变长度字符串
和char的区别:
varchar是用多少开多少,char是开多少用多少

varchar有1-3个字节用来记录数据大小,从而来实现记录数据本身的现在大小
这样就实现了可以进行扩展。

2.5 日期和时间类型

在这里插入图片描述

i. date

这个就是日期类
存储的格式为:
‘2000-10-01’
更新:
update t11 set1 t1=1999-01-01

ii. date datetime

这个类型相比于data,就相当于更详细的日期数据。
存储的格式为:

'2000-10-01 12:12:12'

iii. timestamp

这个数据类型是时间戳

这个不用用户自己进行更新
因为当用户对数据进行修改的时候,该数据的时间戳类型会自动更新

这里就来演示一下三种日期类型的使用。
在这里插入图片描述

在这里插入图片描述

这里能发现t3时间戳类型自己进行了更新。

2.6 枚举类类型

在这里插入图片描述
这里创建了一个两种枚举类型的数据库,便于测试
在这里插入图片描述

i. enum

enum就两个值(可以说是单向枚举):
比如说Y/N,男和女等。

在这里插入图片描述
在这里插入图片描述

这里可以用下标进行插入

在这里插入图片描述

set

set不同于enum,是多个选项。

在这里插入图片描述
在这里插入图片描述

这里要注意:
set也可以用数字进行插入,但是这个数字不代表下标

如果是1
则代表001(因为这里有三个set)1的位置代表有对应位置的爱好

在这里插入图片描述
这里能看到插入的是我们对应的第一个羽毛球
在这里插入图片描述

所以如果是7,111(五个set)输入的是三个爱好

在这里插入图片描述

在这里插入图片描述

  • 20
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

想学c啊啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值