1.MySQL数据类型

2.1、定长:char(字符个数)

2.2、变长:varchar(字符个数)

2.3、大文本类型blob、text

3.1、整数型

3.2、浮点型

1、常见信息种类

  • 数值型:体重、身高、成绩、工资
  • 字符型:姓名、工作单位、住址
  • 枚举型:兴趣爱好、性别、专业
  • 日期时间型:出生日期、注册时间等

2、字符类型

2.1、定长:char(字符个数)

  • 最大字符个数255
  • 不够指定字符个数是在右边用空格补全
  • 字符个数超出时,无法写入数据

2.2、变长:varchar(字符个数)

  • 最大65532个字符
  • 按数据实际大小分配存储空间
  • 字符个数超出时,无法写入数据

2.3、大文本类型blob、text

  • 字符大于65535存储时使用

3、数值类型

3.1、整数型

  • 只能存整数,不能有小数点,有小数点的情况下四舍五入变整数
  • 超出范围时,不输入

3.2、浮点型

  • 格式1:字段名 类型;
  • 格式2:字段名 类型(总宽度,小数位数)

4、日期时间类型

  • 日期时间 datetime
    当没有给datetime字段赋值时,值为空NULL
    范围:1000-01-01 00:00:00~9999-12-31 23:59:59
    格式:yyyymmddhhmmss
  • 日期时间 timestamp
    当没有给timestamp字段赋值时,自动以当前系统时间赋值
    范围:1970-01-01 00:00:00~2038-01-19 00:00:00
    格式:yyyymmddhhmmss
mysql> create table t1 (name char(10) , meetting timestamp , part datetime );
Query OK, 0 rows affected (0.00 sec)

mysql> insert into t1 values ("bob" , 20200415214530 , 20200316183000);
Query OK, 1 row affected (0.00 sec)

mysql> select * from t1;

mysql> insert into t1(name ,part) values("tom",20191224083000);
Query OK, 1 row affected (0.01 sec)

mysql> select * from t1;
  • 日期 date
    范围:0001-01-01~9999-12-31
    格式:yyyymmdd
  • 年 year
    要求使用4位数赋值
    当使用2位数赋值时:
    01~69视为 2001~2069
    70~99视为 1970~1999
    范围:1901~2155
    格式:yyyy
  • 时间 time
    格式 HH:MM:SS
mysql> insert into t2 values("zbzhz",59);
Query OK, 1 row affected (0.00 sec)
mysql> select * from t2;

mysql>create  table db1.t8 ( name  char(10) ,  start_y   year  , up_time time , birthday  date , meeting  datetime );
			
mysql>insert into  db1.t8  values ("bob",2000,083000,20201120,20200418200000);

mysql>select  *  from  db1.t8 ;  
  • 时间函数
  • MySQL服务内置命令
    可以使用时间函数给字段赋值

mysql> select curtime();
mysql> select curdate();
mysql> select now() ;
mysql> select curdate();
mysql> select year( curdate() );
mysql> select date(now());
mysql> select day(now());
mysql>insert into  db1.t8  values ("tom" , year( curdate() ), curtime() , curdate() , now() );	
--使用系统当前的时间为系统赋值
mysql>select  *  from  db1.t8 ; 

5、枚举型

字段的值只能在列举的范围内选择

  • enum单选
    格式:字段名 enum(值1,值2,值3,…)
    仅能选择一个值
    字段值必须在列表里选择
  • 多选 set(值列表)
    格式:字段名 set(值1,值2,值3,…)
    选择一个值或者多个
    字段值必须在列表里选择
create table db1.t6(name char(15) , likes set("money","game","eat","music") , sex enum("boy","girl" , "no" )  );
mysql> insert into db1.t6 values( "tom" , "money,eat,game" , "boy");
Query OK, 1 row affected (0.00 sec)