Load .csv data to table:
===================
Need to load data from .csv file to table 'loadTest'
mysql> desc loadTest;
+-----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------+-------------+------+-----+---------+-------+
| id | int(11) | NO | | NULL | |
| name | varchar(20) | NO | | NULL | |
| sal | int(11) | NO | | NULL | |
| createdBy | varchar(20) | NO | | NULL | |
+-----------+-------------+------+-----+---------+-------+
4 rows in set (0.00 sec)
Note: 2 INT columns, 2 VARCHAR columns
Content in File:
mysql> \! cat /tmp/loadTest.csv
id,name,sal
1,gaurav,200
2,gagan,300
Note: Table contains 4 columns, where as spreadsheet contains 3 columns. (Need to pass 1 value while loading)
Load Content:
mysql -utest -ptest -Dpractice <<EOF >> /tmp/loadTest.log
SET max_error_count=10000;
LOAD DATA LOCAL INFILE '/tmp/loadTest.csv' IGNORE INTO TABLE loadTest character set utf8
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 LINES
(@id,@name,@sal)
SET id=@id,
name = @name,
sal = @sal,
createdBy = 'Admin';
COMMIT;
SHOW WARNINGS;
SELECT @@session.warning_count\G
EOF
Check LogFile:
mysql> \! cat /tmp/loadTest.log
*************************** 1. row ***************************
@@session.warning_count: 0
Special Keywords:
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES
Note:
In case we don't want to replicate data, please use:
SET SQL_LOG_BIN=0;
===================
Need to load data from .csv file to table 'loadTest'
mysql> desc loadTest;
+-----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------+-------------+------+-----+---------+-------+
| id | int(11) | NO | | NULL | |
| name | varchar(20) | NO | | NULL | |
| sal | int(11) | NO | | NULL | |
| createdBy | varchar(20) | NO | | NULL | |
+-----------+-------------+------+-----+---------+-------+
4 rows in set (0.00 sec)
Note: 2 INT columns, 2 VARCHAR columns
Content in File:
mysql> \! cat /tmp/loadTest.csv
id,name,sal
1,gaurav,200
2,gagan,300
Note: Table contains 4 columns, where as spreadsheet contains 3 columns. (Need to pass 1 value while loading)
Load Content:
mysql -utest -ptest -Dpractice <<EOF >> /tmp/loadTest.log
SET max_error_count=10000;
LOAD DATA LOCAL INFILE '/tmp/loadTest.csv' IGNORE INTO TABLE loadTest character set utf8
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 LINES
(@id,@name,@sal)
SET id=@id,
name = @name,
sal = @sal,
createdBy = 'Admin';
COMMIT;
SHOW WARNINGS;
SELECT @@session.warning_count\G
EOF
Check LogFile:
mysql> \! cat /tmp/loadTest.log
*************************** 1. row ***************************
@@session.warning_count: 0
Special Keywords:
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES
Note:
In case we don't want to replicate data, please use:
SET SQL_LOG_BIN=0;
No comments:
Post a Comment