Mysql数据库项目学习笔记
1.条件查询后排序
(SELECT @counter := 0) temp
设定临时变量ORDER BY id ASC
用于将id以升序形式进行排列
SELECT@counter := @counter +1 AS ROW,`username`,`type`,`content`
FROM`test_info`,(
SELECT@counter := 0
) temp
WHERE`username` = 2 AND `type` = 3
ORDER BY`id` ASC;
2.删除行修改自增id
在项目设定自增id之后,当需要删除某一行时,自增id常常会出现断层的现象,为了让其自动更新成连续的字段,可以通过如下形式重新更新自增id字段。
DELETE FROM test_info where table_name.name='dell'
SELECT `id` FROM( SELECT@counter := @counter +1 AS `row_id`,id
FROMtest_info,(
SELECT@counter := 0
) temp
WHEREusername = 3
ORDER BY`id`;
3.不存在则插入存在则更新
在需要检测数据表中是否存在处理的数据时,可以通过如下形式进行操作,先进行插入操作,如果存在DUPLICATE KEY错误则进行更新字段操作
INSERT INTO `allyears`(`year`,`sem`,`state`)values('$year','$sem','open')ON DUPLICATE KEY UPDATE `state` = 'open'