栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Mysql常用数据类型

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Mysql常用数据类型

一、数值型

一、数值型(整数)的基本使用
1. 使用规范:在能够满足需求的情况下,尽量选择占用空间小的类型

#演示整型的使用
#使用tinyint来演示范围,有符号范围-128~127,无符号0~255
#1.如果没有指定 unsigned,则tinyint就是有符号
USE db_02;
CREATE TABLE t3(id TINYINT UNSIGNED); 
INSERT INTO t3 VALUES(129);
SELECt * FROM t3;

二、数值型(bit)的基本使用
1. bit(m):m范围1-64位
2. 显示为二进制数
3. 数据范围按指定位数来确定,如bit(8),表示范围为0-255
4. 添加和查询数据仍然可以按照十进制数来进行操作

#演示bit类的使用
#1.bit(m) m 范围在 1-64
#2.显示为二进制数
#3.添加数据范围按照指定位数来确定,如m=8表示一个字节,范围为0~255
#4.查询时,仍然可以按照十进制数来查询
use db_02;
CREATE TABLE t4(num BIT(8));
INSERT INTO t4 VALUES ();
SELECt * FROM t4 WHERe num=255;

三、数值型(小数)的基本使用
1. float:单精度
2. double:双精度
3. Decimal(M,D):可以支持更加精确的小数位。M是小数位数的总数,D是小数点后面的位数。如果D是0,则值没有小数点或分数部。M最大65,D最大30,如果D省略,默认是0。如果M省略,默认是10。

#演示decimal类型、float、double使用
#创建表
use db_02;
CREATE table t5(
num1 FLOAT,
num2 DOUBLE,
num3 DECIMAL(30,20));
#添加数据
INSERT INTO t5 VALUES(88.123456789123456,88.123456789123456,88.123456789123456);
SELECt * FROM t5;
#decimal可以存放很大的数
CREATE TABLE t6(num4 DECIMAL(65));
INSERT INTO t6 VALUES(15641254565545596255633322115564233654481534315);
SELECt * FROM t6;
二、字符串型

一、字符串的基本使用
char(size):固定长度字符串,最大255字符
varchar(size):可变长字符串,最大65532字节(utf8编码最大21844字节,1~3个字节用于记录大小)

#演示字符串类型使用cahr、varchar
#CHAR(size)
#固定长度字符串 最大255字符
#VARCHAR(size) 0~65535
#可变长字符串,最大65532字节(utf8 编码最大21844字符,1-3个字节用于记录大小)
#如果表的编码是 utf8 varchar(size) size = (65535-3)/3 = 21844
#如果表的编码是 gbk varchar(size) size = (65535-3)/2 = 32766
USE db_02;
CREATE TABLE t7(name char(255));
SELECt * FROM t7;
CREATE TABLE t8(name VARCHAR(21844));
SELECt * FROM t8;
CREATE TABLE t9(name VARCHAR(32766)) CHARACTER SET gbk;
SELECt * FROM t9;

二、字符串使用细节

  1. char(4):这个4表示字符数(最大255),不是字节数,不管是中文还是字母都是放四个,按字符计算
    varchar(4):这个4表示字符数,不管是字母还是中文都以定义好的表的编码来存放数据
    不管是中文还是英文字母,都是最多存放四个,是按照字符来存放的
  2. char(4)是定长的,就是说即使插入’aa’,也会占用分配的4个字符
    varchar(4)是变长,就是说,如果插入’aa’,实际占用空间大小并不是4个字符,而是按照实际占用空间来分配(varchar本身还需要占用1~3个字节来记录存放内容长度)
  3. 什么时候使用char,什么时候使用varchar
    如果数据是定长,推荐使用char,比如 md5 的密码、邮编、手机号、身份证号等
    如果一个字段的长度不确定,我们使用varchar,比如留言、文章
    查询速度:char>varchar
  4. 在存放文本时,也可以使用Text数据类型,可以将TEXT列视为varchar列,注意TEXT不能有默认值,大小为0—2的16次方。如果希望存放更多字符,可以选择 MEDIUMTEXT,大小为0—2的24次方。或者LONGTEXT,大小为0—2的32次方
#演示字符串类型的使用细节
#char(4)和varchar(4)这个4表示的是字符,而不是字节
USE db_02;
CREATE TABLE t10(name CHAR(4));
CREATE TABLE t11(name VARCHAR(4));
INSERT INTO t10 VALUES("jack");
INSERT INTO t11 VALUES("mary");
SELECt * FROM t10,t11;

#如果varchar不够用可以考虑使用mediumtext或者longtext
#如果想简单点,可以直接使用text
CREATE TABLE t12(content text,content2 MEDIUMTEXT,content3 LONGTEXT);
INSERT INTO t12 VALUES('jack',"mary","tom");
SELECt * FROM t12;
日期类型

DATE:存放 年-月-日
DATETIME:存放 年-月-日 时:分:秒
TIMESTAMP:时间戳

#演示时间相关的类型
#创建一张表,date,datetime,timestamp
#如果希望timestamp自动更新,需要配置NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATe CURRENT_TIMESTAMP
USE db_02;
CREATE TABLE t13(
	birthday date,
	job_time datetime,
	login_time timestamp 
	NOT NULL DEFAULT CURRENT_TIMESTAMP 
	ON UPDATE CURRENT_TIMESTAMP);
INSERT INTO t13(birthday,job_time) VALUES('2011-11-13','2021-12-28 12:12:12');
SELECT * FROM t13;
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/306900.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号