发表于: 2017-06-17 17:20:15

2 1207


今天完成的事情:任务1步骤4~11

4.报名帖中学生表的表结构如下:

开始设计表的时候,可以先向昨天识别业务中涉及到的实体对象,实体对象包含的属性,以及对象之间的数量对应关系,用文字表述出来,

或画出更直观ER(实体关系)图;然后可以通过编写并执行sql语句,在数据库中创建表结构。

5.手动添加了三个基本的字段,user_id, create_at, update_at, navicat中没有long类型,故使用bigint代替;id自增可以用来唯一标识每一条记录,当作主键,

create_at, update_at 两个字段则记录着每一条数据的添加、修改时间,便于查找问题(比如什么时间段修改了数据导致bug)等。

6.从报名贴中找一条最近报名的师弟,用Mysql插入这条数据,并能够根据姓名查出来这条记录

插入语句(插入语句由于时间是整数,没有转换,故输入0代替):

INSERT INTO students VALUES("胡玉周","424167557","前端工程师",0,"西安培华学院","3434","http://www.jnshu.com/daily/23800?dailyType=others&total=33&page=1&uid=10998&sort=0&orderBy=3","如果我不能在IT特训营拼尽全力,为自己以后的修行路上打好基础,就让我变胖20000000斤!","万维娜",0,0);

按姓名查询该条记录:

SELECT * FROM students WHERE name='胡玉周';

7.分别用Navciat和Sql语句去将本条数据记录的报名宣言改成老大最帅

Navicat打开表直接编辑就可修改表中数据

更新SQL语句:UPDATE students SET oath='老大最帅' WHERE name='胡玉周';

8.将表导出成Sql文件,并使用navciat和Sql分别尝试删除此条数据,并用之前备份的Sql恢复。

表结构及表中数据均可以导出到sql文件中(就是sql语句),可以将sql语句拷贝到mysql命令行中执行从而恢复数据;

另外了解到mysql也可以直接执行整个sql文件,命令格式如下:

mysql –u –p  –D  < 【sql脚本文件路径全名】

9.给姓名建索引,思考一下还应该给哪些数据建索引

在Navicat中可以很方便的建立索引;查了一下,索引就像字典中的目录一样,对字段建立好索引后,相当于事先对该列数据排了序,这样可以加快数据查询的速度,

故如果某些字段经常用作查询条件,则应该也建立索引,像修真类型、毕业院校等。

10.插入10条数据,查看有索引和无索引的情况下,Sql语句执行的效率

10条数据貌似不足以区分有无索引的情况下的执行效率,在Navicat中看到的执行结果都是耗时0.00s,有待查证如何更精确地衡量sql语句的执行效率。

11.查看深度思考中Mysql相关的一些问题,将自己思考的结果写在日报中,并查阅之前师兄的日报,看看是否有合自己思路接近或者是完全不一致的地方。


明天计划的事情:任务1步骤12~18

  • 12.下载Java 7,并配置环境变量,百度搜索一下JDK和JRE的区别,并将结论用自己的话写在日报中。
  • 13.下载Maven3,并配置好环境变量。
  • 14.下载Eclipse或者是IDEA,配置好Maven。IDEA不用配置Maven,Eclipse也分自带或者外部,推荐使用外部Maven。
  • 15.创建一个新的maven项目
  • 16.在src/main/java下随便创建一个java文件,clean,install.查看本地的.m2下是否成功看到有Jar包。
  • 17.编写DAO,分别JdbcTemplate和Mybatis连接数据库,注意使用JDBCTemplate的时候分离Interface和Imple,使用Mybatis的时候注意理解为什么不需要Impl,注意遵守命名规范。
  • 18.学习Junit,并尝试写自己的第一个单元测试,记着要写在自己的src/main/test下。

遇到的问题:今天倒没有遇到什么困难~
收获:

今天学习了数据库设计基本流程,从数据库设计到建表到简单的数据库操作

另外学习新概念 索引 ,主要是针对查询速度优化的一个数据库特性


返回列表 返回列表
评论

    分享到