发表于: 2018-03-09 19:34:23
4 446
1.下载并安装及配置Mysql 5.7 mac版本的MySQL相比Windows版本,多了很多配置的事情,还需要修改系统变量。
2.下载Navicat,并且破解。
3.使用navicat 连接MySQL数据库。
在创建mysql数据库时,遇到了字符集和排序规则的问题,字符集我知道,是数据库采用的编码格式,现在支持中文最好的字符集模式是utf-8.
百度了以后才知道,原来排序规则指的是在使用字符集的时候,不同字符间的比较规则,最常见的就是大小写敏感和不敏感的比较- -
utf-8的默认规则是utf8_general_ci,这种模式是指大小写不敏感,还有一种是utf8_general_cs,这种是大小写敏感- -
先默认用着,以后根据实际需求可以在改动,还有一种常见的比较规则是bin()2进制比较,等用到了再说。
4.第4条创建报名帖的时候,遇到了坑- - 任务要求里面说的long类型指的是java中的long类型,然而mysql中并没有这种类型 - -
后来问了学长才知道,原来MySQL中没有long类型,后来自己百度才知道Java中的long类型就是mysql中的bigint,同时numeric也可以用- -
没有想过为何要用long类型而不是date数据类型,后来看了别人的日报以后,才知道:
1.long类型占的内存小
2.date只表示时间,在实际运算中只能标志,不如long计算方便,而且date还要根据当地的时区进行换算。
最后mysql语句如下:
在把ID申明为自增ID的时候,经过查证,知道只有主键ID才可以申明为自增模式,所以在sql语句最下方加了一个primary key(id),
最后结果如下:
5.做到任务5的时候,我才发现我把任务4和任务5混合在一起了 - -
然后我在回去补任务4的业务表的时候,发现字段少了几个,没有师兄和地址,我在用mysql语句将师兄和地址字段插入到表中。
,在添加师兄这个字段的时候,发现了一些数据类型的区别。
像int,bigint 这样的长度就可以为空,而nvarchar这样的就不能为空。有时间可以在研究研究哪些可以为空,哪些不能为空。
恩,这就是最后结果- -
6.要添加最后一个报名的同学,看来看去好像就是我自己- - 在学的时候,发现用navicate 插入字符串,颜色会变成红色,我一开始还以为红色是错误的,经过我的反复研究,发现- -变成红色才是对的。
7.做第7个任务的时候,发现还有个报名宣言,然后我还得回去添加这个字段- -
恩,继续填坑- -
发现在用navicat 图形界面操作字段的时候,电脑反应会很慢,但是在navicate或者cmd中用sql语句进行操作,效率就很高,记下来
8.
使用cmd删除表信息.
使用命令source /users/macbook/Desktop/student.sql 来导入sql文件。
在navicat上面删除表信息。
在navicat上添加sql文件。
9.给姓名键索引:
索引提供的是数据库所在表的指针信息,指针中存储的是对应内容的物理地址,可以根据指针信息快速查找内容。
索引的长度和区分度相关,根据下表可知,长度最好为4。
索引分为聚焦索引和非聚焦索引。聚焦索引能提高多行检索的速度,而非聚焦索引对于单行的检索很快。
索引的作用:1.类似于图书的目录,可以快速的找到所需要的内容。
2.由于索引中存储的是指针信息,所以可以保证数据的唯一性。
索引的缺点:1.索引也需要占用物理内存
2.当对数据库的数据信息进行修改时,索引数据也需要修改,所以会降低数据的维护速度。
在一个表中最好只建立一个索引,而且还能和其他表相对应。
在创建索引的时候,由于输入的索引长度不适宜,所以打算做修改处理,后来经过研究发现,mysql并没有提供索引修改功能,一般都是先删除在创建。
所以删除创建的索引。
查看创建索引,show index from student;
主键也被数据库看成了索引,主键默认索引。
再次创建索引,索引长度为4.
create index index_name on student(name(4));
10.,
.
使用索引的情况下,速度为0.002S.
将索引删除.
时间为0.000s.
.
评论