MySQL学习2020.07.03 | 初次步入MySQL 8.0

初始MySQL

  • 数据库基础
          • 数据库的概念
          • 数据库系统【DBS==DataBase System】
          • 数据库的发展历史
          • 数据库的种类
          • 数据库的特点
          • 数据表
          • 数据类型
          • 主键
          • 在使用主键的时候,我曾经碰到过一下问题
      • 几个容易混淆的概念
        • SQL语言
          • 种类1:数据定义语言
          • 种类1:数据操作语言
          • 种类3: 数据查询语言
          • 种类4: 数据控制语言
      • 关于访问数据库的接口
        • 1.ODBC
        • 2.JDBC
        • 3.ADO.NET
        • 4. PDO
    • MySQL --进入正题 ^ _ ^
      • 特性1:
      • 特性2:
      • 特性3:
    • MySQL8.0新特性

数据库基础

数据库的概念
由一批数据构成有序的集合,被存放在结构化的数据表里,表表相互关联,反应客观事物之间的本质联系。
数据库系统【DBS==DataBase System】
提供对数据安全控制和完整性控制。
数据库的发展历史
人工管理阶段-->文件系统阶段-->数据库系统阶段-->高级数据库阶段
数据库的种类

1.层次式数据库
2.网络 式 数据库
3.关系式数据库
ps:不同种类的数据库按不同数据结构来联系和组织

数据库的特点

1.实现数据共享,减少数据昂余;
2.采用特点的数据类型;
3.具有较高的数据独立性;
4.具有统一的数据控制功能

数据表

1.概念:是一系列二维数组的集合,用来存储数据和操作数据的逻辑结构
2.行:被称为记录,是组织数据的单位
3.列:被成为字段,每一列表示一个属性,有相应的描述信息,如数据类型,数据宽度

字段1 字段2
字段1的值1 字段2的值1
字段1的值2 字段2的值2
字段1的值3 字段2的值3
数据类型

1.整数数据类型
2.浮点数数据类型
3.精确小数类型
4.二进制数据类型
5.日期 | 时间 数据类型
5.字符串数据类型 (较为常用)

主键

1.概念:被称为主码
2.作用:用于唯一标识表中的每一条记录。
2.一个表里可以有几个主键呢? answer:一个表中可以定义1或多个主键
4.相关约束:主键列具有唯一性,非空性【数据库里面的空指的是不确定】

在使用主键的时候,我曾经碰到过一下问题
在数据库中可以通过sql语句进行表数据插入,此时如果待插入的主键数据中,没有数值,会出现插入失败的情况,个人理解为主键的非空性约束。

而在今年的数据库课程设计的时候,我使用JDBC连接数据库并使用PrepareStatement进行数据表的插入时,主键列不小心没有设置数值【即为一个空值,并且在数据库里面的查询得知插入成功,主键列的值为空】,这到底是为什么呢??

并且,数据库的ManageMent竟然不可以删除这一行 | 主键为空| 的数据行

几个容易混淆的概念

数据库系统(DS) : 提供一个存储空间,以存储各种数据,可以看作是一个存储数据的容器,类似java的集合,可能包含许多文件,通常包含多个数据库

数据库管理系统(DBMS DataBase Management System) : 是用户创建、管理和维护数据库时所使用的软件,     位于 操作系统和用户之间

数据库应用程序(DBA) :在很多情况下,DBMS无法满足对数据管理的要求,DBA可以满足更高的要求,可以使数据的管理更加直观和友好。它负责与DBMS进行通信,访问和管理DBMS中存储的数据,允许用户插入、修改、删除 DB 中的数据

SQL语言

种类1:数据定义语言
DDL: DROP,CREARE ,ALTER等等
种类1:数据操作语言
DML: INSERT,UPDATE,DELETE
种类3: 数据查询语言
DQL: select语句
种类4: 数据控制语言
DCL: GRANT【权限授予】,REVOKE,COMMIT,ROOLBACK【事务回滚】

关于访问数据库的接口

1.ODBC

ODBC使得一个应用程序可以通过共同的一组代码访问不同的SQL DBMS

一个基于ODBC的程序对数据库的操作不依赖任何DBMS,所有的数据库操作都由对应的DBMS的ODBC驱动完成。


值得一提的是:在JAVA里面,ODBC的桥接方式在JDK8开始已经被废弃了,JDK8以上版本不能再使用该方式访问数据库	

2.JDBC

是一种用于执行SQL语句的Java API ,可以为多种关系数据库提供统一访问。。

由一组用JAVA语言编写的CLASS和INTERFACE组成

3.ADO.NET

微软在.NET框架下开发设计的一组用于和数据源交互的面向对象类库。

4. PDO

顾名思义,PDO为PHP访问数据库定义的一个轻量级、一致性的接口,提供了一个数据访问抽象层。  
无论使用哪种数据库,都可以通过一致的函数执行查询以及获取数据

MySQL --进入正题 ^ _ ^

Mysql是一个小型|关系|数据库管理系统【DBMS】 ,与其他大型DBMS相比,其规模小
功能有限,但是体积小,速度快,成本低。并且提供的功能对稍微复杂的应用已经够用。

开源。

特性1:

速度快

特性2:

安全性和连接性: 十分灵活和安全的权限,密码系统。允许基于主机的验证。
连接到服务器时,所有密码传输均采用加密形式。
由于Mysql是网络化的,所以可以在Internet上的任何地方访问,有着极高的共享效率

特性3:

复杂程度低,简单易学。。。
可移植性
丰富的接口

MySQL8.0新特性

1.开始维护有关密码历史的信息,限制了以前密码的重复使用。管理员可以在全局以及每个账户的基础上建立密码重用策略,从而在密码更改时限制使用以前使用过的密码
2.开始支持角色,角色可以看成一些权限的集合,为用户赋予统一的角色,权限的修改直接通过角色进行。从而高效率的进行权限授予。

你可能感兴趣的:(MySQL学习笔记,mysql,sql,数据库)