MySQL
 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)

  1. 同じフィールドでソート順を実行するMySQLクエリ

    これには、ORDER BY IF()を使用します。 まずテーブルを作成しましょう- mysql> create table DemoTable801 ( Score int ); Query OK, 0 rows affected (0.69 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable801 values(30); Query OK, 1 row affected (0.19 sec) mysql> insert into DemoTable801 values(99); Que

  2. 検索クエリのMySQLデータベースフィールドタイプ?

    以下は構文です- select *from yourTableName where REGEXP_INSTR(yourColumnName,yourSearchValue); 上記の構文を理解するために、最初にテーブルを作成しましょう- mysql> create table demo64 −> ( −> id int not null auto_increment primary key, −> name varchar(40) −> ); Query OK, 0 rows affected (3.06 sec)