标签: load-data-infile

mysqldump表没有转储主键

我有一个表遍布两个运行MySql 4的服务器.我需要将这些表合并到一个服务器中以用于我们的测试环境.

这些表每个都有数百万条记录,它们在两台服务器上的原因是因为它们有多大.任何表格的改变和分页都会给我们带来太大的性能损失.

因为它们处于生产环境中,所以我不可能在现有服务器上以任何方式更改它们.

问题是主键是一个唯一的自动递增字段,因此存在交叉点.

我一直在试图弄清楚如何使用mysqldump命令来忽略某些字段,但是--disable-keys只是改变了表,而不是完全摆脱键.

在这一点上,我看起来需要修改数据库结构,以便将主键的校验和或哈希用作实际应该唯一的两个唯一字段的组合...我真的不想做这个.

救命!

mysql mysqldump load-data-infile

37
推荐指数
5
解决办法
3万
查看次数

从MySQL切换到PostgreSQL - 提示,技巧和陷阱?

我正在考虑从MySQL切换到PostgreSQL.

使用PostgreSQL有什么提示,技巧和陷阱?

MySQLer应该注意什么?

另请参阅:PostgreSQL与MySQL有何不同?
另请参见:从MySQL迁移到PostgreSQL

注意 - 我不认为这是重复的.特别是答案的类型非常不同,这里的响应有更多的实现细节,这正是我所寻求的

mysql migration postgresql load-data-infile

35
推荐指数
5
解决办法
2万
查看次数

MySQL加载数据infile - 加速?

有时,我必须为项目重新导入数据,因此在MySQL表中读取大约360万行(目前是InnoDB,但实际上并不仅限于此引擎)."加载数据infile ......"已被证明是最快的解决方案,但它有一个权衡: - 当没有键导入时,导入本身大约需要45秒,但密钥创建需要很长时间(已经运行了20分钟...... ). - 使用表上的键进行导入会导致导入速度变慢

表中有3个字段的键,引用数字字段.有没有办法加速这个?

另一个问题是:当我终止启动慢查询的进程时,它继续在数据库上运行.有没有办法在不重启mysqld的情况下终止查询?

非常感谢DBa

mysql indexing performance load-data-infile

29
推荐指数
2
解决办法
3万
查看次数

无需访问服务器或phpMyADMIN即可轻松导出SQL表

我需要一种方法来轻松导出,然后将MySQL表中的数据从远程服务器导入我的家庭服务器.我没有直接访问服务器,也没有安装phpMyAdmin等实用程序.但是,我确实能够将PHP脚本放在服务器上.

我如何获得数据?

我问这个问题纯粹是为了记录下去的方式

php mysql export load-data-infile

25
推荐指数
4
解决办法
7万
查看次数

MYSQL LOAD DATA INFILE忽略重复行(自动增量作为主键)

我使用LOAD DATA INFILE命令遇到了一些麻烦,因为我想忽略已经在数据库中的行...如果我有一个包含数据的表,如下所示,

id  |name   |age
--------------------
1   |aaaa   |22
2   |bbbb   |21
3   |bbaa   |20
4   |abbb   |22
5   |aacc   |22
Run Code Online (Sandbox Code Playgroud)

其中id是自动增量值.我所拥有的csv文件包含如下数据,

"cccc","14"
"ssee","33"
"dddd","22"
"aaaa","22"
"abbb","22"
"dhgg","34"
"aacc","22"
Run Code Online (Sandbox Code Playgroud)

我想忽略行,

    "aaaa","22"
    "abbb","22"
    "aacc","22"
Run Code Online (Sandbox Code Playgroud)

并将其余内容上传到表格中.我已经将所有内容上传到表中的查询如下,

    LOAD DATA INFILE 'member.csv'
    INTO TABLE tbl_member
    FIELDS TERMINATED BY ','
           ENCLOSED BY '"'
           ESCAPED BY '"'
           LINES TERMINATED BY '\n'
    (name, age);
Run Code Online (Sandbox Code Playgroud)

