①都可以设置无符号和有符号,操作如下

②如果插入的数值超过整型的范围,数值型(整型、小数)、字符型、日期型,默认有符号,默认会有一个长度,3 小数类型,4 时间日期类型,操作如下,内容被圆括号包含

图片 24

数据类型的分类
数值型(整型、小数)、字符型、日期型,小数分为定点数和浮点数。
一、整型
图片 1
注:①若是不安装无符号,私下认可是有标志的,假使设置为无符号的,需求增多unsigned关键字。
②万意气风发插入的数值超过整型的限定,报out of range 十分,并插入临界值。
③假诺不设置长度,会有暗中同意长度。
④长短代表显示的最大开间,假设非常不足用0在侧边补充,但必得搭配zerofill 使用

tinyint、smallint、mediumint、int/integer、bigint

1 数据类型(列类型)

  • 所谓的数据类型:对数码进行统大器晚成的归类,从系统的角度出发是为着能够运用统生机勃勃的办法举办拘留,越来越好的选拔有限的长空。
  • SQL少将数据类型分成了三大类:

图片 2

在数据库里面操作表:

布署临界值:
图片 3

特点:

2 数值类型

  • 数值类型数据:都是数值。
  • 系统将数值型分为整数类型和浮点数类型。

 

①:首先要开垦数据库:

操作如下: 

use db_name;

 

默许长度:
图片 4

①都能够安装无符号和有号子,默许有号子,通过unsigned设置无符号

2.1 整数类型

  • 在SQL中因为越多的要考虑怎么节约磁盘空间,所以系统将整数类型又细分成了5类:
    • tinyint   Mini整型,使用三个字节存款和储蓄,表示的景况最多为256种。
    • smallint      小整型,使用2个字节存款和储蓄,表示的状态最多为65536种。
    • mediumint 中整型,使用3个字节存储。
    • int              规范整型,使用4个字节存款和储蓄。
    • bigint         大整型,使用8个字节存款和储蓄。  

 

  • 创办一张整型表

    create table my_int(
    int_1 tinyint,
    int_2 smallint,
    int_3 mediumint,
    int_4 int,
    int_5 bigint
    )charset utf8;

图片 5

  • 布署数据

    — 插入数据
    insert into my_int(int_1,int_2,int_3,int_4,int_5) values(1,2,3,4,5);

图片 6

  • 翻看数据

    select * from my_int;

图片 7

 

  • SQL中的数值类型全部是私下认可有标记的:分正负。
  • 部分时候,须要接收无符号数据,须求给数据类型约束为int
    unsigned;–无符号

 

  • 给my_int表增添三个无符号类型。

    alter table my_int add int_6 int unsigned;

图片 8

  •  插入无符号数据

    insert into my_int (int_6) values (0);

图片 9

  • 就算插入的是负数

图片 10

 

  • 查看表结构的时候,发掘各类字段的数据类型之后都会自带两个括号,里面有钦赐的数字

图片 11

  • 彰显上升的幅度:没有特意的意义,只是暗许的告诉客商能够显得的方式而已,实际上客户是能够垄断(monopoly)展现升幅,不过这种垄断(monopoly)不会改造多少作者的大大小小。

 

  • 追加贰个int_7 int(1) 的字段

    alter table my_int add int_7 int(1) unsigned ;

图片 12

  • 插入数据

图片 13

 

  • 显示上涨的幅度的意义:在于当数码远远不足显示升幅的时候,会活动让数据产生对应的来得上升的幅度,平常必要搭配叁个前导0(zerofill:零填充,零填充会导致数值形成无符号)来增加幅度,不更换值大小。

    alter table my_int add int_8 int(2) zerofill;

图片 14

 

  • 零填充+显示上涨的幅度的效劳

图片 15

 

  • 零填充的意思:保险数据格式。

 

②:其次要写表消息:

操作模版如下:

 

mysql> create  table   tb_name

-> (

-> 列信息

-> )[表选项];

 

 

操作实举例下:

mysql>create table score

     ->(

     ->stu int,

     ->name varchar(20),

     ->ke varchar(10),

     ->fen int

     ->);

记住:

①:内容被圆括号包涵,并不是花括号

②:各类内容以逗号,结尾

③:最终的三个成分没有,逗号

    ④:表名无法以数字起始;

 

 

安装无符号类型:
图片 16

②生龙活虎旦超过了限制,会报out or range极度,插入临界值

3 小数类型

  • 小数型:带有小数点也许节制超过整数类型的数值类型。

 

  • SQL中:将小数类型划分为两种:浮点型和定点型。
    • 浮点型:小数点浮动,精度有限,会屏弃精度。
    • 确定地点型:小数点固定,精度固定,不会遗弃精度。  

 

改善表名:(数据库名是不能够改的)

rename table old_tb_name to new_tb_name;

 

