第一步:
根据Access中数据库的逻辑结构[或者是以前写好的数据库设计文档哦]
在Mysql下设计并创建出对应的数据库
先看看Access中的几个表的结构,并进行初步的数据类型转换哦
site_tab //站点信息表
字段名称 数据类型(Access) 数据类型(Mysql)
id 数字 int
site 文本 char(15)
port 数字 int
user 文本 char(15)
pw 文本 char(15)
acc 是/否 enum('N','Y')
indb 是/否 enum('N','Y')
info 备注 text
key_tab //关键字统计表
key 文本 char(100)
acctime 数字 int
file_tab //文件表
file Text(100) char(100)
postfix Text(4) char(4)
pid Integer int
ipid Integer int
acctime long int
cat_tab //目录表
id Integer int
cat Text(100) char(100)
postfix Text(4) char(1) //这个可以考虑删除掉,因为多余
pid Integer int
ipid Integer int
acctime long int
下面根据上面的转换,创建mysql下的数据库和对应的表项
[注意:上面涉及到的Mysql的数据类型可能选择地不够合适,需要日后调整]
先创建库,取名为falcon_search
create database falcon_search;
创建表site_tab
create table site_tab
(
id int not null primary key,
site char(15) not null,
port int default 21,
user char(15) not null default 'anonymous',
pw char(15) not null default 'falcon',
acc enum('N','Y') default 'N',
indb enum('N','Y') default 'N',
info text
);
创建表key_tab
create table key_tab
(
skey char(100) binary not null unique ,
acctime int default 0
);
创建表cat_tab
create table cat_tab
(
id int,
cat char(100) binary not null,
postfix char(1) binary,
pid int references cat_tab(id),
ipid int references site_tab(id),
acctime int,
primary key(id,ipid)
);
创建文件表file_tab
create table file_tab
(
file char(100) binary not null,
postfix char(4) binary not null,
pid int references cat_tab(id),
ipid int references site_tab(id),
acctime int
);
//由于文件重名的情况比较多,所以无须设置主关键字
第二步:
数据库和表都创建好拉,我们现在得想办法把数据从Access弄到Mysql下
怎么弄呢
1)先把Access中的数据导出为txt文件[文本文件]
具体办法:打开要 *** 作的Access数据库后,选择"文件">>导出>>文本文件
在选择导出后会d出一个窗口,我们通过单击"高级"设置其中的字段分割符为{tab},文本识别符号改成{无},当然还可以进行其他的设置哦
注意:对应的各个文件的文件名取名为对应的表名哦(统一一下,方便后面 *** 作)
2)之后,复制到mysql下的bin所在目录下
第三步:
设法把文本文件中的数据导入到刚才创建的表中,要对应起来哦
主要用到该句:LOAD DATA LOCAL IN FILE 存有数据的文本文件名 INTO TABLE 表名;
下面我们通过该办法一个一个地把数据从文本文件中导入对应的表中
1)site_tabtxt===>site_tab
load data local infile "site_tabtxt" into table site_tab;
ok,成功拉,不过好象有警告哦
我们先用select site_tab;看看
原来,acc和indb全为空的
现在我们只要把acc和indb的值更新为'N'就可以拉:
update site_tab set indb="N";
update site_tab set acc="N";
2)key_tabtxt===>key_tab
load data local infile "key_tabtxt" into table key_tab;
3)cat_tabtxt===>cat_tab
load data local infile "cat_tabtxt" into table cat_tab;
4)file_tabtxt===>file_tab
load data local infile "file_tabtxt" into table file_tab;
1首先连接Mysql\x0d\2右击空白处,选择导入向导 \x0d\3选择导入类型:MS ACCESS数据库(mdb,accdb)点击下一步\x0d\4浏览一个MDB数据库文件,打开成功后出现表格,选择你要导入的表格,点击下一步\x0d\5出现源表目标表新建表,根据你的需求选择,然后选择下一上\x0d\6点击开始,导入完成
如何把Access中数据导入Mysql中
第一步:将access数据库利用自身的导出功能,自定义一种容易对其 *** 作的格式的txt文本文档,这也是关系到下一步 *** 作的关键。
第二步:先在mysql中建立一个同样结构的表。(当然,这步可以在第三步中用程序实现)
第三步:也就是自己编程了,想办法把导出的文件用程序把每条记录读出并写入到Mysql数据表当中。
MySQL特性:很便宜,通常是免费的;网络承载少;查询优化;可以简便的应用程序通过MySQL做备份;MySQL *** 纵简单,易上手,且为各种不同的资料格式提供有d性的扩展界面(ODBC)。
Access特性:简单易学,使用方便,开发效率高。
价格:MySQL对于大多数用户而言是免费的,但是如果你以内嵌的方式使用MySQL或者是只使用MySQL的商业用途软件,你才会需要支付一小笔授权费。而Access的价格更贵一些。
并发处理:Access可以处理的连接数目是无限制的,但是连接必须保持在并发处理的范围限制内;MySQL内定最大连接数为100个使用者,但是即使网络上有大量的资料往来,也不会对MySQL上的查询优化造成太大影响。
资料更新速度:在 Windows 98 上使用相同的硬件和数据尺寸,处理几十万笔资料的时候,MySQL的资料更新速度将明显快于Access; 但是如果处理对象结构,Access将会优于MySQL;当建立表格(table) 以及索引的时候,MySqL 会将表格锁住,如此一来会导致正在进行的大量资料处理速度慢下来,这会保证用户来访时的查询速度,且不会影响网站开发。
结构的优化:MySQL仅需优化硬件条件,而不是MySQL本身;Access的数据库非常的有效率,当然这也有赖于网站的结构设计;MySQL不支持外键,优化时注意如何让存取IO减少到最低值、如何让一个或多个 CPU 随时保持在高速作业的状态、以及适当的网络带宽, 而非实际上的设计以及资料查询语句。
数据备份:MySQL Dump 会产生一个比 Access 好很多而且也更可靠的备份档案。相比之下,在 Access中你只是将一个 MDB 档拷贝起来做备份。其次,即使 MySQL 的备份有部分损坏,复原起来也要比一个损坏的 MDB 档要容易得多了。
资料处理能力:MySQL的资料处理能力比Access强;eg:MySQL如果处理100MB的档案,不会发生承载过重的迹象,而Access就会造成网站效率低下。
MySQL缺点:没法处理复杂的关联性功能;不支持事务处理和事务的提交/撤销;MySQL不支持外键以及参考完整性限制,因此MySQL不适用于有复杂资料关系的应用程序,但是Access可以;而且MySQL也没有存储进程和触发器。当有许多表格需要同时在一个事务过程中完成更新的时候,MySQL的速度较慢。
我刚刚把我得>
以上就是关于怎么把access数据库中的数据全部导入到mysql中全部的内容,包括:怎么把access数据库中的数据全部导入到mysql中、如何将access数据库 导入到 navicat for MySQL 中、如何把Access中数据导入Mysql中等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)