Mysql基本数据类型及CRUD

本文介绍了MySQL的基本数据类型,包括整数、实数、字符串、日期时间、文本和二进制类型,并强调了选择标识符的最佳实践。此外,还详细讲解了创建数据库、建表与约束的操作,以及CRUD(创建、读取、更新、删除)操作的基础知识,通过实例展示了如何进行复杂的查询和数据操作。
摘要由CSDN通过智能技术生成

目录

基本数据类型

数据库命令

建表与约束

建表

约束

基本数据操作(CRUD)


基本数据类型

整数:可选择unsigned修饰

intyint   8位  (-128 - 127)
smallint   16位  (-32768 - 32767)
mediumint    24位 (-8388608 - 8388607)
int    32位  大约正负21亿
bigint    64位 

实数(带有小数点):使用标准的浮点运算进行近似计算

float   4个字节
double   8个字节
decimal   最多允许65个数字
示例:decimal(5,2),说明:5位长度,2位小数精度,如果整数部分+2位小数超长,则报错,如果只是小数部分超出2两位,则四舍五入到两位小数

字符串

char:定长:msql根据定义字符串的长度一次分配足够的空间
          适用场景:较短的字符串,且所有值接近同一长度

varchar  变长字符串

  • ​​​​​​比定长类型节约空间
  • 但是ROW_FOMAT=FIXED每行使用定长
  • 适用场景:字符串的最大长度比评估长度大很多,列的更新较少
  • 缺点:频繁修改,且字符串的长度变化大时,可能出现页分裂
  • 不要盲目的给过大的长度
  • 在临时表或排序时可能遭遇最大长度分配内存问题

Text、Blob

1.都为存放很大的数据而设计
2.与其他数据不同,都作为独立的对象存储
3.当值太大时,使用外部存储区存储,每行只要使用1-4字节存放一个指针

text存储字符数据tinytext
                               smalltext
                               text
                               mediumtext
                               longtext


Blob存储二进制数据tinyblob
                                    smallblob
                                    blob
                                    mediumblob
                                    longblob

日期时间

datetime
    精度:秒
    与时区无关,8个字节存储空间
    范围:1001 至 9999 年

timestamp
    保存1970年1月1日午夜以来的秒数
    占用4个字节存储空间
    范围:1970年 至 2038年
    与时区有关
    默认为NOT NULL
    通常尽量使用timestamp
    精度:秒

date
    yyyy-MM-dd

time
    HH:mm:ss

选择标识符

  1. 用来进行关联操作
  2. 在其他表中作为外键
  3. 整型通常是标识列的最好选择
  4. 相关的表中使用相同的数据类型
  5. 尽量避免
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值