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

いくつかの行プレフィックスを持つテキストファイルをMySQLテーブルにインポートするにはどうすればよいですか?


テキストファイルに行プレフィックスがある場合、「LINES STARTING BY」オプションを使用して、そのプレフィックスを無視し、正しいデータをMySQLテーブルにインポートできるとします。次の例の助けを借りて理解することができます-

次のように、テキストファイルの「LINEPREFIX」として「VALUE」を使用しているとします-

id,         Name,     Country,        Salary
VALUE:105,  Chum*,    Marsh,USA,      11000
106,        Danny*,   Harrison,AUS,   12000

このテキストファイルをMySQLテーブルにインポートするときに、クエリで「LINESSTARTINGBY」オプションについて次のように言及する必要があります-

mysql> LOAD DATA LOCAL INFILE 'd:\A.txt' INTO table employee8_tbl FIELDS TERMINATED BY ',' ESCAPED BY '*' LINES STARTING BY 'Value:' IGNORE 1 ROWS;
Query OK, 1 row affected (0.07 sec)
Records: 1 Deleted: 0 Skipped: 0 Warnings: 0

これで、次のクエリを使用して何がインポートされたかを確認できます-

mysql> LOAD DATA LOCAL INFILE 'd:\A.txt' INTO table employee8_tbl FIELDS TERMINATED BY ',' ESCAPED BY '*' LINES STARTING BY 'Value:' IGNORE 1 ROWS;
Query OK, 1 row affected (0.07 sec)
Records: 1 Deleted: 0 Skipped: 0 Warnings: 0

これで、次のクエリを使用して何がインポートされたかを確認できます-

mysql> Select * from employee8_tbl;
+------+----------------+----------+--------+
| Id   | Name           | Country  | Salary |
+------+----------------+----------+--------+
| 105  | Chum,Marsh     | USA      |  11000 |
+------+----------------+----------+--------+
1 row in set (0.00 sec)

MySQLは、最初の行の前に行プレフィックス、つまり「VALUE:」を使用しているため、テーブルに1つのレコードのみをインポートします。したがって、行プレフィックスのない行は無視されます。ここで、行プレフィックス「VALUE:」を使用してテキストファイルに別の行を追加すると、MySQLもこの行をアップロードするとします-

id,          Name,                Country,    Salary
Value:105,   Chum*,               Marsh,USA,  11000
106,         Danny*,Harrison,     AUS,        12000
Value:107,   Raman*,Kumar,        IND,        25000
mysql> LOAD DATA LOCAL INFILE 'd:\A.txt' INTO table employee8_tbl FIELDS TERMINATED BY ',' ESCAPED BY '*' LINES STARTING BY 'Value:' IGNORE 1 ROWS;
Query OK, 2 rows affected (0.07 sec)
Records: 1 Deleted: 0 Skipped: 0 Warnings: 0

これで、次のクエリを使用して何がインポートされたかを確認できます-

mysql> Select * from employee8_tbl;
+------+----------------+----------+--------+
| Id   | Name           | Country  | Salary |
+------+----------------+----------+--------+
| 105  | Chum,Marsh     | USA      |  11000 |
| 107  | Raman,Kumar    | IND      |  25000 |
+------+----------------+----------+--------+
2 rows in set (0.00 sec)

  1. MySQLテーブルのストレージエンジンを変更するにはどうすればよいですか?

    MySQL ALTER TABLEステートメントは、テーブルのストレージエンジンを次のように変更できます- mysql> ALTER TABLE Student ENGINE = 'InnoDB'; Query OK, 0 rows affected (0.90 sec) Records: 0 Duplicates: 0 Warnings: 0 次のステートメントを使用して、ストレージエンジンが変更されたことを確認できます mysql> SELECT ENGINE FROM information_schema.TABLES   -> WHERE

  2. MySQLテーブルに保存されているエポックを読み取り可能な日付に変換するにはどうすればよいですか?

    これを説明するために、次のようなエポックを持つ「vistors」という名前のテーブルの次の例を使用しています- mysql> Create table visitors(userid int not null, name varchar(20), epoch int NOT NULL); Query OK, 0 rows affected (0.42 sec) mysql> Insert into visitors Values(1, 'Gaurav', 1358658942); Query OK, 1 row affected (0.04 sec) mysql