发表于: 2017-09-09 22:42:44
4 679
今天学习的内容:
一、深度学习的一些问题。
1.唯一索引和普通索引的区别是什么,什么时候需要建唯一索引。
由于我现在对索引的理解不太好,所以我重新总结补习了一下,数据库的基础。
1.1表操作 table
创建表: 语法
单表的约束。:三种:
主键约束:primary key,唯一和非空
唯一约束:unique 唯一和非空
非空约束:not null
查看表:show tables;
表结构:desc 表名;
删除表:drop table ..
修改表:alter table 表名 add 列名(长度) [约束];
modify
change :注意是修改列名
drop
rename to :这个是修改表名。
alter charater set 字符集
插入记录
insert into 表 (列名1,列名2,列名3...) values (值1,值2,值3);
insert into 表 values (值1,值2,值3...);
更新记录:update
注意:update 表名 set 字段名=值,字段名=值 ...;//修改一列
update 表名 set 字段名=值,字段名=值...where 条件
1.2cmd乱码的问题
在命令行中 , 当前命令窗口有效。
命令cmd>set name gblk;

1.3sql 查询
创建商品表:
create table product (
pid int primary key auto_increment,
pname varchar(20),
price double,
pdate timestamp
);
注意:可以不设置字段长度,如果不设置mysql会根据所选字段选择默认长度。摘自百度 例如char,默认长度,是255,但是你所存储的数据只需要10个字符就浪费了。。

insert into product values (null ,'哈哈',0.01,null);
insert into product values (null ,'黑黑',0.01,null);
insert into product values (null ,'嘿嘿',0.01,null);
insert into product values (null ,'大黑',0.01,null);
insert into product values (null ,'小白',0.01,null);

插入null的时候,会自动从1递增,date类型则是当前值。

遇到的问题:插入姓名的数据,本应该是汉字,怎么就变成77了呢。??
这个暂时先过。。。
1.4 简单查询。
//查询所有的商品
select * from product;
//查询商品名和商品价格
select pname,pid from product;
//别名查询 as可省略//没卵用吧这个东西
表别名select * from product as p;
列别名select pname as pn from product;

//查询所有的价格,去掉重复的价格
select distinct price from product;
//将所有商品的价格加10进行显示
select pname,price+10 from product;
//查询商品名称为XX的商品所有信息
select * from product where pname = 'xx';
//查询商品价格>60的所有商品信息
select * from product where price > 60;
where后面的写法:> ,<, >= ,<= ,<> 不等于,like 使用占位符_(代表一个字符)和%(代表任意个字符)
如:select * from product where pname like '%新%';
in 在某个范围中获得值
select * from product where pid in (2,3,5);
select * from product where pid =1 or pid = 4 or pid = 5;
//查询所有商品,按照价格进行排序asc 升序 desc 降序
//语法:select ... order by 字段一 asc|desc ,字段2 asc|desc...
select * from product order by price;//默认升序
//查询名称有"士”的商品的信息并且按价格降序排序
select * from product where pname like '%士%' order by price desc;
//获得所有商品的价格的总和
selece sun(price) from product;
//获得所有商品的平均价格
select avg(price) from product;
//获得所有商品的个数
select count(*) from product;
select count(name) from product;
//添加分类
alter table product add cid varchar(32);
//初始化
update product set cid = '1';
update product set cid ='2' where pid in(5,6,7);
//根据cid字段分组,分组后统计商品的个数。
select cid,count(*) from product group by cid;
//根据cid分组,分组统计每组商品的平均价格>60
select cid ,avg(price) from product group by cid having avg(price)>60;

-----
1.5 终于到了正题了:
关于索引
看完这篇文章就可以差不多了。http://blog.csdn.net/xluren/article/details/32746183
上面文章没讲到的
http://www.cnblogs.com/aspnethot/articles/1504082.html
几个问题:对于这篇文章 修改表结构时添加索引 报错。
是版本太低??,暂时没有解决。

