一、列类型

mysql 数组专列 mysql列的数据类型_mysql 数组专列

一、数值类型的基本使用:

1.整型

  1. 在能够满足需求的情况下,尽量选择占用空间小的类型:
  2. 以创建t3的tinyint列表为例:
CREATE TABLE t3(
   	id TINYINT);
INSERT INTO t3 VALUES(-128);
  • 效果如下:

报错效果:

mysql 数组专列 mysql列的数据类型_创建表_02


2. 如何定义一个无符号整数

create table t10 (id tinyint);//默认有符号
create table t11 (id tinytint unsigned);//无符号
  • 报错效果:

2. bit类型

  1. 基本使用:
  2. bit字段显示时,按照位的方式显示,查询的时候仍然可以用使用添加的数值如果一个值只有0, 1可以考虑使用bit(1) ,可以节约空间位类型。
  • 举例说明:
CREATE TABLE t9 (num bit(8));
INSERT INTO t9 VALUES(255);
SELECT * FROM t9;
  • 运行效果:

二、小数类型

  • DECIMAL[M,D] [UNSIGNED]
    可以支持更加精确的小数位。M是小数位数(精度)的总数, D是小数点(标度)后面的位数。
    如果D是0,则值没有小数点或分数部分。M最大65。D最大是30。如果D被省略,默认是0。如果M被省略,默认是10。

通常DECIMAL只在精度特别大的时候使用,一般都是用double

  • 举例:
#创建表
CREATE TABLE t6(
   num1 FLOAT,
   num2 DOUBLE,
   num3 DECIMAL(30,20));
#添加数据
INSERT INTO t6 VALUES(88.12345656775432,88.12345656775432,88.12345656775432);
SELECT * FROM t6;
  • 运行结果:

三、字符串的基本使用

  1. char(4)中的4是字符数(最大255),不管中文还是英文都是按字符大小存放
  • 举例:
#创建表
CREATE TABLE t0(
	`name` CHAR(4));//字符数不区分是汉字还是字母
#添加数据
INSERT INTO t0 VALUES(abcde);
SELECT * FROM t0;

mysql 数组专列 mysql列的数据类型_数据库_03

  1. char(4)是定长(固定大小),即使插入’aa’,也会占用分配的4个字符空间
  2. 如果使用数据是定长,则使用char,如:md5密码、邮编;如果不确定,使用varchar,如:留言、文章
    查询速度:char > varchar
  3. 在存放文本时,也可以使用Text数据类型.可以将TEXT列视为VARCHAR列,注意Text不能有默认值.大小0-2^16字节
    如果希望存放更多字符,可以选择MEDIUMTEXT 0-2^24 或者LONGTEXT 0~2^32

四、日期类型的基本使用

mysql 数组专列 mysql列的数据类型_数据库_04

五、练习:

  • 创建一个员工表emp

    创建代码如下:
CREATE TABLE `emp`(
	id int,
	`name` varchar(32),
	sex varchar(1),
	birthday DATE,
	entry_date DATE,
	job VARCHAR(32),
	Salary DOUBLE,
	`resume` TEXT)CHARSET utf8 COLLATE utf8_bin ENGINE INNODB;

效果如下:

mysql 数组专列 mysql列的数据类型_mysql 数组专列_05