MySQL攻略 - Mysql数据类型详解,Mysql表的创建、修改、删除

MySQL数据库创建表

Create Table table_name
(
    field1 datatype;
    filed2 datatype;
    filed3 datatype;
    ...
)character set 字符集 collate 校对规则 engine 引擎/存储引擎


#field:指定列名 datatype: 指定列类型(字段类型)
#character set:如不指定则为所在数据库字符集
#collate:如不指定则为所在数据库校对规则
#engine:引擎(这个涉及内容较多,后面另做分析笔记)

创建表时,要根据需保存的数据创建相应的列,并根据数据的类型定义相应的列类型。

图形化案例

请添加图片描述

DOS案例

打开数据库目录bin -> 进入dos -> 进入终端 -> 指定数据库(use 数据库名) ->创建表(字段),注意关键字引起来

请添加图片描述

Mysql常用数据类型(列类型)表格

分类数据类型说明
数值类型BIT(M)
TINYINT[UNSIGNED]占1个字节
SMALLINT[UNSIGNED]2个字节
MEDIUMINT[UNSIGNED]3个字节
INT[UNSIGEND]4个字节
BIGNT[UNSIGNED]8个字节

FLOAT[UNSIGNED]
DOUBLE[UNSIGNED]
DECIMAL(M,D)[UNSIGNED]
位类型。M指定位数,默认值1,范围1-64
带符号的范围是-128到127.无符号0到255。默认是有符号
带符号是负的2^15 到 2^15-1 ,无符号0 到 2^16 -1
带符号是负的2^23 到 2^23-1,无符号0 到 224-1<br>带符号是负的231 到 231-1,无符号0到232-1
带符号是负的263到263-1,无符号0到2^64 -1

占用空间4个字节
表示比float精度更大的小数,占用空间8个字节
定点数M指定长度,D表示小数点的位数,
文本,二进制类型CHAR(size) char(20)
VARCHAR(size) varchar(20)
BLOB LONGBLOB
TEXT LONGTEXT
固定长度字符串最大255
可变长度字符串0~65535[即:2^16-1]
二进制数据BLOB 0~2^16-1 LONGBLOB 0~2^32-1
文本Text O~2^16 LONGTEXT 0~2^32
时间日期DATE/DATETIME/TimeStamp日期类型(YYYY-MM-DD) YYYY-MM-DD HH:MM:SS),TimeStamp表示时间戳,它可用于自动记录insert、update操作的时间

请添加图片描述

请添加图片描述

数值型(整数)

使用规范

在能够满足需求的情况下,尽量选择占用空间小的类型

请添加图片描述

应用实例

请添加图片描述

数值型(小数)

基本使用

  1. FLOAT/DOUBLE[UNSIGNED]Float 单精度精度,Double 双精度

  2. DECIMAL[M,D] [UNSIGNED]

  • 可以支持更加精确的小数位,M是小数位数(精度)的总数,D是小数点(标度)后面的位数。
  • 如果D是0,则值没有小数点或分数部分。M最大是65。D最大是30.如果D被省略,默认是0.如果M被省略,默认是10.
  • 建议:如果希望小数的精度高,推荐使用decimal

应用实例

请添加图片描述

DECIMAL案例(适合超大超长的数,比如"大数据"需要)

请添加图片描述

字符串

基本使用

  • CHAR(size)

固定长度字符串 最大255 字符

  • VARCHAR(size) 0~65535

可变长度字符串 最大65532字节【utf8编码最大21844字符 1-3个字节用于记录大小】

注意:要看编码是什么,比如编码为gbk的话,那么范围就是(65535 - 3)/2

请添加图片描述

使用细节总结

char(4) //这个4表示字符数(最大255),不是字节数,不管是中文还是字母都是放四个,按字符计算

.varchar(4)//这个4表示字符数,不管是字母还是中文都以定义好的表的编码来存放数据.(看上面笔记)

不管是中文还是英文字母,都是最多存放4个,是按照字符来存放的.

请添加图片描述

请添加图片描述

细节2

char是定长(固定的内容空间),就是说,即使你插入 ‘aa’,也会占用4的字符空间

varchar(4)是变长,就是说,如果你插入了‘aa’,实际占用空间大小并不是4个字符,而是按照实际占用空间来分配(varchar本身还需要占用1-3个字节来记录存放内容长度)

varchar L = (实际数据大小) + (1-3)字节

细节3

什么时候使用char,什么时候使用varchar

  1. 如果数据是定长,推荐使用char,比如md5的密码,邮编,手机号,身份证号码等.char(32)
  2. 如果一个字段的长度是不确定,我们使用varchar,比如留言,文章
  3. 查询速度:char > varchar
    ·

细节4

在存放文本时,也可以使用Text 数据类型.可以将TEXT列视为VARCHAR列,注意Text不能有默认值.大小0-2^16字节

如果希望存放更多字符,可以选择

MEDIUMTEXT0-2424 或者LONGTEXT 0~2432

请添加图片描述

日期类型

请添加图片描述

应用实例

请添加图片描述

Mysql表的创建、修改、删除

Alter,Modify,drop,change name,add,desc,to

请添加图片描述

案例练习

请添加图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

鬼鬼骑士

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

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

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

打赏作者

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

抵扣说明:

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

余额充值