设置0填充,会自动将unsigned增多:
图片 17

③长短能够不点名,暗中同意会有三个长度

3.1 浮点型

  • 浮点型数据会因为超过范围之后,错失精度(自动四舍五入)。
  • 浮点型:理论上有二种精度。
    • float:单精度,占用4个字节存款和储蓄数据,精度范围大约在7位左右。
    • double:双精度,占用8个字节存款和储蓄和数量,精度范围大约在十三个人左右。  

 

  • 创立浮点数表:浮点的应用办法,直接float表示不曾小数部分;float(M,D):M代表总参谋长度,D代表小数部分长度,整数有的长度为M-D。

    — 浮点数表
    create table my_float(

    f1 float,
    f2 float(10,2),--10位在精度范围之外
    f3 float(6,2)--6位在精度范围之内
    

    );

图片 18

  • 插入数据:可以一贯小数,也能够科学计数法

图片 19

 

 

0填充的图景:
图片 20

长度代表展现的最大幅面,假诺远远不足则左边用0填充,但要求搭配zerofill,何况暗中认可变为无符号整型

3.2 定点型

  • 定点型:绝对的保证整数部分不会被四舍五入(不会甩掉精度),小数部分有不小或然。

 

查看表:(查看表的个数)

show tables;

 

 

 

二、小数
图片 21
float(M,D) double(M,D)和dec(M,D) decimal(M,D)
注:
①M:范围是整数有的+小数部分
②D:是指小数部分
③假使超过范围,则插入临界值
④M和D均可省略,要是是DEC,则暗许值10,D暗中认可是0
⑤float和double,会基于插入的数值的精度来支配精度
⑥确定地点型的精度较高,假诺要求插入数值的精度较高如货币运算等则设想选拔

定点数:decimal

4 时间日期类型

图片 22

 

陈诉表:(查看表的结构)

 

  desc tb_name;   (desc 表示describe)

示例: desc  newscore; 

 

Dec 的默许值:
图片 23

浮点数:float 4、double 8

5 字符串类型

  • 在SQL中,将字符串类型分成了6类:char,varchar,text,blob,enum和set。

 

  • 定长字符串
    • char:磁盘(二维表)在概念结构的时候,就曾经明确了最后数额的累积长度。
    • char(L):L代表length,能够积存的长度,单位为字符。最大尺寸值可感觉255。char(4):在utf8蒙受下,须要4 *
      3 = 12 个字节。  

 

  • 变长字符串
    • varchar:在分配空间的时候,依据最大的上空分配,可是实际上最后用了有一点,是基于实际的数量来明确。
    • varchar(L):L代表length,理论长度是65539个字符,可是会出处1到2个字节来分明期存款款和储蓄的实际上尺寸。varchar(10):在utf8情状下,存款和储蓄11个汉字,必要10 *
      3 + 1 = 31 字节。
    • 潜心的是,在实际上支付中,要是字符的长度超越252个,我们会采取text或blob来代替varchar。  

 

  • 如何选用定长或变长字符串?
    • 定长的磁盘空间比较浪费,可是成效高;换言之,要是数据大概显著长度都相似,就使用定长,如身份ID编号,电话号码,手提式有线电话机号码等。
    • 变长的磁盘空间相比节省,不过作用低;换言之,假若数量不可能分明长度(差别的数量,长度有转换),如姓名,地址等。  

 

  • 文本字符串
    • 只要数据量超大,平时超越2五拾七个字符,就可以动用文本字符串。
    • 文本字符串依照存款和储蓄的格式举行分拣:text和blob。
      • text:存款和储蓄文字。
      • blob:存款和储蓄二进制数据(平日并不是)。    

 

  • 枚举字符串
    • 枚举:enum,达成将具备非常大可能率现身的结果都设计好,实际上存款和储蓄的数量必需是规定好的数量中的叁个。
    • 枚举的采纳办法:
      • 概念:enum(恐怕现身的要素列表);
        • 如:enum(‘男’,’女’,’不男不女’,’妖’)。
      • 选取:存款和储蓄数据,只可以存款和储蓄方面定义好的多寡。          

 

  • 集结字符串
    • 集中和枚举很左近:实际存款和储蓄的是数值,并不是字符串。
    • 集结的使用要素:
      • 利用:set(成分列表);
      • 行使:能够行使要素列表中的成分(多少个),使用逗号分隔。      

 

 

私下认可长度和精度:
图片 24
三、字符型
短的文本:
char(M)、varchar(M)
Binary和varbinary 用于保存超级短的文书
Enum用于保存枚举类型
Set用于保存集结
长文本:
text blob(相当大的二进制)

特点:

6 MySQL记下长度

  • MySQL中分明:任何一条记下最长不可能超过655三19个字节。(varchar永久达不到理论值)

 

删除表:

drop table tb_name;