本系列为笔者学习JavaWeb的课堂笔记,视频资源为B站黑马程序员出品的《黑马程序员JavaWeb开发教程,实现javaweb企业开发全流程(涵盖Spring+MyBatis+SpringMVC+SpringBoot等)》,章节分布参考视频教程,为同样学习JavaWeb系列课程的同学们提供参考。
01 企业开发
02 数据模型
关系型数据库(RDBMS)
是建立在关系模型基础上,由多张相互连接的二维表(行+列)组成的数据库,其格式统一,使用SQL
语言操作。
03 SQL 简介
SQL
是一门操作关系型数据库的编程语言,其定义操作所有关系型数据库的统一标准。
SQL
可单行/多行,可使用空格/缩进,以分号结尾,不区分大小写 ,注释为--
或#
。
SQL
语句通常被分为四大类:
04 DDL 基础操作
DDL
为Data Defination Language
,即数据定义语言,定义数据库对象和表格。
查询:
创建:
删除:
使用:
05 DataGrip
DataGrip
是JetBrains
旗下的一款数据库管理工具,是管理和开发MySQL、Oracle、PostgreSQL
的理想解决方案。
06 DDL 表操作
创建:
create table MingJiao(id int comment 'ID 唯一标识',username varchar(20) comment '用户名',name varchar(10) comment '姓名',age int comment '年龄',gender char(1) comment '性别'
) comment '用户表';
约束:约束是作用于表中字段上的规则,用于限制存储在表中的数据,以保证数据库中数据的正确性,有效性和完整性。
create table MingJiao(id int primary key comment 'ID 唯一标识',username varchar(20) not null unique comment '用户名',name varchar(10) not null comment '姓名',age int comment '年龄',gender char(1) default '男' comment '性别'
) comment '用户表';
数据类型:数值类型、字符串类型、日期事件类型
类型 | 大小(byte) | 备注 |
---|---|---|
tinyint | 1 | |
smallint | 2 | |
mediumint | 3 | |
int | 4 | |
bigint | 8 | |
float | 4 | float(5,2):5表示整个数字长度,2 表示小数位个数 |
double | 8 | double(5,2):5表示整个数字长度,2 表示小数位个数 |
decimal | decimal(5,2):5表示整个数字长度,2 表示小数位个数 |
类型 | 大小 | 描述 |
---|---|---|
char | 0-255 bytes | 定长字符串 |
varchar | 0-65535 bytes | 变长字符串 |
tinyblob | 0-255 bytes | 不超过255个字符的二进制数据 |
tinytext | 0-255 bytes | 短文本字符串 |
blob | 0-65 535 bytes | 二进制形式的长文本数据 |
text | 0-65 535 bytes | 长文本数据 |
mediumblob | 0-16 777 215 bytes | 二进制形式的中等长度文本数据 |
mediumtext | 0-16 777 215 bytes | 中等长度文本数据 |
longblob | 0-4 294 967 295 bytes | 二进制形式的极大文本数据 |
longtext | 0-4 294 967 295 bytes | 极大文本数据 |
char(10)
: 最多只能存10个字符,不足10个字符,占用10个字符空间。
varchar(10)
: 最多只能存10个字符,不足10个字符, 按照实际长度存储。
date | 3 | 格式 | 描述 |
---|---|---|---|
time | 3 | YYYY-MM-DD | 日期值 |
year | 1 | HH:MM:SS | 时间值或持续时间 |
datetime | 8 | YYYY | 年份值 |
timestamp | 4 | YYYY-MM-DD HH:MM:SS | 混合日期和时间值 |
案例:根据页面原型/需求创建表(数据类型、长度、约束)
查询:
修改:
删除: