Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

MySQL은 데이터베이스 필드를 1씩 증가시킵니까?

<시간/>

update 명령을 사용하여 데이터베이스를 증가시킬 수 있습니다. 구문은 다음과 같습니다 -

UPDATE yourTableName
set yourColumnName=yourColumnName+1
where condition;

위의 구문을 이해하기 위해 먼저 테이블을 생성해 보겠습니다. 테이블을 생성하는 쿼리는 다음과 같습니다 -

mysql> create table IncrementBy1
   -> (
   -> Id int,
   -> Name varchar(100),
   -> CounterLogin int
   -> );
Query OK, 0 rows affected (0.63 sec)

삽입 명령을 사용하여 일부 레코드를 삽입하십시오. 테이블에 레코드를 삽입하는 쿼리는 다음과 같습니다 -

mysql> insert into IncrementBy1 values(100,'John',30);
Query OK, 1 row affected (0.17 sec)

mysql> insert into IncrementBy1 values(101,'Carol',50);
Query OK, 1 row affected (0.15 sec)

mysql> insert into IncrementBy1 values(102,'Bob',89);
Query OK, 1 row affected (0.25 sec)

mysql> insert into IncrementBy1 values(103,'Mike',99);
Query OK, 1 row affected (0.18 sec)

mysql> insert into IncrementBy1 values(104,'Sam',199);
Query OK, 1 row affected (0.36 sec)

mysql> insert into IncrementBy1 values(105,'Tom',999);
Query OK, 1 row affected (0.18 sec)

select 문을 사용하여 테이블의 모든 레코드를 표시합니다. 쿼리는 다음과 같습니다 -

mysql> select *from IncrementBy1;

출력

+------+-------+--------------+
| Id   | Name  | CounterLogin |
+------+-------+--------------+
|  100 | John  |           30 |
|  101 | Carol |           50 |
|  102 | Bob   |           89 |
|  103 | Mike  |           99 |
|  104 | Sam   |          199 |
|  105 | Tom   |          999 |
+------+-------+--------------+
6 rows in set (0.00 sec)

다음은 데이터베이스 필드를 1 −

증가시키는 쿼리입니다.
mysql> update IncrementBy1
   -> set CounterLogin=CounterLogin+1
   -> where Id=105;
Query OK, 1 row affected (0.45 sec)
Rows matched: 1 Changed: 1 Warnings: 0

이제 특정 레코드가 증가했는지 여부를 확인할 수 있습니다. 위에 표시된 것처럼 Id=105인 값을 증가시키기 때문에 값 999는 1로 증가했습니다.

다음은 레코드를 확인하는 쿼리입니다 -

mysql> select *from IncrementBy1 where Id=105;

출력

+------+------+--------------+
| Id   | Name | CounterLogin |
+------+------+--------------+
|  105 | Tom  | 1        000 |
+------+------+--------------+
1 row in set (0.00 sec)