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

MySQL에서 '보기에서 테이블 생성' 구문을 쉽게 만드는 방법은 무엇입니까?

<시간/>

테이블 선택 구문 생성을 사용하여 뷰에서 테이블을 생성할 수 있습니다. 구문은 다음과 같습니다 -

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

위의 쿼리를 실행하려면 먼저 테이블을 생성해야 하고 그 후에 해당 테이블에 대한 뷰를 생성해야 합니다. 그런 다음 쿼리를 실행합니다.

먼저 테이블을 생성해야 합니다. 테이블을 생성하는 쿼리는 다음과 같습니다 -

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

위에서 우리는 테이블을 만들었습니다. 그런 다음 보기를 만들어야 합니다. 뷰를 생성하는 쿼리는 다음과 같습니다 -

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

이제 'view_Student'라는 이름의 보기를 만들었습니다. show 명령어로 보기를 확인하세요.

쿼리는 다음과 같습니다 -

mysql> SHOW CREATE VIEW view_Student;

출력

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

위의 뷰 이름인 'view_Student'를 사용하여 테이블을 생성하겠습니다. 다음은 view를 사용하여 테이블을 생성하는 쿼리입니다 -

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

이제 show 명령을 사용하여 테이블의 DDL을 확인할 수 있습니다. 쿼리는 다음과 같습니다 -

mysql> show create table CreatingTableUsingViewStudent;

출력

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