js css htmlMySQL数据库

MySql数据库·数据类型

2023-02-01  本文已影响0人  技术老男孩

一、数据类型分类:

二、常用字符类型及存储范围:

常用关键字 名称 存储范围
char 定长类型 1-255字符
varchar 变长类型 1-65535字符 (实际存储范围1-65532)
其他关键字 名称 存储范围
tinytext 短文本 0-255字节
tinyblob 二进制形式短文本字 0-255字节
text 长文本数据 0-65535字节
blob 二进制形式的长文本 0-65535字节
mediumblob 二进制形式的中等长度文本 0-16777215字节
mediumtext 中等长度文本数据 0-16777215字节
longblob 二进制形式极大文本 0-4284867295字节
longtext 极大文本 0-4284867295字节

使用示例:

# 建表时指定表使用的字符集utf8  
mysql> create table studb.t3( 
  name char(3),
  address varchar(10)
) default charset utf8;

#查看字符集
mysql> show create table studb.t3 \G
*************************** 1. row ***************************
       Table: t3
Create Table: CREATE TABLE `t3` (
  `name` char(3) DEFAULT NULL,
  `address` varchar(10) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8
1 row in set (0.00 sec)

三、常用数值类型及存储范围:

整数类型关键字 名称 有符号范围 无符号范围
tinyint 微小整数 -128~127 0 ~ 255
smallint 小整数 -32768~32767 0 ~ 65535
mediumint 中整型 -223 ~223-1 0~224-1
int 大整型 -231~ 231-1 0~232-1
bigint 极大整型 -263~263-1 0 ~ 264-1
浮点类型关键字 名称 范围 范围大小
float 单精度 8位精度(4字节) 2554
double 双精度 16位精度(8字节) 2558

使用示例:

# 创建一个level为正正整数,money可以为小数的数据表
mysql> create table studb.t1(level tinyint unsigned,money double);  

# 查看表头
mysql> desc studb.t1;
+-------+---------------------+------+-----+---------+-------+
| Field | Type                | Null | Key | Default | Extra |
+-------+---------------------+------+-----+---------+-------+
| level | tinyint(3) unsigned | YES  |     | NULL    |       |
| money | double              | YES  |     | NULL    |       |
+-------+---------------------+------+-----+---------+-------+
2 rows in set (0.01 sec)

四、常用枚举类型:

关键字 名称 说明
enum 单选 只能选项范围内的任意一个
set 多选 选项范围内的一个或多个

使用示例:

mysql>  create table studb.t8(
姓名 char(10),
性别 enum("男","女","保密"), 
爱好 set("帅哥","金钱","吃","睡") 
) DEFAULT CHARSET utf8;

五、常用日期类型及存储范围:

类型 名称 范围 赋值格式
year 1901~2155 例如:2022
date 日期 0001-01-01
9999-12-31
例如:20220318
time 时间 00:00:00
23:59:59
例如:091858
datetime 日期时间 1000-01-01 00:00:00
9999-12-31 23:59:59
例如:20220819153819
timestamp 日期时间 1970-01-01 00:00:00
2038-01-19 00:00:00
例如:20230109123823

使用示例:

# 创建带有日期格式的表
mysql> create table studb.t6( 
  姓名 char(10), 
  生日 date, 
  出生年份 year, 
  家庭聚会 datetime, 
  聚会地点 varchar(15), 
  上班时间 time
) default charset utf8;

# 查看表头
mysql> desc studb.t6;
+--------------+-------------+------+-----+---------+-------+
| Field        | Type        | Null | Key | Default | Extra |
+--------------+-------------+------+-----+---------+-------+
| 姓名         | char(10)    | YES  |     | NULL    |       |
| 生日         | date        | YES  |     | NULL    |       |
| 出生年份     | year(4)     | YES  |     | NULL    |       |
| 家庭聚会     | datetime    | YES  |     | NULL    |       |
| 聚会地点     | varchar(15) | YES  |     | NULL    |       |
| 上班时间     | time        | YES  |     | NULL    |       |
+--------------+-------------+------+-----+---------+-------+
6 rows in set (0.00 sec)

# 插入记录
mysql> insert into  studb.t6 
values ("翠花",20211120,1990,20220101183000,"天坛校区",090000);
上一篇下一篇

猜你喜欢

热点阅读