MySql操作

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
FROM
    test_info,
    (
SELECT
    @counter := 0
) temp
WHERE
    username = 3 
ORDER BY
    `id`

3.不存在则插入存在则更新

在需要检测数据表中是否存在处理的数据时,可以通过如下形式进行操作,先进行插入操作,如果存在DUPLICATE KEY错误则进行更新字段操作

INSERT INTO `allyears`(`year`,`sem`,`state`)values('$year','$sem','open')ON DUPLICATE KEY UPDATE `state` = 'open'

你可能感兴趣的:(PHP,mysql,数据库)