1.删除语句
1.delete form 表名; 逐一删除表中的数据
2.TRUNCATE TABLE 表名; 直接将表删除再创建一个相同名字的空表(建议使用)
2.修改语句
1.update 表名 set 字段=字段,字段=字段 where 字段=值;
3.添加语句
1.一次添加多个数据
insert into 表名(字段,字段) values(值,值) , (值,值) , (值,值);
4.查询语句
1.去重查询
select distinct name from user; 查询user表中的不重复的name列里面的数据
2.将列中的null替换成0,如果number列中的值是null就自动替换成0,方便计算
select number1+ifnull(number2,0) as 数字 from user;
上面的列名查询后将列名改为了数字
3.使用并且时请使用 AND
select * from user where age = 20 and tall = 18;
4.范围查找between
select * from user where age between 18 and 20;
5.分页查询时查找少数的数据
select * from user where limit 0 , 5;
表示从0号索引(第一条)数据开始查找5条数据
还可以在这个语句中加上限制条件
select * from user where age=1 limit 0 , 5;
6.多表查询
select * from user , job;
select *from admin as a1 , auser as a2 where a2.aid = a1.permission limit 0 ,2;
5.在sql中做判断
<!--如果现在时间在秒杀开始时间和秒杀结束时间之间且此商品还有货,那么返回一个1,否则返回一个0,将返回的值定义为canKill-->
<!--在sql里面做条件判断,判断后将得到的值定义为canKill就是核心,使用dto进行接收即可-->
<select id="selectAll" resultType="com.debug.kill.model.entity.ItemKill">
SELECT
a.*,
b.name AS itemName,
(
CASE WHEN (now() BETWEEN a.start_time AND a.end_time AND a.total > 0)
THEN 1
ELSE 0
END
) AS canKill
FROM item_kill AS a LEFT JOIN item AS b ON b.id = a.item_id
WHERE a.is_active = 1
</select>