发表于: 2017-11-02 20:01:57

1 1243


今天完成的事情

task1  1~6

  • 1.参考修真院线下报名贴(学习资料-线下报名-北京报名)中报名的格式,整理出业务模型,确定需要几个对象,每个对象的属性是什么,对象和对象之间的关系是一对一,还是一对多。
  • 2.下载并安装及配置Mysql 5.5


今天从任务一开始, 算是第一天接触数据库, 之前有的仅仅是java基础算法的一些知识, 对数据库本身还是很陌生的.

首先在安装上就出现了不少问题, 因为数据库是存储数据的,必定牵涉到字符这个东西, 字符也就必然的牵扯了字符集,

在第一次安装的时候由于是照着教程安装的,所以没有去注意, 一路跟着教程下来就把 数据库和服务器的字符集格式设置为了

GBK, 而UTF-8才是我们所需要的.

所以为了不每次都重新设置, 我参照了不少修改的教程, 最终选择了重装,


到此, 数据库的字符集问题是搞定了.


然后是线下报名贴的格式, 对象肯定就只有一个,那就是student , 属性有姓名等共10项,外加上5.使用navicat设计mysql数据库,数据库的每一个表中都要有三个基本的字段,ID(自增Long),create_at,update_at(所有的时间都用Long)。属性应该一共有13条.


表格样式初步确定就是这个样子了.

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

这一步废了我很多时间, 因为我对MySQL的基本数据类型完全不了解.

在翻阅了一部分资料之后,我就开始了建立表格的步骤, 结果直接以报错告终, 因为MySQL里对应Java Long类型的应该是bigint,而我下意识的就认为是一样的

之后改为bigint成功创建



.QQ这里我用int但是出现问题了, int 数在mysql里有个限制显示的宽度, 最多为11, 而我限定了14位, 直接报错收场,

, 直接报错收场, 另外考虑到QQ号的位数增长速度, 改为varchar字符的形式存储.


最后完整的成功的创建了这个数据表格. 但是还有单词打错, 但是代码敲的不容易, 所以我又只有查询如何修改表中的字段名称.


这里就学习到了修改字段名称以及属性的方法

-- ALTER TABLE 表名 CHANGE 原字段名 新字段名 字段类型 约束条件

把错误的onlint 和bre 改为oline 和bro.

然后输入 查询语句 desc 表名  查询建立的表格


使用navicat设计mysql数据库,数据库的每一个表中都要有三个基本的字段,ID(自增Long),create_at,update_at(所有的时间都用Long)。

这里我产生了不小的疑问, create_at, update_at,这2个代表创建时间以及修改时间的字段如果用bigint来记录?

根据网上查阅的资料, 我将两个字段分别设置为了 datetime 以及timestamp类型, datetime用now()为接收值可以接收当前系统时间, 而timestamp 的初始值为current_timestamp会自动记录修改数据的时间(这里我还没有去查询,应该是底层函数来完成了)

接下来我从报名贴找到最近一个学员的信息


然后使用 insert into student(字段1,字段2,字段3,...) values (值1,值2,值3,...)的方式将该学员的信息添加到表中,其中id自增字段和update_at记录修改时间的字段不用添加值.create_at添加now()方法,添加成功的结果为

这里出现一个问题,就是关于字符集的问题,我在CMD无论怎么设置, 都没法在cmd匹配到name的中文字符,对int型的ID就可以匹配 只有在navicat里面才能匹配到name的中文字符, 另外一个同学使用的MySQL5.7版本的就没有这个问题, 考虑明天更换数据库版本进行测试.


 今天就主要在这个问题上浪费了不少时间, 另外第五个要求里 要将所有时间字段都设置为bigint类型, 这里我有点迷糊该如何将时间字段的值转为bigint型? 需要结合java使用date类?

明天计划的事情:明天的话从第7点开始一直到服务器那步吧,因为毕竟我之前自学了有一段时间的java基础, 尽量把熟悉的东西在最少的时间过掉.

收获:今天学习到了数据库的增改查的基本语法,基本类型, 以及字符集编码表对数据库的影响.


返回列表 返回列表
评论

    分享到