数据库的基本概念:用于存储好管理数据的仓库。
数据库的特点:持久化存储数据,方便存储和管理数据,使用统一的方式操作数据库。
什么是SQL:
structured Query Language:结构化查询语言
其实就是定义了操作所有关系型数据库的规则,每一种数据库规则操作的方式存在不一样的地方,称之为 方言。
SQL通用语法:
- SQL语句可以单行或多行书写,以分号结尾
- 可使用空格和缩进来增强语句的可读性,
- MySQL数据库的SQL语句不区分大小写,关键字建建议使用大写。
- 3种注释
单行: --注释内容或者# 注释内容(这是MySQL特有的)
多行:/* 注释 */
SQL的分类:
- DDL(data definition language)数据定义语言
- 用来定义数据库对象:数据库,表。列等,关键字:create,drop,alter等
- DML(Data Manipulation Language):数据操作语言,
- 用来对数据库中表的数据进行增删改,关键字:insert,delete,update
- DQL:数据查询语言
- 用来查询数据库中表的记录,关键字:select,where等
- DCL(data control language)数据控制语言,(了解)
- 用来定义数据库的访问权限和安全级别,以及创建用户,关键字:GRANT,REVOKE等
DDL:操作数据库,表
- 操作数据库:CRUD
- Create 创建
create database da1;
create database if not exists da2;
create database da2 charaacter set gbk;
create database if not exists db4 character gbk;
CREATE TABLE tab_category(
cid INT PRIMARY KEY AUTO_INCREMENT,
cname VARCHAR(100) NOT NULL UNIQUE);
CREATE TABLE tab_route(
rid INT PRIMARY KEY AUTO_INCREMENT,
rname VARCHAR(100) NOT NULL UNIQUE,
price DOUBLE,
rdate DATE,
cid INT,
FOREIGN KEY (cid) REFERENCES tab_category(cid)
);
数据库设计的范式:
概念;设计数据库时,需要遵循的一些规范,要遵循后边的范式要求,必须先遵循前边所有的范式要求,
设计关系数据库时,遵从不同的规范要求,设计出合理的关系型数据库,这些不同的规范要求被称为不同的范式,各种范式呈递次规范,越高的范式数据库冗余越小,
目前关系数据库有六种范式:第一范式,第二范式,第三范式,巴斯-科德范式,第四范式,第五范式
第一范式:每一列都是不可分割的原子数据项
第二范式:在第一范式的基础上,非码属性必须完全依赖于候选码(在第一属性基础上消除非主属性对主码的部分函数依赖,)
第三范式:在第二范式的基础上,任何非主属性不依赖于其他非主属性(在第二范式的基础上消除传递依赖)
事务的基本介绍
概念:如果一个人包含多个步骤的业务操作,被事务管理,那么这些操作要么操作同事成功,要么同时失败,
操作:
开启事务:start transaction;
回滚:rollback;
提交:commit;
先开启事务;
再执行代码
MySQL数据库中的事务默认自动提交:
一条DML(增删改)语句会自动提交一次事务,
事务提交的两种方式:
自动提交
手动提交
事务的四大特征:
- 原子性:不可分割的最小单位,要么同时成功,要么同事失败。
- 持久性:当事务提交或者回滚之后数据库会持久化的保存数据。
- 隔离性:多个事务之间,相互独立
- 一致性:事务操作前后,数据总量不变,