发表于: 2017-04-08 11:16:46

2 1549


今天:

一、导出导入.sql文件。算是备份和恢复吧。因为我发现这好像是简单的备份和恢复了。[捂脸]


1.导出.sql文件。

 数据库导出:将数据库mydb导出到e:/mydb.sql文件中:

 mysqldump -h localhost -u root -p mydb >e:/mydb.sql

    表导出:将数据库mydb中的mytable表导出到e:/mytable.sql文件中:
mysqldump -h localhost -u root -p mydb mytable >e:/mytable.sql

    表的结构导出:将数据库mydb表的结构导出到e:/mydb_stru.sql文件中:

mysqldump -h localhost -u root -p mydb --add-drop-table >e:/mydb_stru.sql

上述操作都是在新开的cmd窗口中,登录数据库后输入命令导出的,之前的窗口里有很多操作,没导出来,不知道是不是与这有关。


2.导入.sql文件。

把导出的数据库.sql、数据表.sql、数据表结构.sql复制到mysql的bin目录下,然后导入。

SOURCE student_sign.sql;

SOURCE student.sql;

SOURCE student_sign_stru.sql;

完成后 SHOW TABLES; 下面出现之前导出的表就成功了。

------------------------  ------------------- 错误过程 ---------------------------------------------------------------

使用mysqldump没导入成功,据说还原时把导出时的语句里的 “>”换成“<”导入。反正是没成功。换sourse导。

看一些帖子里说似乎是要建立一个新数据库再导入。于是新建一个数据库student2,并使它成为当前数据库。使用sourse导入。错误,打不开文件。错误如下图。因此把.sql文件复制到bin目录下导入数据库.sql,未提示错误。但是student2下面没有任何表。

student2删除再导入数据库.sql,没有导进来原有数据库。

还是新建数据库然后把数据库、表和表结构一起都导入试试。于是新建student2,导入。

 

下面一截OK不造是啥玩意,总之是ok了。

导入表结构:

 

Show一下tables。之前导出的Student表在里面了。

 

Describe 一下,也有内容,不过我只是测试一下,没加数据。

二、索引 

1、为name添加索引:

CREATE INDEX student_name ON student (name(10));

 

CREATE INDEX student_id ON student (id(2));

CREATE INDEX student_id ON student (id);

 


2.思考还要给哪些数据添加索引,就要知道为什么要建索引,建索引的好处以及规则。

查询:

select * from pet where (birth>'1980' and species='dog') 

select * from student where (name='www' );

select * from student where (id='12354665' );

没有感觉出有啥区别,大概是数据不够多。


明天要做:


反思:

为什么name要后面要加上长度,id不加。长度确定的规则是?

添加索引是有一些语法规则的。从别人的帖子里找到某个操作的语句,套用过来,运行ok就过了,运行出错才会找原因,那么出错更好,这样才会发现更多问题,知道这个知识点并不是这么简单。虽然出错会很烦,要去克服自己不愿意主动了解并学习新知识的惰性,这点也难但很重要。


任务已经做了5天,放眼望去,后边的Maven、DAO、Junit、Spring都是什么都不知道。

这个任务是33天的,我的第一个就要超时了呢。妈个鸡。



返回列表 返回列表
评论

    分享到