MySQL中的数据类型,列选项,视图

本文详细介绍了MySQL中的数据类型,包括整型、小数类型、浮点类型、位类型、字符串类型、日期类型和二进制大对象类型。此外,还讨论了数字列上的列选项如unsigned和zerofill,以及如何创建和使用临时表。文章还深入讲解了约束,如非空、主键、唯一键、外键和CHECK约束。最后,探讨了视图的概念、创建和使用,以及与表操作相关的风险分析。
摘要由CSDN通过智能技术生成


列的数据类型

整型

类型 取值范围
tinyint -128 - 127
smallint -32768 - 32767(几万)
mediumint -8388608 - 8388607(几百万)
integer -2147484468 - 2147483647(几十亿)
bigint -9223372036854775808 - 9223372036854775807(天文数字)

小数类型

decimal[精度,小数位数]
小数位数是定数;数值是什么就是什么,不会进行类似于四舍五入,不会存储近似值。

浮点类型

float[长度,小数位数]
double[长度,小数位数]
float的小数位数不是固定的;超出存储范围,近似值进行存储。

小结:

  • decimal用来存精确值、定数。
  • float存储可以四舍五入的。

位类型

bit[(长度)]
场景:
这里写图片描述

字符串类型

  • char 0-255
  • varchar 0-65535 (长度指的是字符的长度。最常用varchar)
  • long varchar:2^24-1
  • longtext:4G个字符

日期类型

  • date 3字节
  • datetime 8字节
  • time 3字节
  • timestamp 4字节
  • year[(2) | (4)] 1字节

二进制大对象类型

  • binary: 255个字符
  • varbinary :65535个字符
  • blob: 65535字符 ,比如存储照片
  • long varbinary: 2的24次方减1个字符
  • long blob: 2的32次方-1个字符

数字列上的列选项

  • unsigned:无符号的,表示只允许正数。
  • zerofill:填充0
  • auto_increment:自动增长。只适应于整数类型。一个表中只有一个列可以是自动增长的。

这里写图片描述

临时表

临时表是一张表,用来临时保存一些数据。它只对创建它的用户可见。当会话结束时,MySQL自动删除临时表。
保存这些数据的时候,尽量少的占用资源,删除数据的时候,尽量少的占用资源。
临时表的核心:建立和删除表以及里面的数据时,消耗资源非常小。
例:创建临时表sumpenalties,保存所有罚款的总和。

CREATE TEMPORARY TABLE sumpenalties(
total DECIMAL(10,2)
); 

CTAS举例

if not exit :强制不显示出错消息。

这里写图片描述

根据已有的表创建新表

结构一样。
create table copy_teams LIKE teams;(空表,不带数据)
create table copy_teams_1 AS select * from teams;(带数据)
--》PS:这个SELECT可以非常非常的复杂

default

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

斯言甚善

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

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

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

打赏作者

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

抵扣说明:

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

余额充值