发表于: 2017-12-13 01:02:39

2 648


今天完成的事情:

更改昨天的错误:

create_time update_time 的数据类型改为 datetime ,默认值设为now() 昨天错写为 timetime数据类型不含日期

继续更改 datetime数据类型改为 BigInt

原因:非常方便做减法而不用转化

更改表结构:

在终端查看表结构:


表数据的增查删改

使用 mysql插入数据

插入数据:insert into <表名>(字段1,字段2……) values(<数据>);

INSERT INTO  sign_table(`id`, `create_at`, `update_at`, `name`, `QQ_id`, `study_type`, `except_entry_time`, `graduted_school`, `student_id`, `report_link`, `oath`, `school_brother`, `from_where_know`) VALUES (1, '2017-12-12 09:58:37.826884', '2017-12-12 09:58:37.826884', '曲艳行', '3169119846', 'JAVA工程师', '1118--1122', '燕山大学', 2641, 'http://www.jnshu.com/daily/40038?dailyType=others&total=8&page=1&uid=18143&sort=0&orderBy=3', '老大最帅', '郑州分院王鹏举', '知乎');

查询记录

select * from sign_table;

select * from sign_table where name=‘曲艳行’;

select * from sign_table where id=1;

更改宣言

sql语句:

update sign_table set oath=‘老大最帅’ where name=‘曲艳行’;

学习update语法

Navciat 更改很简单。

导出sql文件

文件 导出

删除数据

delete from sign_table where id=1;

恢复数据

Navciat中选中数据表,右键菜单,执行sql语句

索引问题

学习索引

(B+树索引) BTREE索引和 HASH 索引的区别

引擎支持:

引擎

支持索引

其他

InnoDB MyISAM

BTREE

不支持HASH

MEMORY/HEAP

HASHBTREE

 

 

在什么字段使用索引

在查询条件、排序条件等操作时,那些经常做对比的字段,创建索引

唯一索引和普通索引的区别

字段数据不会重复,唯一索引

其他:SPATIAL 空间索引,FULLTEXT全文索引

创建姓名索引

索引长度x:对字段的前x个单位的数据创建索引

其他可以创建索引的字段:QQ号,修真类型,毕业学校,学号,从哪得知

创建100万条数据,对比有无索引时的执行效率

http://nsimple.top/archives/mysql-create-million-data.html

实验过程中:插入1万条数据2秒左右,插入20万条数据44-47秒。

                                             

把原来真实的数据中id改为649002,试验有无索引时的查询效率。

 

无索引:

select * from sign_table where name='曲艳行';

…………

1 row in set (1.86 sec)

1 row in set (2.04 sec)

1 row in set (1.97 sec)

1 row in set (2.07 sec)

1 row in set (2.00 sec)

1 row in set (2.03 sec)

加索引(多次查询):

select * from sign_table where name='曲艳行';

。。。。。。

1 row in set (0.07 sec)

1 row in set (0.09 sec)

1 row in set (0.10 sec)

后边大概稳定在0.10 sec左右

数据确定性

保证数据库id唯一性的思路:

本质上就是一个算法,保证其id唯一

id

使用无意义的值,跟业务无关的值,因为互相引用,跟业务相关的值可能变。

学习两个小时的算法和数据结构

学习B+ 数据结构、哈希算法

https://tech.meituan.com/mysql-index.html

大概看了一下,没有花两个小时来学算法和数据结构,计划没有完成。

 

下载javamaven3idea,完成配置。

jre jdk的区别

https://docs.oracle.com/javase/8/docs/

JRE Java Runtime Environment

JDKJava Development Kit

JREjava运行时环境,包含了java虚拟机,java基础类库。是使用java语言编写的程序运行所需要的软件环境,是提供给想运行java程序的用户使用的。

JDK顾名思义是java开发工具包,是程序员使用java语言编写java程序所需的开发工具包,是提供给程序员使用的。

JDK包含了JRE,同时还包含了编译java源码的编译器javac,还包含了很多java程序调试和分析的工具:jconsolejvisualvm等工具软件,还包含了java程序编写所需的文档和demo例子程序。

安装jdk1.8(最新版)后面可能还要安装jdk1.7,添加环境变量

下载idea,配置好

明天计划的事情:

看两个小时数据结构和算法,掌握java基本语法(数据类型、语句),创建一个新的maven项目

src/main/java下随便创建一个java文件,clean,install.查看本地的.m2下是否成功看到有Jar包。

编写DAO,分别JdbcTemplateMybatis连接数据库,

遇到的问题:

数据库基本的增查删改命令怎么写?  以前学过一点,看sql语句教程解决。

索引在哪些字段用?  自己思考,参考google解决

btreehash的区别?  google到博客文章,解决

如何创建100万条随机数据?  google到博客文章,解决

jdkjre的区别?  看百科,和官方文档解决

idea jdk配置怎么弄?  百度解决

收获:

大部分问题都能在网上找到答案或参考,但是这样会造成原创能力丧失,以后有时间一定把基础知识再学一遍,尤其是计算机原理、数据结构和算法。

还学到了:数据库表中数据的增查删改命令,索引相关基础知识(索引如何优化没怎么看懂),btree数的基础(还没理解透,明天接着看),越来越熟悉 百度/google 查资料



返回列表 返回列表
评论

    分享到