当前位置: 首页 > 面试题库 >

使用CSV存储引擎直接从CSV文件创建mysql表?

司空凌
2023-03-14
问题内容

我刚刚了解到MySQL具有本地CSV存储引擎,该引擎将数据存储在每个表的逗号分隔值文件中。

是否可以直接从上传的CSV文件创建表格,例如:

CREATE TABLE USERS < PATH/USERS.CSV

users.csv用户在哪里上传?


问题答案:

这不可能。要创建表,您需要一个表架构。您拥有的是一个数据文件。无法使用它创建模式

您可以做的是检查文件中是否有标题行,在这种情况下,您可以使用该标题行手动创建表。

但是,有一种使用批处理文件生成create table语句的方法,如John
Swapceinski在MySQL手册的注释部分中所述

John Swapceinski发表于2011年9月5日,上午5:33。
使用.csv文件的标题创建表:

#!/bin/sh
# pass in the file name as an argument: ./mktable filename.csv
echo "create table $1 ( "
head -1 $1 | sed -e 's/,/ varchar(255),\n/g'
echo " varchar(255) );"


 类似资料:
  • CSV存储引擎使用逗号分隔值格式的文本文件存储数据。 要允许使用这个存储引擎,当你建立MySQL之时,使用--with-csv-storage-engine选项来configure。 当你创建一个CSV表之时,服务器在数据库目录创建一个表定义文件。文件由表的名字开始,并且由一个.frm的扩展名。存储引擎也创建一个数据文件。它的名字由表的名字开始,并且有一个.CSV的扩展名。数据文件是无格式文本文件

  • 问题内容: 我想将csv文件导入到mysql中。 http://www.tech- recipes.com/rx/2345/import_csv_file_direct_into_mysql/ 但是csv中的列名称与数据库表中的列名称不同,我该怎么办?我想以编程方式来做。 问题答案: 您可以创建一个脚本来解析您的csv文件并将数据放入db。 就像是:

  • 实施新存储引擎的最简单方法是,通过拷贝和更改EXAMPLE存储引擎开始。在MySQL 5.1源码树的sql/examples/目录下可找到文件ha_example.cc和ha_example.h。关于如何获得5.1源码树的说明,请参见2.8.3节,“从开发源码树安装”。 复制文件时,将名称从ha_example.cc和ha_example.h更改为与存储引擎相适应的名称,如ha_foo.cc和ha

  • 问题内容: 我想创建一个csv文件,但是当我运行代码时,它返回一个空白页,没有csv文件。我使用PHP5。我使用以下代码: 谢谢! 问题答案: 其空白,因为您正在写信。您应该写到using 代替,还应该发送标头信息以表明它是csv。 例

  • 问题内容: 我正在尝试从csv文件创建字典。csv文件的第一列包含唯一键,第二列包含值。csv文件的每一行代表字典中的唯一键,值对。我尝试使用类,但是我只能弄清楚如何为每一行生成一个新的字典。我要一部字典。这是我尝试使用的代码: 当我运行上面的代码时,我得到一个。如何从csv文件创建一个字典? 问题答案: 我相信你正在寻找的语法如下: 或者,对于,你需要: