发表于: 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天的,我的第一个就要超时了呢。妈个鸡。
评论