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

MySQLクエリを作成して、既存のテーブルからテーブルを作成しますか?


CREATE TABLEコマンドを使用して、既存のテーブルからテーブルを作成できます。構文は次のとおりです。

CREATE TABLE yourNewTableName LIKE yourOldTableName

上記の構文を理解するために、テーブルを作成しましょう。テーブルを作成するためのクエリは次のとおりです。

mysql> create table ShowCreateTableCommand
   -> (
   -> Id int NOT NULL AUTO_INCREMENT,
   -> FirstName varchar(20),
   -> LastName varchar(20),
   -> Age int,
   -> TotalMarks int,
   -> PRIMARY KEY(Id)
   -> );
Query OK, 0 rows affected (1.22 sec)

これは、DESCコマンドを使用してテーブルを記述するためのクエリです。クエリは次のとおりです。

mysql> desc ShowCreateTableCommand;

出力は次のとおりです。

+------------+-------------+------+-----+---------+----------------+
| Field      | Type        | Null | Key | Default | Extra          |
+------------+-------------+------+-----+---------+----------------+
| Id         | int(11)     | NO   | PRI | NULL    | auto_increment |
| FirstName  | varchar(20) | YES  |     | NULL    |                |
| LastName   | varchar(20) | YES | | NULL | |
| Age | int(11) | YES | | NULL | |
| TotalMarks | int(11) | YES | | NULL | |
+------------+-------------+------+-----+---------+----------------+
5 rows in set (0.11 sec)

テーブルの構造を確認するためのクエリは次のとおりです。

mysql> show create table ShowCreateTableCommand\G

出力は次のとおりです。

*************************** 1. row ***************************
Table: ShowCreateTableCommand
Create Table: CREATE TABLE `showcreatetablecommand` (
   `Id` int(11) NOT NULL AUTO_INCREMENT,
   `FirstName` varchar(20) DEFAULT NULL,
   `LastName` varchar(20) DEFAULT NULL,
   `Age` int(11) DEFAULT NULL,
   `TotalMarks` int(11) DEFAULT NULL,
   PRIMARY KEY (`Id`)
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci
1 row in set (0.00 sec)
>

ここで、CREATE TABLEコマンドを使用して、既存のテーブルから新しいテーブルを作成しましょう。クエリは次のとおりです。

mysql> CREATE TABLE StudentInformationDemo LIKE ShowCreateTableCommand;
Query OK, 0 rows affected (0.49 sec)

次に、新しいテーブルの構造が古いテーブル構造と一致しているかどうかを確認します。

mysql> show create table StudentInformationDemo\G

出力は次のとおりです。

*************************** 1. row ***************************
Table: StudentInformationDemo
Create Table: CREATE TABLE `studentinformationdemo` (
   `Id` int(11) NOT NULL AUTO_INCREMENT,
   `FirstName` varchar(20) DEFAULT NULL,
   `LastName` varchar(20) DEFAULT NULL,
   `Age` int(11) DEFAULT NULL,
   `TotalMarks` int(11) DEFAULT NULL,
   PRIMARY KEY (`Id`)
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci
1 row in set (0.00 sec)
>
  1. 単一のクエリでIN()を使用してMySQLテーブルからレコードを削除する

    テーブルを作成しましょう- mysql> create table DemoTable1922    (    StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,    StudentName varchar(20)    ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1922(StudentNa

  2. テーブルの個別の列から平均を選択するMySQLクエリ?

    平均を取得するには、AVG()を使用し、それをDISTINCTとともに使用して、個別のレコードから計算します。まずテーブルを作成しましょう- mysql> create table DemoTable1934    (    StudentName varchar(20),    StudentMarks int    ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into