发表于: 2017-09-09 22:42:44

4 680


今天学习的内容:

一、深度学习的一些问题。

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;

![image.png](http://upload-images.jianshu.io/upload_images/271046-f303fed54102d6b3.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

1.3sql 查询

创建商品表:

create table product (

pid int primary key auto_increment,

pname varchar(20),

price double,

pdate timestamp

);

注意:可以不设置字段长度,如果不设置mysql会根据所选字段选择默认长度。摘自百度 例如char,默认长度,是255,但是你所存储的数据只需要10个字符就浪费了。。

![image.png](http://upload-images.jianshu.io/upload_images/271046-818b6e6fd1cb2d9d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

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);

![image.png](http://upload-images.jianshu.io/upload_images/271046-c2d759686379cc3f.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

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

![image.png](http://upload-images.jianshu.io/upload_images/271046-d5984ca50aab0acf.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

遇到的问题:插入姓名的数据,本应该是汉字,怎么就变成77了呢。??

这个暂时先过。。。

1.4 简单查询。

//查询所有的商品

select * from product;

//查询商品名和商品价格

select pname,pid from product;

//别名查询 as可省略//没卵用吧这个东西

  表别名select * from product as p;

  列别名select pname as pn from product;

![image.png](http://upload-images.jianshu.io/upload_images/271046-553cdebca8aa01cc.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

//查询所有的价格,去掉重复的价格

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;

![image.png](http://upload-images.jianshu.io/upload_images/271046-4a4d9b0d1f03705c.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

-----

1.5 终于到了正题了:

关于索引 

看完这篇文章就可以差不多了。http://blog.csdn.net/xluren/article/details/32746183

上面文章没讲到的

http://www.cnblogs.com/aspnethot/articles/1504082.html

几个问题:对于这篇文章 修改表结构时添加索引 报错。

  是版本太低??,暂时没有解决。

![image.png](http://upload-    images.jianshu.io/upload_images/271046-8d1899a46fcbf38b.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

唯一索引 和 普通索引的区别就是,唯一索引是指索引列的值必须唯一,但允许有空值。当你要创建的索引列的值没有重复时,才能对其建唯一索引。对于没有重复的列,最好建唯一索引。

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。

![](http://upload-images.jianshu.io/upload_images/271046-ab0b98c891e56bfa?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

  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

安装成功

![image.png](http://upload-images.jianshu.io/upload_images/271046-e0336beb274e8463.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

eclipse配置Maven插件 

http://blog.csdn.net/anialy/article/details/8226887

不知道下哪个。。。所以还是用idea吧。。。

![](http://upload-images.jianshu.io/upload_images/271046-9edb5684efd0d646.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

四:

创建maven项目:

http://www.cnblogs.com/wql025/p/5215570.html#autoid-0-0-0

有些地方卡住。。明天在做

五:学习了计算机网络的基础知识 网络边缘 接入网,网络核心。。等等

明天要完成的事情:

1.maven一头雾水,只能找资料,学习了。慢慢来,不急。。。

2.尽量做修真院任务,同时巩固java基础

收获:

1. 有好多东西,要自己学的深一点,不要为了做任务而做任务,基础要打牢再深入。

2.总觉的效率低。。。。



返回列表 返回列表
评论

    分享到