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

MySQL LIKE演算子を使用して、古いテーブルのプロパティを使用し、重複のない新しいテーブルを作成しますか?


LIKE演算子を使用してこれを実現するには、次の構文を使用します-

CREATE TABLE yourTableName2 LIKE yourTableName1;

構文を理解するために、テーブルを作成し、それにいくつかのレコードを挿入しましょう。以下は、テーブルを作成するためのクエリです-

mysql> create table Employee
−> (
   −> EmployeeId int
   −> ,
   −> EmployeeName varchar(100)
−> );
Query OK, 0 rows affected (0.54 sec)

挿入コマンドを使用してテーブルにレコードを挿入します。クエリは次のとおりです-

mysql> insert into Employee values(1,'Carol');
Query OK, 1 row affected (0.18 sec)

mysql> insert into Employee values(2,'John');
Query OK, 1 row affected (0.16 sec)

mysql> insert into Employee values(3,'Johnson');
Query OK, 1 row affected (0.11 sec)

selectステートメントを使用してすべてのレコードを表示します。すべてのレコードを表示するためのクエリは次のとおりです-

mysql> select *from StudentTable;

以下は出力です-

+------+---------+
| Id   |    Name |
+------+---------+
| 3    | Johnson |
+------+---------+
1 row in set (0.00 sec)

これで、最初に説明した上記の構文を実装できます。 LIKE演算子を使用してテーブルを作成するためのクエリは次のとおりです。

mysql> create table StudentModifyTableDemo Like Employee;
Query OK, 0 rows affected (0.50 sec)

descコマンドを使用して、新しいテーブルの定義を確認できます。クエリは次のとおりです-

mysql> desc StudentModifyTableDemo;

以下は出力です-

+--------------+--------------+------+-----+---------+-------+
| Field        | Type         | Null | Key | Default | Extra |
+--------------+--------------+------+-----+---------+-------+
| EmployeeId   | int(11)      | YES  |     | NULL    |       |
| EmployeeName | varchar(100) | YES  |     | NULL    |       |
+--------------+--------------+------+-----+---------+-------+
2 rows in set (0.12 sec)

これで、EmployeeテーブルのすべてのレコードをStudentModifyTableDemoテーブルに挿入できます。

クエリは次のとおりです-

mysql> insert into StudentModifyTableDemo select *from Employee;
Query OK, 3 rows affected (0.16 sec)
Records: 3 Duplicates: 0 Warnings: 0

これで、すべてのレコードが2番目のテーブルに存在するかどうかを確認できます。クエリは次のとおりです-

mysql> select *from StudentModifyTableDemo;

以下は出力です-

+------------+--------------+
| EmployeeId | EmployeeName |
+------------+--------------+
|          1 |        Carol |
|          2 |         John |
|          3 |      Johnson |
+------------+--------------+
3 rows in set (0.00 sec)

  1. AND&OR演算子を使用した単一のMySQLクエリを使用して特定のレコードをフェッチします

    まずテーブルを作成しましょう- mysql> create table DemoTable2015    -> (    -> StudentId int,    -> StudentName varchar(20),    -> StudentCountryName varchar(20) -> ); Query OK, 0 rows affected (1.20 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> inse

  2. DEFAULTを使用して特定のオプションを使用してMySQLで新しいテーブルを作成しますか?

    このためには、列のデータ型の後にDEFAULTキーワードを使用します。 テーブルを作成しましょう- mysql> create table demo33 −> ( −> id int not null auto_increment primary key, −> name varchar(20) not null, −> start_date date default(current_date), −> end_date date default NULL, −> categor