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

MySQLに保存されたGENERATEDCOLUMNSは、組み込み関数とどのように連携できますか?


これは、「employee_data_stored」という名前のテーブルに保存された生成列を作成する例を使用して説明できます。保存された生成列は、キーワード「stored」を使用して生成できることがわかっています。

mysql> Create table employee_data_stored(ID INT AUTO_INCREMENT PRIMARY KEY, First_name VARCHAR(50) NOT NULL, Last_name VARCHAR(50) NOT NULL, FULL_NAME VARCHAR(90) GENERATED ALWAYS AS(CONCAT(First_name,' ',Last_name)) STORED);
Query OK, 0 rows affected (0.52 sec)

mysql> DESCRIBE employee_data_stored;
+------------+-------------+------+-----+---------+------------------+
| Field      | Type        | Null | Key | Default | Extra            |
+------------+-------------+------+-----+---------+------------------+
| ID         | int(11)     | NO   | PRI | NULL    | auto_increment   |
| First_name | varchar(50) | NO   |     | NULL    |                  |
| Last_name  | varchar(50) | NO   |     | NULL    |                  |
| FULL_NAME  | varchar(90) | YES  |     | NULL    | STORED GENERATED |
+------------+-------------+------+-----+---------+------------------+
4 rows in set (0.00 sec)

mysql> INSERT INTO employee_data_stored(first_name, Last_name) values('Gaurav','Kumar');
Query OK, 1 row affected (0.04 sec)

mysql> INSERT INTO employee_data_stored(first_name, Last_name) values('Raman','Singh');
Query OK, 1 row affected (0.09 sec)

mysql> Select * from employee_data_stored;
+----+------------+-----------+--------------+
| ID | First_name | Last_name | FULL_NAME    |
+----+------------+-----------+--------------+
| 1  | Gaurav     | Kumar     | Gaurav Kumar |
| 2  | Raman      | Singh     | Raman Singh  |
+----+------------+-----------+--------------+
2 rows in set (0.00 sec)

  1. MySQLテーブルの列の名前を取得するにはどうすればよいですか?

    これにはSHOWコマンドを使用できます。 以下は構文です- show columns from yourTableName; まずテーブルを作成しましょう- mysql> create table DemoTable (    StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,    StudentFirstName varchar(20),    StudentLastName varchar(20),    StudentAge int,  

  2. MySQLを使用して一連の列でnull値を持つレコードを検索する方法

    これには、GREATEST()の概念を使用します。まずテーブルを作成しましょう- mysql> create table DemoTable1862      (      Value1 int,      Value2 int,      Value3 int,      Value4 int      ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して