Maison  >  Article  >  base de données  >  Comment facilement la syntaxe « créer une table à partir d’une vue » dans MySQL ?

Comment facilement la syntaxe « créer une table à partir d’une vue » dans MySQL ?

WBOY
WBOYavant
2023-08-24 14:41:031260parcourir

如何在 MySQL 中轻松地“从视图创建表”语法?

Vous pouvez créer une table à partir d'une vue en utilisant la syntaxe de sélection de création de table. La syntaxe est la suivante -

CREATE TABLE yourTableName AS SELECT
yourColumnName1,yourColumnName2,yourColumnName3,........N from yourViewName;

Pour exécuter la requête ci-dessus, vous devez d'abord créer une table, puis vous devez créer une vue sur la table. Exécutez ensuite la requête.

Tout d’abord, vous devez créer un tableau. La requête pour créer une table est la suivante -

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

Ci-dessus, nous avons créé une table. Après cela, vous devez créer une vue. La requête pour créer la vue est la suivante -

mysql> CREATE VIEW view_Student AS SELECT Id,Name from StuedntInformation;
Query OK, 0 rows affected (0.11 sec)

Maintenant, j'ai créé une vue nommée "view_Student". Utilisez la commande show pour inspecter la vue.

La requête est la suivante -

mysql> SHOW CREATE VIEW view_Student;

Output

+--------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------+----------------------+
| View         | Create View                                                                                                                                                                                | character_set_client         | collation_connection |
+--------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------+----------------------+
| view_student | CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`%` SQL SECURITY DEFINER VIEW `view_student` AS select `stuedntinformation`.`Id` AS `Id`,`stuedntinformation`.`Name` AS `Name` from `stuedntinformation` | utf8 | utf8_general_ci |
+--------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------+----------------------+
1 row in set (0.00 sec)

Nous allons créer une table en utilisant le nom de vue ci-dessus "view_Student". Vous trouverez ci-dessous la requête pour créer la table à l'aide de la vue -

mysql> CREATE TABLE CreatingTableUsingViewStudent AS
   -> select Id,Name from view_Student;

Query OK, 0 rows affected (0.50 sec)
Records: 0 Duplicates: 0 Warnings: 0

Vous pouvez maintenant vérifier le DDL de la table à l'aide de la commande show. La requête est la suivante -

mysql> show create table CreatingTableUsingViewStudent;

output

+-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table                         | Create Table                                                                                                                                                                    |
+-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| CreatingTableUsingViewStudent | CREATE TABLE `creatingtableusingviewstudent` ( `Id` int(11) DEFAULT NULL, `Name` varchar(100) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci |
+-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer