发表于: 2017-12-13 01:02:39
2 648
今天完成的事情:
更改昨天的错误:
把create_time 和update_time 的数据类型改为 datetime ,默认值设为now() 昨天错写为 time,time数据类型不含日期
继续更改 把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工程师', '11月18日--11月22日', '燕山大学', 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 | HASH和BTREE |
|
在什么字段使用索引
在查询条件、排序条件等操作时,那些经常做对比的字段,创建索引
唯一索引和普通索引的区别
字段数据不会重复,唯一索引
其他: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
大概看了一下,没有花两个小时来学算法和数据结构,计划没有完成。
下载java、maven3、idea,完成配置。
jre 和jdk的区别
https://docs.oracle.com/javase/8/docs/
JRE: Java Runtime Environment
JDK:Java Development Kit
JRE是java运行时环境,包含了java虚拟机,java基础类库。是使用java语言编写的程序运行所需要的软件环境,是提供给想运行java程序的用户使用的。
JDK顾名思义是java开发工具包,是程序员使用java语言编写java程序所需的开发工具包,是提供给程序员使用的。
JDK包含了JRE,同时还包含了编译java源码的编译器javac,还包含了很多java程序调试和分析的工具:jconsole,jvisualvm等工具软件,还包含了java程序编写所需的文档和demo例子程序。
安装jdk1.8(最新版)后面可能还要安装jdk1.7,添加环境变量
下载idea,配置好
明天计划的事情:
看两个小时数据结构和算法,掌握java基本语法(数据类型、语句),创建一个新的maven项目
在src/main/java下随便创建一个java文件,clean,install.查看本地的.m2下是否成功看到有Jar包。
编写DAO,分别JdbcTemplate和Mybatis连接数据库,
遇到的问题:
数据库基本的增查删改命令怎么写? 以前学过一点,看sql语句教程解决。
索引在哪些字段用? 自己思考,参考google解决
btree和hash的区别? google到博客文章,解决
如何创建100万条随机数据? google到博客文章,解决
jdk和jre的区别? 看百科,和官方文档解决
idea 的jdk配置怎么弄? 百度解决
收获:
大部分问题都能在网上找到答案或参考,但是这样会造成原创能力丧失,以后有时间一定把基础知识再学一遍,尤其是计算机原理、数据结构和算法。
还学到了:数据库表中数据的增查删改命令,索引相关基础知识(索引如何优化没怎么看懂),btree数的基础(还没理解透,明天接着看),越来越熟悉 百度/google 查资料
评论