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

テキストファイルからMySQLテーブルにデータをインポートするときに、テキストファイルでバックスラッシュ(\)ではなく他のエスケープ文字を使用した場合、MySQLはどのように評価しますか?


バックスラッシュ(\)は、MySQLのデフォルトのエスケープ文字であり、テキストファイルで使用する場合、テキストファイルからテーブルにデータをインポートするときにクエリで言及する必要はありません。ただし、エスケープ文字として他の文字を使用する場合は、テキストファイルをテーブルにインポートするときにクエリでESCAPEDBYオプションを使用して言及する必要があります。次の例の助けを借りて理解することができます-

次のように、テキストファイルのエスケープ文字としてスター記号(‘*‘)を使用しているとします-

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

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

mysql> LOAD DATA LOCAL INFILE 'd:\A.txt' INTO table employee6_tbl FIELDS TERMINATED BY ',' ESCAPED BY ‘*’ IGNORE 1 ROWS;
Query OK, 2 rows affected (0.03 sec)
Records: 2 Deleted: 0 Skipped: 0 Warnings: 0

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

mysql> Select * from employee6_tbl;
+------+----------------+----------+--------+
| Id   | Name           | Country  | Salary |
+------+----------------+----------+--------+
| 105  | Chum,Marsh     | USA      | 11000  |
| 106  | Danny,Harrison | AUS      | 12000  |
+------+----------------+----------+--------+
2 rows in set (0.00 sec)

  1. そのテーブルの列値がMySQLの別のテーブルの列値と一致する場合にのみ、あるテーブルからデータを選択するにはどうすればよいですか?

    このために、EXISTSとともにサブクエリを使用できます。まずテーブルを作成しましょう- mysql> create table DemoTable1    -> (    -> Id int,    -> SubjectName varchar(20)    -> ); Query OK, 0 rows affected (0.58 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1 val

  2. MySQLプロシージャのテーブルからSELECTを使用してOUTパラメータ/データを読み取る方法は?

    これには、SELECTINTOを使用できます。まずテーブルを作成しましょう- mysql> create table DemoTable1860      (      Amount int      ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1860 values(1590); Query OK, 1 row affected (