回顾Mysql易忘的数据类型及常用语法

易忘的数据类型

文本类

Text

最多存储65535个字节

时间类

Date(日期):

显示格式 YYYY-MM-DD 显示范围 1601-01-01 到 9999-01-01 应用场景
只需要精确到天时,如生日等

Time(时间)

显示格式 HH:mm:ss 显示范围 00:00:00 到 23:59:59 应用场景 只需要每天的时间

TIMESTAMP

4个字节储,TIMESTAMP格式也是’YYYY-MM-DD HH:MM:SS’这样的,与DATETIME不同的地方是,它的年份取值范围是1970-2037

DATETIME

8个字节储存;实际格式储存;与时区无关;datetime 以’YYYY- MM-DD
HH:MM:SS’格式检索和显示DATETIME值。支持的范围为’1000-01-01 00:00:00’到’9999-12-31 23:59:59’

INT

在只显示年月日的情况下,如果数据库中存入的是int类型的时间,那么我们可以直接使用Java来转换了,非常的方便

数值型

Numeric

Numeric(10,2) 指字段是数字型,长度为10 小数为两位的

INT

能存储四个字节的整型

常用语法

注释

comment

在MySQL数据库中, 字段或列的注释是用属性comment来添加。

举个例子:

`state` int(11) DEFAULT NULL COMMENT '0表示草稿箱,1表示已发表,2表示已删除'

索引及约束

key
看这位哥的 添加链接描述

UNIQUE KEY
看这位 添加链接描述

IN的用法

在指定范围内查找需要的元素

select *from user where id in(value1,value2,.....);

limit的用法

 SELECT * FROM table LIMIT 5,10; // 检索记录行 6-15   
  
//为了检索从某一个偏移量到记录集的结束所有的记录行,可以指定第二个参数为 -1:    
 SELECT * FROM table LIMIT 95,-1; // 检索记录行 96-last.   
  
//如果只给定一个参数,它表示返回最大的记录行数目:    
 SELECT * FROM table LIMIT 5; //检索前 5 个记录行   

exist用法

看这位哥的 exist用法

union /union all用法

合并两次查询的结果,例如

A表:
±-----±-----+
| id | num |
±-----±-----+
| a | 5 |
| b | 10 |
| c | 15 |
| d | 10 |
±-----±-----+

B表:
±-----±-----+
| id | num |
±-----±-----+
| b | 5 |
| c | 15 |
| d | 20 |
| e | 99 |
±-----±-----+

mysql> # 合并 ,注意all的作用
mysql> select * from ta
-> union all
-> select * from tb;
±-----±-----+
| id | num |
±-----±-----+
| a | 5 |
| b | 10 |
| c | 15 |
| d | 10 |
| b | 5 |
| c | 15 |
| d | 20 |
| e | 99 |
±-----±-----+

可以看出union all会合并出所有结果,使用union会自动过滤掉重复的结果

group by用法

根据某个特征进行分组,相当于将一块大数据分成n个小块,要配合聚合函数(sum,max,min等)使用,计算出每小块区域的值,再搭配having筛选掉不需要的块的数据

select cat_id,sum(goods_number*shop_price) as k from ecs_goods group by cat_id
having k>20000

like模糊查询用法

可以使用%代替任意未知数量字符,举例子

SELECT title FROM article WHERE title LIKE '%人生%';

查询结果

title
人生感悟
人生感悟2222666666666

配合mybatis进行关键词的查找

可用于搜索功能,配合concat()连接字符串函数使用,举例

<select id="getArticleCountByState" resultType="int">
        SELECT count(*) FROM article
        <where>
            <if test="state!=-1">
                AND state=#{state}
            </if>
            <if test="uid!=null">
                AND uid=#{uid}
            </if>
            <if test="keywords!=null">
                AND title LIKE concat('%',#{keywords},'%')
            </if>
        </where>
    </select>
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值