MYSQL数据类型和运算符整理

一、MYSQL数据类型

  《1》MYSQL数据类型

     

整数类型tinyint  smallint mediumint  int bigint
浮点数类型 float   double
定点数类型 dec
位类型bit

  (1) 整型

             取值范围如果加unsigned ,则最大值翻倍   如:(tinyint unsigned 的取值范围为0~256)

MYSQL数据类型含义(有符号)
tinyint (m)

一个字节 范围(-128~127)

(-2^8~2^8)

smallint(m)

2个字节 范围(-32768~32767)

(-2^15~2^15)

mediumint(m)

3个字节 范围(-8388608~8388607)

(-2^23~2^23)

int(m)4个字节   范围(-2147483648~2147483647)(-2^31~2^31)
bigint(m)5个字节  范围(+-9.22*10的18次方)

          (m):表示slect 查询结果集中的显示宽度

(2)浮点型

                    (m,d):  m   总个数

                                     d   小数位

MYSQL数据结构

 

含义

 

float (m,d)单精度浮点型 8位精度(4字节)
double (m,d)双精度浮点型  16位精度 (8字节)

                   例:float(6.3)      插入的数: 123.45678     实际储存:123.457

                                                                  12.12                               12.1200

(3)定点数

                浮点数在数据库中存放近似值,而定点类型在数据库中存放准确值

                decimal(m,d)   m:小于65是总位数     d:小于30且小于m是小数位。

(4)字符串

     

MYSQL数据类型含义
char(n)固定长度,最多255个字符
varchar(n)固定长度,最多65535个字符
tinytext可变长度,最多255个字符
text可变长度,最多65535个字符
mediumtext可变长度,最多2^24-1个字符
longtext可变长度,最多2^32-1个字符

        ①、char和varchar

               1、char(n)若存入字符小于n,则以空格补与其后,查询时再将空格去掉。所以char类型存储的字符串末尾不能有空格。

               2、char(n) 固定长度,char(4)不管存入几个字符,都将占用4个字节,varchar是存入的实际字符数+1个字节(n<=255)hu或2个字符(n>255)。即varchar(4),存入三个字符将占用4个字符。

               3、char类型的字符串检索速度要比varchar快。

        ②、varchar和text

               1、varchar可指定n,text不能指定,内部存储varchar是存入的实际字符数+1字节(n<=255)或2个字节(n>255),text是实际字符是+2字节。

               2、text类型不能有默认值。

               3、varchar可直接创建索引,text创建索引要指定前多少个字符。varchar查询速度快于text,在都创建索引的情况下,text的索引似乎不起作用。

 (5)二进制数据

            1、_BLOB和_text存储方式不同,_text以文本方式存储,英文存储区分大小写,而_Blod是以二进制方式存储,不区分大小。

            2、_BLOB存储的数据只能整体读出。

            3、_text可以指定字符集,_blob不用指定字符集。

(6)日期时间类型

MYSQL数据类型含义
date日期“2020-06-09”
time时间“17:29:30”
datetime日期时间 “2020-06-09 17:29:33”
timestamp自动存储记录修改时间

     timestamp:这个字段的时间数据会随着其他字段修改时候自动刷新,所以这个数据类型的字段可以存放这个记录最后被修改的时间。

《2》数据类型的属性

 

MYSQL关键字含义
NULL数据列可包含NULL值
NOT NULL数据列不允许包含NULL值
DEFAULT默认值
PRIMARY KEY主键
AUTO_INCREMENT自动递增,适用于整数类型
UNSIGNED无符号
CHARACTER SET name 指定一个字符集

二、字符集

     (1)概念

                        MYSQL字符集包括字符集和校对规则两个概念

 

字符集含义
latin1西欧字符、希腊字符
gbk中文简体字符
big5中文繁体字符
utf8几乎支持世界所有国家的字符

        命令:show varuables like 'character%';

             

      命令2:show collation;   #查看当前MYSQL服务实例支持的字符序.

(2)mysql字符集命名规则

      以字符序对应的字符集名称开头,以国家名居中(或以general居中),以ci(大小写不敏感)、cs(大小写敏感)或bin(按二进制编码值比较)结尾。

(3)默认字符集修改

        1、修改my.cnf配置文件,可修改MYSQL默认的字符集,修改完毕重启mysql

                <1>[mysqld]下添加 (如何查看mysql版本 :mysql -V)

                          ①、5.1及以前版本  default-character-set=utf8

                                                           init_connect = 'SET NAMES utf8'

                          ②、5.5及以后的版本  character-set-server=utf8

                                                          init_connect = 'SET NAMES utf8'     

                <2>[client]下添加 default-character-set=utf8

      2、MYSQL提供下列MYSQL命令可以“临时的”修改MYSQL“当前会话的”字符集以及字符序。

                

set character_set_client = utf8;

set character_set_connection = utf8 ;

set character_set_database = utf8;

set character_set_results = utf8;

set character_set_server = utf8;

set collection_connection = utf8_general_ci;

set collection_database = utf8_general_ci;

set collection_server = utf8_general_ci;

   3、MYSQL命令“set name utf8” 可以临时一次性的设置character_set_client等的字符集为utf8

   4、连接MYSQL服务器时指定字符集

         

mysql --default-character-set=字符集 -h 服务器IP地址 -u 账号名 -p密码

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值