解读mysql的数据类型

数据类型分类

 

TINYINT 、SMALLINT 、 MEDIUMINT、  INT(掌握) 、BIGINT

整数类型

1.实践

例如:创建整形数据的数据表test_int

drop database onlinedb;

create database onlinedb;

use onlinedb;

create table(创建表的语法) test_int

(int_1 int,

int_2 int unsigned,

int_3 int(6) zerofill,

int_4 tinyint,

int_5 tinyint unsigned);

查看数据表数据

select * from test_int;

向数据表中插入数据

insert into test_int values(100,100,100,100,100);

插入有问题的数据

insert into test_int values(100,-100,100,100,100);

查看数据表数据

select*from test_int;

小数类型

1、分类

浮点数和定点数

浮点数:数据值取近似值

定点数:数据值取精确值

FLOAT 、DOUBLE、DECIMAL(M,D) 或 DEC(M,D)

2、格式

数据类型(M,D)

M:精度数据的总长度

D:数据点后面的位数

3、实践

例如:尝试创建test_dec数据表。

create table test_dec

(float_1 float(10,2),

float_2 double(10,2),

decimal_3 decimal(10,2));

查看数据表数据

select * from test_dec;

插入数据

insert into test_dec

values(12345678.99,12345678.99,12345678.99);

查看数据表数据

select * from test_dec;

日期类型

1、分类

YEAR类型表示年份、 DATE类型表示日期、 TIME类型表示时间 DATETIME和 TIMESTAMP表示日期和时间

2、实践

例如:尝试使用日期类型数据。

drop database onlinedb;

create database onlinedb;

use onlinedb;

create table test_date

(year_1 year,

date_2 date,

time_3 time,

datetime_4 datetime,

timestamp_5 timestamp);

应用函数完成数据的插入:

insert into test_date

values(now(),current_date,current_time,current_timestamp,current_timestamp);

查询

select*from test_date;

 

字符型

1、分类

字符串类型是在数据库中存储字符串的数据类型。

字符串类型包括CHAR  VARCHAR  BLOB  TEXT  ENUM  SET

2、实践

例如:尝试使用varchar数据类型

测试一:超出单列长度的定义

create table test_char1

(varchar_1 varchar(65535));

错误提示:varchar存储的最大字节为65535,每个字符占据3个字节,单列大长度最大为21845个字符,这说明varchar数据类型按字符储存

create table test_char1

(varchar_1 varchar(21845)); 

错误提示:除以3再加一行吗

create table test_char1

(varchar_1 varchar(21844));

没问题了 没报错

例如:尝试定义test_char2数据表

create table test_char2

(varchar_1 varchar(21844),

char_2 char(10));

每个字段的长度都符合定义,但所有字段长度之和超出单行长度的范围。

create table test_char3

(char_2 char(10));

create table test_char2

(varchar_1 varchar(21834),

char_2 char(10));

没毛病了 

 

JSON数据类型

1、定义

一种轻量级数据交换格式。

2、分类

对象和数组

3、格式

对象:{键:值}

例如:{"性别":"女"}

数组:[值,值,值]

["星期一","星期二"]

4、实践

例如:创建test_json表,测试json 类型的数据存储。

drop database onlinedb;

create database onlinedb;

use onlinedb;

create table test_json

(json_1 json,

json_2 json);

insert into test_json values

('{"u_num":"001","uname":"李鑫"}',

'["星期一","星期二"]');

查询数据填充

select * from test_json;

二、查看数据表

1.表定义:关系数据库中,表是以行和列的形式组织起来,数据存在于行和列相交的单元格中,一行数据表示一条唯一的记录一列数据表示一个字段,唯一标识一行记录的属性称为主键。

2、格式

show tables;

3、实践

例如:查看onlinedb数据库数据表

show tables;

三、创建数据表

1.格式
CREATE TABLE表名(字段定义1,字段定义2,...字段定义n);
表名:表示所要创建的表的名称;
字段定义:定义表中的字段。包括字段名、数据类型、是否允许为空,指定默认值、主键约束、唯一性约束、注释字段、是否为外键以及字段类型的属性等。字段定义格式如下。
字段名 类型[NOTNULL|NULL][DEFAULT默认值][AUTO_INCREMENT] [UNIQUE KEY | PRIMARY KEY][COMMENT ‘字符串’[外键定义]
NULL(NOT NULL):表示字段是否可以为空;
DEFUALT:指定字段的默认值;
AUTO_INCREMENT:设置字段为自增,只有整型类型的字段才能设置自增。自增默认从1开始,每个表只能有一个自增字段;

UNIOUE KEY:唯一性约束;
PRIMARY KEY:主键约束; I
COMMENT:注释字段;
外键定义:外键约束。

2、实践

例如:尝试完成user数据表的创建uID、uName、uPwd、uSex

create table users

(uID int(11),

uName varchar(30),

uPwd varchar(50),

uSex char(8));

插入数据

insert into users values(100,'王鑫','123456','男');

insert into users values(100,'王鑫','123456','男');

查询语句

select * from users;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值