MySQL基础

一、MySQL基本介绍

数据库

  • 数据库就是存放数据的仓库,能存放大量数据、可以进行多方交互、进行长时间存储
  • 使用场景:只要有数据产生,并且需要多方交互,长时间存储。

数据库管理系统

数据库:存放数据的仓库
数据库管理系统:MySQL sqlserver Oracle
数据库系统: 数据库管理系统(mysql) + 数据库

关系型数据库 与 非关系型数据库

  • 关系型
    (1) 按照数据的信息,根据实际的场景,以及一些常识来进行分表。通过二维表来维护数据之间的关系,把不同的数据存储在不同的表里。
    (2) 表与表之间,通过属性(字段)存在着某种关系
    例:mysql
  • 非关系型:不存在以上的关系
    (类似于hashMap,单组数据之间存在某种关系,数据与数据之间没有任何关系)
    例:redis
  • 常用术语
    行 -> 元组
    列 -> 属性
    阈值 -> 属性的取值范围
    关系 -> 用二维表维护的诗句

二、数据库操作

SQL 语句主要可以划分为以下 3 个类别:

  1. DDL:定义语言,用来定义不同的数据段、数据库、表、列、索引。(常用关键字:create、drop、alter)。
  2. DML:操纵语句,用于添加、删除、更新和查询数据库记录,检查数据完整性,(常用关键字:insert、delete、update 和 select)。
  3. DCL:控制语句,用于控制不同数据段直接的许可和访问级别。定义数据库、表、字段、用户的访问权限和安全级别。(关键字:grant、revoke 等)。
    sql语句主要有:增、删、改、查 (事务、索引)

使用数据库的流程

  1. 客户端登录mysql 服务
    登录:mysql -u 用户名 -p密码
    例:mysql -u root -p123456,
    退出:exit quit
  2. 根据需求,通过 mysql 创建数据库
    展示所有数据库:show databases;
  3. 通过 use 选择数据库,
    例:use school;
    展示库里所有表:show tables;
    打开表(例):select * from student1;
  4. 创建表、增删改查
    数据库命名:大小写不敏感、下划线隔开两个单词、风格统一。
    (1) 创建数据库:create database 名称;
    例:create database test_one;
    (2) 删除数据库:drop database 数据库名;
    例:drop database test_one;
  5. 项目运行一段时间后,根据实际情况修改表
    使用索引(提高查询效率) 使用事务
  6. 性能降低 -> 数据库优化(索引)
  7. 线程并发时 -> 事务

建表:常识建表 + 范式

  • 注意:建表之前,用 use + 数据库名 告诉mysql要用哪个数据库
  • 建表语法(英文):
    create table table_name(
    属性名 属性类型 [完整性约束],
    属性名 属性类型 [完整性约束],

    属性名 属性类型 [完整性约束]
    );

三、数据库范式

带来的好处

  1. 减少数据冗余(最主要的好处,其他好处都是它附带的)
  2. 清除异常(插入异常、更新异常、删除异常)
  3. 让数据组织的更加和谐
    注意:数据库范式不是越高越好,范式越高,意味着表越多,多表联合查询的几率就越大,SQL查询的效率就变低。(一般开发中只遵从第三范式就好,具体视情况而定)

各范式之间的包含关系

在这里插入图片描述

第一范式(1NF)

  • 每一列保持原子特性。列都是基本数据项,不能够再进行分割,否则设计成一对多的实体关系。
  • 不遵循第一范式的缺点
    a. 数据冗余,删除修改表时作用的行更多;
    b. 查询效率会下降很多。
    c. 插入异常

第二范式(2NF)

  • 符合第一范式的基础上,非主属性完全依赖于主键(消除对主键的部分依赖)。如果不是完全依赖主键,应该拆分成新的实体,设计成一对多的实体关系。
  • 存在部分依赖的缺点
    a. 数据冗余
    b. 更新异常
    c. 插入异常
    d. 删除异常

第三范式(3NF)

  • 基于第二范式的基础,属性不依赖于其它非主属性(消除与主键之间的依赖传递,也就是说直接依赖于主键,只依赖于主键)。

BC范式(BCNF)

  • 基于第三范式基础上每个表中只有一个候选键 (不重复的属性称为候选键)
  • 有多个候选键引发的问题:
    例:一个仓库,只对应一个仓库管理员
    存在数据冗余、删除异常、插入异常、更新异常。

第四范式

基于BC范式的基础上,消除表中的多值依赖。

四、MySQL基本语法

详细内容在
MySQL基本语法使用(一)
MySQL基本语法使用(二)
中介绍。

五、JDBC、连接池

详细内容在 JDBC 连接池 中介绍。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值