MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQL仮想生成列は数式でどのように機能しますか?


これは、「三角形」という名前のテーブルに仮想的に生成された列を作成する例を使用して説明できます。仮想生成列は、キーワード「仮想」を使用して、または使用せずに生成できることがわかっています。

mysql> Create table triangle(SideA DOUBLE, SideB DOUBLE, SideC DOUBLE AS (SQRT(SideA * SideB + SideB * SideB)));
Query OK, 0 rows affected (0.44 sec)

mysql> Describe Triangle;
+-------+--------+------+-----+---------+-------------------+
| Field | Type   | Null | Key | Default | Extra             |
+-------+--------+------+-----+---------+-------------------+
| SideA | double | YES  |     | NULL    |                   |
| SideB | double | YES  |     | NULL    |                   |
| SideC | double | YES  |     | NULL    | VIRTUAL GENERATED |
+-------+--------+------+-----+---------+-------------------+
3 rows in set (0.00 sec)

上記の説明は、SideC列が仮想的に生成された列であることを示しています。

mysql> INSERT INTO triangle(SideA, SideB) Values(1,1),(3,4),(6,8);
Query OK, 3 rows affected (0.15 sec)
Records: 3 Duplicates: 0 Warnings: 0

mysql> Select * from triangle;
+-------+-------+--------------------+
| SideA | SideB | SideC              |
+-------+-------+--------------------+
| 1     | 1     | 1.4142135623730951 |
| 3     | 4     | 5.291502622129181  |
| 6     | 8     | 10.583005244258363 |
+-------+-------+--------------------+
3 rows in set (0.03 sec)

  1. MySQLで配列変数を操作する方法は?

    MySQLは配列変数をサポートしていません。同じ結果を得るには、テーブルDUALを使用します。構文は次のとおりです。 SELECT yourValue1 AS ArrayValue FROM DUAL UNION ALL SELECT yourValue2 FROM DUAL UNION ALL SELECT yourValue3 FROM DUAL UNION ALL SELECT yourValue4 FROM DUAL UNION ALL . . . . . . SELECT yourValueN FROM DUAL; サンプルテーブルを作成しましょう: mysql> SELEC

  2. MySQLデータベースのアンパサンドを&に置き換えるにはどうすればよいですか?

    &をアンパサンドに置き換えるには、MySQL REPLACE()を使用します。まずテーブルを作成しましょう- mysql> create table DemoTable(    Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,    Value varchar(100) ); Query OK, 0 rows affected (1.06 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable(Value) values(&