持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第8天,点击查看活动详情
1、MySQL基础 新手手册
- 数据库:-----Mysql[中小型项目]阿里巴巴 Oracle[大型项目 安全性高]
- 创建数据库的命令:
创建数据库:
create database 数据库名;
切换数据库:
use 数据库名;
创建表:
create table 表名(
字段名 数据类型 约束,
字段名 数据类型 约束,
);
数据类型: varchar char int decimal小数 date datetime
varchar()和char()的区别?
varchar可变字符串 char不可变 譬如:手机号 性别。
约束: 主键约束(primary key) 外键约束(foreign key) 唯一约束(unique) 非空约束not null 默认约束default 自增约束AUTO_INCREMENT
- DML操作:
1. insert into 表名(列名,列名...) values(值,值...)
2. delete from 表名 where 条件;
关系运算符 >,>=,<,<=,=,!=
逻辑运算符 and or not
其他: (between 值1 and 值2) in exist like[通配符_统配一个字符, %统配n个字符]
3. update 表名 set 列名=列值,..... where 条件
4. select *|指定列名 from 表名 where 条件
5. select * from 表名 group by 分组的列 having 分组后的条件;
6. select * from 表名 order by 列名,.... [desc,asc]
7. select distinct * from 表名 limit start,size; ----start=====(page-1)*size;
8. 聚合函数: sum avg count max min
9. 多表联查。
1. 内连接 inner join
2. 左连接 left join
3. 右连接 right join
4. 自连接
10. 嵌套子查询。
2、Java基础知识点总结适合新手 学习手册
1. html+css+js[省略]---
2. java
2.1 java基础.
[1].变量--- 数据类型 变量名=值;
数据类型:
-
- 基本数据类型. byte[1字节] short[2字节] int[4字节] long[8字节] float[4字节] double[8字节] boolean[1字节] char[2个字节]
-
- 引用数据类型. 类 接口 枚举 数组 变量名:----命名规则
-
- 由字母 数字 下划线_ 美元符 $ 组成
-
- 不能以数字开头
-
- 不能使用java的关键字。
-
- 习惯: 见名知意 类名接口名每个单词首字母大写。 方法 变量名第一个单词的首字母小写其他单词的首字母大写.[studentAge]常量所有字母全大写。
[2] 运算符:
-
- 算术运算符。+,-,,/, %, ++[前(先+1在运算) 后[先运算再+1]],--. 例子: int i=2; int c=++i2+1; sout(c==) sout(i==) 例子: int i=2; sout(i++);
-
- 关系运算符。>,>=,<,<=,==,!= 得到的结果一定是boolean值。
-
- 逻辑运算符。 连接多个关系运算的。 &&[这两个关系运算符得到的结果都为true是才为true] || [两个关系运算符只要有一个为true,就是true] !
-
- 赋值运算符。=,+=,-=,=,/=,%=
例子: int a=2; int b=2; b=a+1; b=b*(a+1) sout(b)
- 赋值运算符。=,+=,-=,=,/=,%=
-
- 位运算符【二进制】。 &,|,^,>>,<<,~ int a=1; int b=2; int c=a&b; 001 &010 sout(c); c=a|b; sout(c)
-
- 三目运算符。 条件语句?表达式1:表达式2
[3]控制语句
a. if(条件){
b. if(条件){}else{}
c. if(条件){}else if(条件){} ...else{}
d. switch(表达式){ //switch表达式的值得类型byte short char int String
case 值1: break;
case 值2: break;
case 值3: break;
default: break;
}
// 每一个case得值不能重复。
// default 找到不匹配的case时执行default的语句。
// break执行完对应的case后 跳出switch语句。 如果没有使用break则找到匹配的case后 会把后面所有的语句都执行。
e. while(条件){//条件是boolean值。
}
f. do{}while(条件);
g. for(初始值;条件;变化){ //初始值只会被执行一次.
}
[4]数组:
- 数据类型[] 变量名=new 数据类型[长度];
- 数据类型[] 变量名={值,值,值,值};
- 排序: 冒泡排序 快速排序 选择排序【擂台排序】。
2.2 java面向对象.
1. 类和对象!
类:具有相同属性和行为的一组对象的集合。 抽象的概念。 对象: 万事万物皆为对象。 具体存在的实物。
2. 如何定义类:
public class 类名{
//成员变量。
//成员方法。
}
//如何根据类创建对象
类名 对象名=new 类名();
//对象如何调用类中的成员.
对象名.成员变量;
对象名.成员方法(实参)
3.三大特性:
封装
: 把类中成员使用private进行封装,使外界无法之间调用。---安全。 一般: 封装属性。并且生成getter和setter方法。继承
: 一个子类继承父类中的成员 extends ------ public class 子类名 extends 父类名{ }- overload重载 和 override重写?
overload:在同一个类中,出现方法名相同,参数列表不同的方法。不考虑返回类型。这些方法就是就是反复重载。
override:在父类和子类之间,子类中出现了和父类中方法名一样,参数列表一样。返回值类型一样。访问修饰符不能小于父类方法得访问修饰符。 抛出得异常不能大于父类中。 子类中出现的这种方法就是就是重写。
- 访问修饰符: public: 同一个工程下都可以访问。 protected: 同包或者不同包下的子类访问。 默认: 同包访问 private: 同类访问。
- 多态 : 一个对象具有多种形态。
父类声明
对象名=new 子类对象();
//向上转型: 对象名.方法(); 调用的是子类重写的方法
子类声明
对象名=(子类)父类对象;
//向下转型。
- 抽象类和接口:
- 抽象类:只能被继承,因为他不能实例化对象。 抽象类中有构造方法。抽象类中可以有非抽象方法。 抽象类中的属性可以是普通属性也可以是静态属性。
- 接口: 可以被多实现。 没有构造方法。 全是抽象方法【jdk8后出现了默认方法 和静态方法】。都是静态常亮。
-
异常处理: try{}catch(异常类型 对象){} throws 抛出异常。---->throws加在方法参数的后面 谁调用该方法谁处理这个异常。
-
集合: Collection:
-
List: 有序 可重复 ArrayList: 底层数组:查询快,缺点:前提不是尾部元素,插入和删除慢。 LinkedList: 底层链表.有点: 插入和删除快 Vector:
-
Set: 无序 不可重复。 HashSet: 底层是按照hash表执行。 先按照hashcode表比对如果hash相同【hash冲突】,则按照equals方法比对。如果equals也相同则视为同一个元素。 TreeSet: 底层树形结构 元素拍好序的。 LinkedHashSet: 排序好序得 按照添加的顺序
-
Map: HashMap:原理: map.put(key,value); map.get(key); 数组+链表【超过8】+红黑树。 TreeMap: