Mysql常用入门

数据类型取值范围

  • int、bigint、smallint 和 tinyint取值范围

  • bigint从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字)。存储大小为 8 个字节。

  • int从 -2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647) 的整型数据(所有数字)。存储大小为 4 个字节。int 的 SQL-92 同义字为 integer。

  • smallint从 -2^15 (-32,768) 到 2^15 - 1 (32,767) 的整型数据。存储大小为 2 个字节。

  • tinyint从 0 到 255 的整型数据。存储大小为 1 字节。

  • 在支持整数值的地方支持 bigint 数据类型。但是,bigint 用于某些特殊的情况,当整数值超过 int 数据类型支持的范围时,就可以采用 bigint。在 MySQL中,int 数据类型是主要的整数数据类型。

  • 在数据类型优先次序表中,bigint 位于 smallmoney 和 int 之间。只有当参数表达式是 bigint 数据类型时,函数才返回 bigint。MySQL不会自动将其它整数数据类型(tinyint、smallint 和 int)提升为 bigint。

  • CAHR(Length)

  • Length字节

  • 定长字段

  • 长度为0~255个字符

  • VARCHAR(Length)

  • String长度+1字节或String长度+2字节

  • 变长字段

  • 长度为0~65 535个字符

  • TINYTEXT

  • String长度+1字节

  • 字符串

  • 最大长度为255个字符

  • TEXT

  • String长度+2字节

  • 字符串

  • 最大长度为65 535个字符

  • MEDIUMINT

  • String长度+3字节

  • 字符串

  • 最大长度为16 777 215个字符

  • LONGTEXT

  • String长度+4字节

  • 字符串

  • 最大长度为4 294 967 295个字符

  • TINYINT(Length)

  • 1字节

  • 范围:-128~127

  • 或者0~255(无符号)

  • SMALLINT(Length)

  • 2字节

  • 范围:-32 768~32 767,或者0~65 535(无符号)

  • MEDIUMINT(Length)

  • 3字节

  • 范围:-8 388 608~8 388 607,或者0~16 777 215(无符号)

  • INT(Length)

  • 4字节

  • 范围:-2 147 483 648~2 147 483 647,或者0~4 294 967 295(无符号)

  • BIGINT(Length)

  • 8字节

  • 范围:-9 223 372 036 854 775 808~9 223 372 036 854 775 807,或者0~18 446 744 073 709 551 615(无符号)

  • FLOAT(Length, Decimals)

  • 4字节

  • 具有浮动小数点的较小的数

  • DOUBLE(Length, Decimals)

  • 8字节

  • 具有浮动小数点的较大的数

  • DECIMAL(Length, Decimals)

  • Length+1字节或Length+2字节

  • 存储为字符串的DOUBLE,允许固定的小数点

  • DATE

  • 3字节

  • 采用YYYY-MM-DD格式

  • DATETIME

  • 8字节

  • 采用YYYY-MM-DD HH:MM:SS格式

  • TIMESTAMP

  • 4字节

  • 采用YYYYMMDDHHMMSS格式;可接受的范围终止于2037年

  • TIME

  • 3字节

  • 采用HH:MM:SS格式

  • ENUM

  • 1或2字节 Enumeration(枚举)的简写,这意味着每一列都可以具有多个可能的值之一

  • SET

  • 1、2、3、4或8字节

  • 与ENUM一样,只不过每一列都可以具有多个可能的值

 

MyISAM和INNODB引擎的区别

MyISAM:适合执行大量的SELECT操作的数据库。

InnoDB:适合执行大量UPDATE、INSERT、Delete。

 

左连接、右连接、内连接介绍

  • 左链接,以左表为基础,显示所有数据,右边少了用Null标识;

  • SELECT * FROM ATable AT RIGHT JOIN BTable BT ON AT.ID = BT.ID;

  • 右链接,以右表为基础,显示所有数据,左边少了用Null标识;

  • SELECT * FROM ATable AT LEFT JOIN BTable BT ON AT.ID = BT.ID;

  • 内连接,显示两个表中有联系的所有数据;

  • SELECT * FROM ATable AT INNER JOIN BTable BT ON AT.ID = BT.ID;

 

like通配符介绍

MySQL中的常用通配符有三个:

       %:用来表示任意多个字符,包含0个字符

  • select * from user where username like '%huxiao';

  • select * from user where username like 'huxiao%';

  • select * from user where username like '%huxiao%';

       _  : 用来表示任意单个字符

  • select * from user where username like '_';

  • select * from user where username like 'huxia_';

  • select * from user where username like 'h_xiao';

      escape:用来转义特定字符,escape后的通配符就失效了。按照正常字符使用。

  • select username from gg_user where username like '%xiao/_%' escape '/';

  • select username from gg_user where username like '%xiao/%%' escape '/';

 

 

 


版权声明:本文为zzZZ20150101原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。