唯一索引 和 普通索引的区别就是,唯一索引是指索引列的值必须唯一,但允许有空值。当你要创建的索引列的值没有重复时,才能对其建唯一索引。对于没有重复的列,最好建唯一索引。
2.如果对学员QQ号做了一个唯一索引,在插入数据的时候,是否需要先判断这个QQ号已经存在了?
我认为不用,因为在建了唯一索引之后,相当于对列进行了约束。所以如果已存在会插不进去。
3.CreateAt和UpdateAt的意义分别是创建时间和修改时间,这两个时间应该在什么情况下赋值?是否应该开放给外部调用的接口?
应该在创建的时间,和修改的时间,自动给出,不应该开放外部调用的接口。
4.修真类型应该是直接存储Varchar,还是应该存储int?
应该是varchar,因为修真类型相当于字符串
5.varchar类型的长度怎么确定?有什么样的原则,和Text和LongText的区别是什么?
varchar 的长度应该按照实际需求,如果只需要4位,你给创建了100位,这样就造成了空间的浪费。蹲着茅坑不拉屎。varchar的可变是指假如规定了100的长度,是指的是最大的长度是100,如果只插入一位数据,则只占一位。而不是可以无限扩。
和test和longtes区别不知道。
6.怎么进行分页数据的查询,如何判断是否有下一页?
只查到了 jsp的分页查询 还没学。。。看不懂 先过吧。。
7.为什么不可以用Select * from table
没有数据库,没有表吧大概。。。。
二:
java网站打不开,该不会被墙了了,所以我就懒了一下,我不重新下了,电脑里有之前安装了java
JRE是Java Runtime Environment的缩写,是Java程序的运行环境。既然是运行,当然要包含JVM,也就是所谓的Java虚拟机,还有所有的Java类库的class文件,都在lib目录下,并且都打包成了jar。
至于在Windows上的虚拟机是哪个文件呢?就是<JRE安装目录>/bin/server中的jvm.dll。

JDK是Java Development Kit的缩写,是Java的开发工具包,主要包含了各种类库和工具,当然也包含了另外一个JRE,那么为什么要包含另外一个JRE呢?而且<JDK安装目录>/JRE/bin目录下,包含有server一个文件夹~包含一个jvm.dll,这说明JDK提供了一个虚拟机。另外,JDK的bin目录下有各种Java程序需要用到的命令,与JRE的bin目录最明显的区别就是JDK文件下才有javac,这一点很好理解,因为JRE只是一个运行环境而已,与开发无关。正因为如此,具备开发功能的JDK所包含的JRE下才会同时有server的JVM,而仅仅作为运行环境的JRE下,只需要server的jvm.dll就够了。
注意:JDK所提供的运行环境和工具度需要进行环境变量的配置以后,才能使用,最主要的配置就是把<JDK安装目录>/bin目录设置为Path环境变量值的一部分。
另外,安装JRE的时候安装程序会自动把JRE的java.exe添加到了系统变量中。系统变量Path的最前面有%SystemRoot%system32;%SystemRoot%;这样的配置,那样到Windows/system32目录下main去看看,会发现一个java.exe文件。这样就无需配置环境变量,也可以运行Java程序了。
可以这样回答:
JDK是Java的开发工具,它不仅提供了Java程序运行所需的JRE,还提供了一系列的编译,运行等工具,如javac,java,javaw等。JRE只是Java程序的运行环境,它最核心的内容就是JVM(Java虚拟机)及核心类库。
三:
maven的安装:
http://jingyan.baidu.com/article/3052f5a1e8f86397f21f8671.html
安装成功

eclipse配置Maven插件
http://blog.csdn.net/anialy/article/details/8226887
不知道下哪个。。。所以还是用idea吧。。。

四:
创建maven项目:
http://www.cnblogs.com/wql025/p/5215570.html#autoid-0-0-0
有些地方卡住。。明天在做
五:学习了计算机网络的基础知识 网络边缘 接入网,网络核心。。等等
明天要完成的事情:
1.maven一头雾水,只能找资料,学习了。慢慢来,不急。。。
2.尽量做修真院任务,同时巩固java基础
收获:
1. 有好多东西,要自己学的深一点,不要为了做任务而做任务,基础要打牢再深入。
2.总觉的效率低。。。。
评论