一、MySQL基础

  • 数据库的基本概念
  • MYSQL介绍
  • MySQL安装配置
  • SQL语言/语句操作mysql完成数据的存储+管理操作

1. 数据库基本概念

1.1 什么是数据库

  • 数据库(DataBase)是按照数据结构来组织、存储和管理数据的仓库
  • 数据库是一个数据的集合
  • 其本质是一个文件系统,以文件的方式,将数据保存在电脑

1.2 为什么要使用数据库

数据存储方式的比较

  • 内存
    • 优点:速度快
    • 缺点:不能够永久保存,数据是临时状态的
  • 文件
    • 优点:数据是可以永久保存的
    • 缺点:使用IO流操作文件,不方便
  • 数据库
    • 优点:
      • 数据可以永久保存
      • 方便存储和管理数据
      • 使用统一的方式操作数据库(SQL)
    • 缺点:
      • 占用资源
      • 有些数据库需要付费

1.3 数据库与数据库管理系统

  • 数据库(DB):指的是按照一定结构组织的数据集合,由存储数据的文件组成。
  • 数据库管理系统(DBMS):是一款管理软件。
    • 它用于对数据库进行统一管理和控制,以保证数据库的安全性和完整性。用户通过DBMS 访问数据库中的数据,数据库管理员也通过 DBMS 进行数据库的维护工作。DBMS允许多个应用程序或多个用户使用不同的方法,在同一时刻或不同时刻去建立、修改和询问数据库。
      • Oracle 公司的 Oracle 和 MySQL
      • IBM 公司的 DB2
      • Microsoft公司的Access和SQL Server

1.4数据库分类

  • 关系型数据库(RDB Relationship DataBase)

关系型数据库是创建在关系模型基础上的数据库

典型代表有:MySQL、Oracle、Microsoft SQLServer、Access、PostgreSQL、DB2等

  • 非关系型数据库(NoSQL)

非关系型数据库也被称为 NoSQL数据库,NoSQL并不是某个具体数据库,它泛指所有非关系型数据库典型代表有:Hbase、MongoDB、CouchDB等

1.5 关系型数据库主要对象

对象示例:以excel为例对比,sheet就是excel中的对象

    • 表是包含数据库中所有数据的数据库对象,由行和列组成,用于组织和存储数据
  • 字段
    • 表中每一列称为一个字段,字段有自己的属性,如字段类型、字段大小等。其中,字段类型是字段最重要的属性,它决定了字段能够存储哪种数据
  • 索引
    • 索引是一个单独的、物理的数据库结构。它是依赖于表建立,在数据库中使用索引,无须对整个表进行扫描就可以找到需要的数据
  • 视图
    • 视图是从一张或多张表中导出的表(也称虚拟表),是用户查看数据表中数据的一种方式

2.MySQL数据库

2.1 MySQL起源与发展历程

2.2 MySQL存储引擎

存储引擎是MySQL数据库的核心、心脏、发动机,它决定了数据如何存储,查询的时候如何搜索数据,索引如何创建等等

  • 什么是存储引擎
    • 存储引擎其实就是对于数据库文件的一种存取机制,如何实现存储数据,如何为存储的数据建立索引以及如何更新,查询数据等技术实现的方法。
  • 常用存储引擎

InnoDB:

  • 1.事务处理、回滚、崩溃修复能力和多版本并发控制
  • 2.自增长AUTO INCREMENT
  • 3.外键(FOREIGN KEY)

InnoDB的优势在于提供了良好的事务处理、崩溃修复能力和并发控制。缺点是读写效率较差,占用的数据空间相对较大。

MyISAM :

MyISAM的优势在于占用空间小,处理速度快。缺点是不支持事务的完整性和并发性。

Memory:

1.数据全部放在内存中

2.哈希索引

4.3 DDL操作数据库

4.3.1 创建数据库

  • 创建制定名称数据库
sql 复制代码
create database 数据库名;
  • 创建指定名称数据库,并指定字符集
sql 复制代码
create database 数据库名 character set 字符集;

4.3.2 查看/选择数据库

  • 切换数据库
sql 复制代码
use 数据库;
  • 查看当前所使用的数据库
sql 复制代码
select database();
  • 查看mysql中有哪些数据库
sql 复制代码
show  databases;
  • 查看数据库定义信息
sql 复制代码
show create database db1;

4.3.3 修改数据库

  • 修改数据库字符集
sql 复制代码
alter  database  数据库名  character  set  字符集;

4.3.4 删除数据库

sql 复制代码
drop  database  数据库名;

4.4 DDL操作数据表

一个数据库中可以n个表,表中又有字段(列),在建表的时候就需要定义好字段(指定字段属性--->字段数据类型+字段长度等)

  • 常用数据类型
    • int 整型
    • double 浮点型
    • varchar 字符类型
    • date 日期类型

4.4.1 创建表

sql 复制代码
create  table 表名(
    字段名称1   字段类型(长度),
    字段名称2   字段类型    注意:最后一列不加逗号
)

4.4.2 查看表

  • 查看当前数据库中所有表名
  • desc 表名;
sql 复制代码
show  table;

4.4.3 删除表

  • 删除表(从数据库中永久删除某一张表)
sql 复制代码
drop  table 表名;
  • 判断表是否存在,存在的话就删除,不存在就不执行删除
sql 复制代码
drop  table if exists  表名;

4.4.4修改表

  • 修改表名
    • 语法
sql 复制代码
rename table 旧表名  to  新表名;
相关推荐
1892280486131 分钟前
NY270NY273美光固态闪存NY277NY287
服务器·网络·数据库·科技·性能优化
星霜笔记4 小时前
Docker 部署 MariaDB+phpMyAdmin+Nextcloud 完整教程
运维·数据库·docker·容器·mariadb
wyiyiyi9 小时前
【Web后端】Django、flask及其场景——以构建系统原型为例
前端·数据库·后端·python·django·flask
天宇_任10 小时前
Mysql数据库迁移到GaussDB注意事项
数据库·mysql·gaussdb
xiep143833351013 小时前
Ubuntu 安装带证书的 etcd 集群
数据库·etcd
Java小白程序员14 小时前
Spring Framework:Java 开发的基石与 Spring 生态的起点
java·数据库·spring
老虎062714 小时前
数据库基础—SQL语句总结及在开发时
数据库·sql·oracle
爱掘金的土拨鼠16 小时前
国产化dm数据库锁表解锁
数据库
庖丁解java16 小时前
N个Utils
数据库
Mr. zhihao16 小时前
SQL LEFT JOIN 与 WHERE 条件的隐藏坑
数据库·sql