发表于: 2017-11-02 20:01:57
1 1245
今天完成的事情:
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基础, 尽量把熟悉的东西在最少的时间过掉.
收获:今天学习到了数据库的增改查的基本语法,基本类型, 以及字符集编码表对数据库的影响.
评论