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

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

  • 一. 表结构操作
    • 1.1创建及删除表结构
      • i. 创建表
      • ii. 查看表结构
      • iii. 删除表
    • 1.2 修改表结构
      • i. 修改表名
      • ii. 添加新字段
      • iii. 修改字段中的属性
      • iiii. 删除字段
  • 二. 表中类型
    • 2.1 int类型
    • 2.2 bit类型
    • 2.3 浮点类型
      • i. float类型
      • ii. decimal类型
    • 2.4 字符串类型
      • i. char
      • ii. varchar
    • 2.5 日期和时间类型
      • i. date
      • ii. date datetime
      • iii. timestamp
    • 2.6 枚举类类型
      • i. enum
      • set

一. 表结构操作

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

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

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

use test;

1.1创建及删除表结构

i. 创建表

基础格式是这样

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

mysql中的数据类型和表操作【MYSQL】_第1张图片

ii. 查看表结构

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

desc 表名

mysql中的数据类型和表操作【MYSQL】_第2张图片

iii. 删除表

drop table 表名

在这里插入图片描述

1.2 修改表结构

i. 修改表名

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

mysql中的数据类型和表操作【MYSQL】_第3张图片
mysql中的数据类型和表操作【MYSQL】_第4张图片

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

ii. 添加新字段

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

mysql中的数据类型和表操作【MYSQL】_第5张图片

iii. 修改字段中的属性

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

mysql中的数据类型和表操作【MYSQL】_第6张图片
在这里插入图片描述

mysql中的数据类型和表操作【MYSQL】_第7张图片
这里能看到覆盖成功了。

iiii. 删除字段

alter table user drop field_name;

mysql中的数据类型和表操作【MYSQL】_第8张图片
这里能发现删除成功了。

二. 表中类型

2.1 int类型

int类型
就是整形类型。

这里实际上有五种类型的整形类型
整形类型间的区别只是存储的范围不一样。
mysql中的数据类型和表操作【MYSQL】_第9张图片
这里的无符号就是以前C语言学过的unsigned
在定义整形类型的时候可以带上unsigned选项。

在这里插入图片描述

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

这里用来演示一下:

mysql中的数据类型和表操作【MYSQL】_第10张图片
这里有一个unsigned int类型

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

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

2.2 bit类型

bit类型

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

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

mysql中的数据类型和表操作【MYSQL】_第11张图片
这里我们插入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有更高的精度
这里我们可以来测试一下
mysql中的数据类型和表操作【MYSQL】_第12张图片
这里可以发现发生了变化。
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

这个数据类型是时间戳

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

这里就来演示一下三种日期类型的使用。
mysql中的数据类型和表操作【MYSQL】_第13张图片

mysql中的数据类型和表操作【MYSQL】_第14张图片

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

2.6 枚举类类型

在这里插入图片描述
这里创建了一个两种枚举类型的数据库,便于测试
mysql中的数据类型和表操作【MYSQL】_第15张图片

i. enum

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

在这里插入图片描述
mysql中的数据类型和表操作【MYSQL】_第16张图片

这里可以用下标进行插入

mysql中的数据类型和表操作【MYSQL】_第17张图片

set

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

在这里插入图片描述
mysql中的数据类型和表操作【MYSQL】_第18张图片

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

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

mysql中的数据类型和表操作【MYSQL】_第19张图片
这里能看到插入的是我们对应的第一个羽毛球
在这里插入图片描述

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

在这里插入图片描述

mysql中的数据类型和表操作【MYSQL】_第20张图片

你可能感兴趣的:(mysql,数据库)