JavaWeb-mysql
数据库设计
Mysql概述
分类 | 全称 | 说明 |
---|---|---|
DDL | Data Definition Language | 数据定义语言,用来定义数据库对象(数据库,表,字段) |
DML | Data Manipulation Language | 数据操作语言,用来对数据库表中的数据进行增删改 |
DQL | Data Query Language | 数据查询语言,用来查询数据库中表的记录 |
DCL | Data Control Language | 数据控制语言,用来创建数据库用户、控制数据库的访问权限 |
数据库设计-DDL
约束 | 描述 | 关键字 |
---|---|---|
非空约束 | 限制该字段值不能为null | not null |
唯一约束 | 保证字段的所有数据都是唯一、不重复的 | unique |
主键约束 | 主键是一行数据的唯一标识,要求非空且唯一 | primary key |
默认约束 | 保存数据时,如果未指定该字段值,则采用默认值 | default |
外键约束 | 让两张表的数据建立连接,保证数据的一致性和完整性 | foreign key |
MySQL中的数据类型有很多,主要分为三类:数值类型、字符串类型、日期时间类型。
数据表
create_time:记录的是当前这条数据插入的时间。 update_time:记录当前这条数据最后更新的时间
表(创建、查询、修改、删除)
多表设计
数据库操作
数据库操作-DML
DML的英文全称是data Manipulation Language(数据操作语言),用来对数据库中表的数据记录进行增删改查操作
1 | 添加数据(INSERT) |
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 | 开启事务:start transaction; / begin ; |
四大特性(ACID)
多表查询
一对一
一对多
多对对