数据类型
数值类型
类型 | 大小 | 用途 |
---|---|---|
int | 4字节 | 大整数值 |
tinyint | 1字节 | 小整数值 |
smallint | 2字节 | 大整数值 |
mediumint | 3字节 | 大整数值 |
bigint | 8字节 | 极大整数值 |
float | 4字节 | 单精度浮点数值 |
double | 8字节 | 双精度浮点数值 |
decimal | ①decimal(m,n) | 小数值 |
①声明语法是decimal(m,n),其中m是数字的最大位数(精度),其范围为1~65,m的默认值是10;n是小数点右侧数字的数目(标度),其范围是0~30,但不得超过m。
字符类型
类型 | 大小 | 用途 |
---|---|---|
char | 0-255字节 | 定长字符串 |
varchar | 0-65536字节 | 变长字符串 |
text | 0-65536字节 | 长文本数据 |
tinytext | 0-255字节 | 短文本字符串 |
mediumtext | 0-16777215字节 | 中等长度文本数据 |
longtext | 0-4294967295字节 | 极大文本数据 |
blob | 0-65536字节 | 二进制形式的长文本数据 |
tinyblob | 0-255字节 | 二进制形式的短文本字符串(不超过255个字符串) |
mediumblob | 0-16777215字节 | 二进制形式的中等长度文本数据 |
longblob | 0-4294967295字节 | 二进制形式的极大文本数据 |
枚举类型
enum():用来给出存储的一个值(gender enum(‘男’,‘女’))
set():用来给出存储的值中一个或多个(hobby set(‘sing’,‘jump’,‘rap’,‘basketball’))
日期时间类型
类型 | 格式 |
---|---|
date | YYYY-MM-DD |
time | HH:MM:SS |
year | YYYY |
datetime | YYYY-MM-DD HH:MM:SS |
timestamp | YYYY-MM-DD HH:MM:SS |
日期时间函数
NOW()
返回服务器当前时间
CURDATE()
返回当前日期
CURTIME()
返回当前时间
YEAR(data)
返回指定时间的年份
DATE(data)
返回指定时间的日期
TIME(data)
返回指定时间的时间
日期时间运算
select * from 表名 where 字段名 运算符(NOW()-interval 间隔);
间隔单位:day | month | year
例:查找书架上印刷时间距现在两年内的书籍
select * from bookshelf where printing_time<(NOW()-interval 2 year)
运算符
数值比较
>、 >= 、<、<=、 =、 !=
逻辑比较
and or
select 字段名 where 条件1 and|or 条件2
范围内比较
between 值1 and 值2、in()、not in()
模糊比较
where 字段名 like 表达式(%_)
句中用 % 代表任意个数的任意字符,用 _ 代表某一任意字符
NULL判断
is NULL、is not NULL
查询
- order by
order by 字段名 ASC/DESC
ASC表示升序,DESC表示降序
注:永远放在SQL命令倒数第二的位置
- limit
limit n:显示前n条记录
limit m,n:从m+1条记录开始显示n条记录
注:永远放在SQL命令最后的位置