1、日期和时间类型
1.表示时间值的日期和时间类型为DATETIME、DATE、TIMESTAMP、TIME和YEAR。
2.每个时间类型有一个有效值范围和一个"零"值,当指定不合法的MySQL不能表示的值时使用"零"值。
3.TIMESTAMP类型有专有的自动更新特性,将在后面描述。
2、字符串类型
字符串类型指CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM和SET。该节描述了这些类型如何工作以及如何在查询中使用这些类型。
2.1、面试题: 在MySQL中 char 和 varchar 有什么区别?
一、长度是否可变
varchar 类型的长度是可变的,而 char 类型的长度是固定的。
char 类型是一个定长的字段,以 char(10) 为例,不管真实的存储内容多大或者是占了多少空间,都会消耗掉 10 个字符的空间。
坦通俗来讲,当定义为 char(10) 时,即使插入的内容是 ‘abc’ 3 个字符,它依然会占用 10 个字节,其中包含了 7 个空字节。
二、存储长度
char 长度最大为 255 个字符,varchar 长度最大为 65535 个字符。
三、检索效率方面
varchar 类型的查找效率比较低,而 char 类型的查找效率比较高。
3、查询表中的数据
SELECT 列名 FROM 表名
①我们想查询该表的那些列 可以直接写列名 ,顺序可以自定义
②如果需要所有列都被查询 ,可以使用 select * , *号代表所有列
注意 我们平时练习还可以使用* 但是项目中不能使用 因为效率低。
③列和表都可以起别名
此时 上一句SQL给表t_people起了别名叫t
接下来查询的时候 查询t表 发现 t表不存在
因为 别名只有在起别名的那句SQL中才能识别
此时表的别名 在多表查询的时候需要用到
4、查询中列支持运算
例如 : 查询三年后学生的年龄
这个特点在设计数据库表的时候 ,经常被使用到。例如 如果有的数据可以通过多个列的运算得到,此时就不去设计这一列。
例如:购物车表