JavaWeb-mysql

数据库设计

Mysql概述

分类 全称 说明
DDL Data Definition Language 数据定义语言,用来定义数据库对象(数据库,表,字段)
DML Data Manipulation Language 数据操作语言,用来对数据库表中的数据进行增删改
DQL Data Query Language 数据查询语言,用来查询数据库中表的记录
DCL Data Control Language 数据控制语言,用来创建数据库用户、控制数据库的访问权限

image-20240307132823507

数据库设计-DDL

约束 描述 关键字
非空约束 限制该字段值不能为null not null
唯一约束 保证字段的所有数据都是唯一、不重复的 unique
主键约束 主键是一行数据的唯一标识,要求非空且唯一 primary key
默认约束 保存数据时,如果未指定该字段值,则采用默认值 default
外键约束 让两张表的数据建立连接,保证数据的一致性和完整性 foreign key

MySQL中的数据类型有很多,主要分为三类:数值类型、字符串类型、日期时间类型。

数据表

image-20240307135013214

create_time:记录的是当前这条数据插入的时间。 update_time:记录当前这条数据最后更新的时间

image-20240307135215533

表(创建、查询、修改、删除)

多表设计

数据库操作

数据库操作-DML

DML的英文全称是data Manipulation Language(数据操作语言),用来对数据库中表的数据记录进行增删改查操作

1
2
3
添加数据(INSERT)
修改数据(UPDATE)
删除数据(DELETE)

INSERT

指定字段添加数据:insert into 表名 (字段名1, 字段名2) values (值1, 值2);

全部字段添加数据:insert into 表名 values (值1, 值2, …);

批量添加数据(指定字段):insert into 表名 (字段名1, 字段名2) values (值1, 值2), (值1, 值2);

批量添加数据(全部字段):insert into 表名 values (值1, 值2, …), (值1, 值2, …);

update

修改数据:update 表名 set 字段名1 = 值1 , 字段名2 = 值2 , …. [ where 条件 ] ;

修改语句的条件可以有,也可以没有,如果没有条件,则会修改整张表的所有数据。

DELETE

删除数据:delete from 表名 [ where 条件 ];

1.DELETE 语句的条件可以有,也可以没有,如果没有条件,则会删除整张表的所有数据。

2.DELETE 语句不能删除某一个字段的值(如果要操作,可以使用UPDATE,将该字段的值置为NULL)。

数据库操作-DQL SELECT

DQL英文全称是Data Query Language(数据查询语言),用来查询数据库表中的记录。

查询多个字段:select 字段1, 字段2, 字段3 from 表名;

查询所有字段(通配符):select * from 表名;

设置别名:select 字段1 [ as 别名1 ] , 字段2 [ as 别名2 ] from 表名;

去除重复记录:select distinct 字段列表 from 表名;

事务

介绍

事务 是一组操作的集合,它是一个不可分割的工作单位。事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求,即这些操作 要么同时成功,要么同时失败。

1
2
3
开启事务:start transaction; / begin ;
提交事务:commit;
回滚事务:rollback;

四大特性(ACID)

image-20240307152341854

多表查询

一对一

一对多

多对对

数据库优化

索引

SQL优化