通过命令行导入(要求列与列之间以 英文逗号 分割,若字段中含有 , 则以 " 包裹)
创新互联建站主营辽阳县网站建设的网络公司,主营网站建设方案,成都App定制开发,辽阳县h5重庆小程序开发搭建,辽阳县网站营销推广欢迎辽阳县等地区企业咨询
load data infile 'D:/mysql-5.7.29-winx64/files/ratings_5.csv' into table ratings fields terminated by ',' optionally enclosed by '"' escaped by '"' lines terminated by '\r\n';
踩坑一:文件路径用 \ 分割会报错,用 / 可(用 \\ 应该也可)
踩坑二:load data 命令报错
ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
在 my.ini 中加入(空字符串代表允许从一切目录导入)
[mysqld]
secure-file-priv=''
然后再 Windows 的服务中重新启动 mysql
踩坑三:csv 文件中第一行是诸如 userId 这样的列名
如果你的 csv 文件不大,直接使用 notepad++ 打开后删除第一行即可
但在我们这里,千万级别的文件 notepad++ 无法打开,这时可以考虑两种方法
1. 将 csv 文件传入 Linux 服务器删去第一行
由于不知道如何在 Win 10 中做这个操作,只能通过 Linux 中转执行
sed -i '1d' ratings.csv
检验是否成功,可以打印出第一行观察
cat ratings.csv | head -n 1
2. 通过工具把大的 csv 分成多个 notepad 能够打开的较小文件,对第一个文件删除第一行并依次导入
工具:splitcsv
亲测 5000000 条数据的 csv 文件可以在 notepad++ 中打开(只能同时打开 3 个)
这个工具还有个小坑:ratings_0.csv 的最后一行和 ratings_1.csv 的第一行是重复的,请手动删除
这要看你存小说的目的和后续使用方法是什么,如果是为了阅读,要考虑提供哪些阅读方式,比如按章节阅读,则需要按章节存储。如果还要进行关键字搜索,则需要提供全文检索功能。如果采用关系数据库存储,几种典型的数据库管理系统都能满足要求(Oracle、DB2、SQL Server、MySQL),使用BLOB、CLOB或者TEXT类型都可以存储。当然也可以采用NoSQL的数据库存储(如MongoDB)。
1、用户上传文档后,把文档存储到某个路径下,然后在数据库中存储这个路径和文档名
2、用户上传文档后,进行二进制读取(流处理),然后把读取出来的二进制存储到数据库中
首先我们要进行读取文件
$myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");
然后把 $myfile 存储到mysql中
sql ="insert into table_name (fn) values($myfile)""
这样就把文档转变成二进制之后,存储到了mysql数据库,下次取出时,只需要把取出的数据存储到一个文档中
你的小说资源,应该是放到服务器的,然后mysql里面,只是存了地址而已,jsp请求读取小说,然后在mysql读到地址,然后把地址返回,按照地址找到小说进行下载