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

MySQLで「ビューからテーブルを作成する」構文を簡単に作成するにはどうすればよいですか?


create table select構文を使用して、ビューからテーブルを作成できます。構文は次のとおりです-

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)

  1. インデックスを使用してMySQLテーブルを作成するにはどうすればよいですか?

    インデックスを使用してMySQLテーブルを作成するための構文は、次のとおりです- create table yourTableName ( yourColumnName1 dataType, yourColumnName2 dataType . . . N ); create index yourIndexName1 on(yourColumnName1 ); create index yourIndexName2 on(yourColumnName2 ); まずテーブルを作成しましょう- mysql> create table DemoTable    ->

  2. MySQLビューを作成する方法は?

    MySQLビューを作成するには、次の構文のようにCREATEVIEWを使用します- create view yourViewName as select * from yourTableName;として作成します。 まずテーブルを作成しましょう- mysql> create table DemoTable1802      (      StudentId int,      StudentName varchar(20)      ); Query OK, 0 ro