请帮助我完成这项任务..将非常感谢..我试过很多链接,但没有帮助:(

mysql csv load-data-infile

23
推荐指数
2
解决办法
4万
查看次数

将CSV导入MySQL

我创建了一个数据库和一个表.我还创建了我需要的所有字段.我创建了46个字段,其中一个是我的行ID.CSV不包含ID字段,也不包含列的标题.我是所有这一切的新手,但一直试图解决这个问题.我不是在这里懒得问答案,而是寻找方向.

我正在试图弄清楚如何导入CSV但让它从第2个字段开始导入数据,因为我希望auto_increment将填充ID字段,这是我创建的第一个字段.

我没试过这些指示.有人能提供一些见解吗?

  1. CSV文件的列名必须与表的列名相匹配
  2. 浏览到所需的.csv文件
  3. 使用LOAD DATA选项选择CSV
  4. 用文件替换表数据复选框'ON'
  5. 终止的字段中,键入,
  6. 括起来的字段中,"
  7. 逃脱的Fields中,\
  8. 终止的行中,auto
  9. 列名框中,键入列名由分离,column1,column2,column3
  10. 选中ON以使用LOCAL关键字.

编辑:

CSV文件为32.4kb

我的CSV的第一行是:

Test Advertiser,23906032166,119938,287898,,585639051,287898 - Engager - 300x250,88793551,Running,295046551,301624551,2/1/2010,8/2/2010,Active,,Guaranteed,Publisher test,Maintainer test,example-site.com,,All,All,,Interest: Dental; custom geo zones: City,300x250,-,CPM,$37.49 ,"4,415","3,246",3,0,$165.52 ,$121.69 ,"2,895",805,0,0,$30.18 ,$37.49 ,0,$0.00 ,IMPRESSIONBASED,NA,USD
Run Code Online (Sandbox Code Playgroud)

mysql csv load-data-infile

20
推荐指数
3
解决办法
6万
查看次数

mysql加载数据infile where子句

我需要根据某些条件更新表中的现有行和load data infile,这可能吗?

load data infile 'E:/xxx.csv'
into table tld_tod
@aaa, @xxx_date, @ccc
fields terminated by ','
 LINES TERMINATED BY '\r\n'
set xxx = str_to_date(@xxx_date, '%d-%b-%y')
where xxx is not null and aaa=@aaa 

mysql load-data-infile

19
推荐指数
1
解决办法
1万
查看次数

"加载数据"的Mysql权限错误

尝试将数据从平面文件数据库转储加载到新表时,我遇到了权限错误.我知道文件和我的表的架构是相同的,我尝试调整权限.我还应该尝试什么?

mysql> load data infile 'myfile.txt' into table mytable fields terminated by ',' enclosed by '"';
ERROR 1045 (28000): Access denied for user 'user'@'%' 

grant all on mytable.* to 'user'@'%
Run Code Online (Sandbox Code Playgroud)

mysql load-data-infile mysql-error-1045

18
推荐指数
2
解决办法
4万
查看次数

如何使用MySQL的LOAD DATA LOCAL INFILE在导入CSV时将字符串日期更改为MySQL日期格式

我正在使用MySQL的LOAD DATA LOCAL INFILE SQL语句将CSV文件中的数据加载到现有数据库表中.

这是一个示例SQL语句:

LOAD DATA LOCAL INFILE 'file.csv' INTO TABLE my_table
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
(name, address, dateOfBirth)
Run Code Online (Sandbox Code Playgroud)

CSV中映射到dateOfBirth字段的第三列当前具有以下格式的日期:

14-Feb-10
Run Code Online (Sandbox Code Playgroud)

如何修改上面的SQL语句以将日期格式化为MySQL的日期格式,即2010-02-14

我知道如何使用常规INSERT语法转换字符串日期:

STR_TO_DATE('14-Feb-10', '%d-%b-%y')

mysql sql datetime load-data-infile

17
推荐指数
2
解决办法
4万
查看次数

尝试使用REPLACE和AUTO_INCREMENT执行LOAD DATA INFILE

我正在尝试将文件加载到MySQL数据库,主键auto_incremented,如果我找到任何重复的行,我希望更新数据.但是,REPLACE关键字仅适用于主键,它是自动生成的,所以我卡住了.

如何能够拥有一个ID为auto_increments的表,同时能够使用LOAD DATA INFILE从文件中插入/更新数据?

这是表格

CREATE TABLE  `oxygen_domain`.`TEST` (
`TEST_ID` int(11) NOT NULL AUTO_INCREMENT,
`NAME` varchar(255) NOT NULL,
`VALUE` varchar(255) DEFAULT NULL,
PRIMARY KEY (`TEST_ID`,`NAME`,`VALUE`)
) 
Run Code Online (Sandbox Code Playgroud)

这是命令

LOAD DATA LOCAL INFILE 'C:/testData.txt'
REPLACE
INTO TABLE TEST
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\r\n'
IGNORE 1 LINES
(NAME, VALUE);
Run Code Online (Sandbox Code Playgroud)

这是样本数据

ignored name, ignored value
name1,value1
name2,value2
name3,value3
Run Code Online (Sandbox Code Playgroud)

用上述数据多次运行上述命令后所需的结束结果是

|TEST_ID |NAME |VALUE|
1, 'name1', 'value1'
2, 'name2', 'value2'
3, 'name3', 'value3'
Run Code Online (Sandbox Code Playgroud)

mysql replace auto-increment load-data-infile

16
推荐指数
1
解决办法
2万
查看次数