队列接口与Stream流操作
Java面向对象
Map集合
Java面向对象
Set集合
Java面向对象
List集合
Java面向对象
数据结构,Collection集合和Collections工具类
Java面向对象
Java泛型,比较器和枚举
Java面向对象
Mysql数据库设计
需求设计
概要设计:
抽取实体:业务模型 -> 实体模型(java 类 c++类)内存
class Book{ name, bookNo,author }
数据库设计:
业务模型/实体模型 - > 数据模型 (硬盘)
数据库表设计
详细设计类详细,属性和方法
三大范式
设计原则: 建议设计的表尽量遵守三大范式。
第一范式: 要求表的每个字段必须是不可分割的独立单元1234student : name -- (大名小名在一起)违反第一范式 张小名|狗娃sutdent : name old_name --符合第一范式 张小名 狗娃
第二范式: 在第一范式的基础上,要求每张表只表达一个意思。表的每个字段都和表的主键有依赖。12345employee(员工): 员工编号 员工姓名 部门名称 订单名称 --违反第二范式(订单和编号没有依赖关系)员工表:员工编号 员工姓名 部门名称订单表: 订单编号 订单名称 -- 符合第二范式
第三范式: ...
Lambda表达式,方法引用和异常
Java面向对象
mysql的数据约束
SQL语句的分类:
DDL: 数据定义语言
create / drop / alter
DML:数据操作语句
insert / delete /update / truncate
DQL: 数据查询语言:
select / show
数据约束
对用户操作表的数据进行约束
默认值(default)
作用:当用户对使用默认值的字段不插入值的时候,就使用默认值。
注意:
对默认值字段插入null是可以的。
对默认值字段可以插入非null
123456789101112CREATE TABLE student( id INT, NAME VARCHAR(20), address VARCHAR(20) DEFAULT '广州天河' -- 默认值)当字段没有插入值的时候,mysql自动给该字段分配默认值INSERT INTO student(id,NAME) VALUES(1,'张三');注意:默认值的字段允许为nullINSERT INTO student(id,NA ...
Mysql的基本操作
数据保存到内存:
优点:
读写速度快
缺点:
程序关闭导致数据丢失
数据保存到文件:
优点:
数据可以永久保存
缺点:
频繁地IO操作,效率不高
数据管理不方便。例如查询某个数据需要全部读取出来,再匹配。
数据保存到数据库软件:
优点:
数据永久保存下来
数据管理非常方便。(例如查询非常快速和方便)
数据库管理
查询所有的数据库
showe databases ;
创建数据库
create databases dbtest;
create databases dbtest CHARACTER SET utf8 COLLATE utf8_general_ci;
create database dbtest CHARACTER SET GBK COLLATE gbk_chinese_ci;
修改数据库的字符集
alter database dbtest CHARACTER SET GBK COLLATE gbk_chinese_ci;
alter database dbtest CHARACTER SET utf8 COLLATE utf8_ ...