MySQL基础:通过SQL对数据库进行CRUD

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL基础:通过SQL对数据库进行CRUD相关的知识,希望对你有一定的参考价值。


mysql基础

今日目标:

  • 能通过SQL对数据库进行CRUD

文章目录

  • MySQL基础
  • 一、MySQL数据模型
  • 二、SQL概述
  • 2.1 SQL简介
  • 2.2 通用语法
  • 2.3 SQL分类
  • 三、DDL:操作数据库
  • 3.1 查询
  • 3.2 创建数据库
  • 3.3 删除数据库
  • 3.4 使用数据库

一、MySQL数据模型

关系型数据库:

关系型数据库是建立在关系模型基础上的数据库,简单说,关系型数据库是由多张能互相连接的 二维表 组成的数据库

如下图,​​订单信息表​​​ 和 ​​客户信息表​​ 都是有行有列二维表我们将这样的称为关系型数据库。

MySQL基础:通过SQL对数据库进行CRUD_mysql

接下来看关系型数据库的优点:

  • 都是使用表结构,格式一致,易于维护。
  • 使用通用的 SQL 语言操作,使用方便,可用于复杂查询。
  • 关系型数据库都可以通过SQL进行操作,所以使用方便。
  • 复杂查询。现在需要查询001号订单数据,我们可以看到该订单是1号客户的订单,而1号订单是李聪这个客户。以后也可以在一张表中进行统计分析等操作。
  • 数据存储在磁盘中,安全。

数据模型:

MySQL基础:通过SQL对数据库进行CRUD_mysql_02

如上图,我们通过客户端可以通过数据库管理系统创建数据库,在数据库中创建表,在表中添加数据。创建的每一个数据库对应到磁盘上都是一个文件夹。比如可以通过SQL语句创建一个数据库(数据库名称为db1),语句如下。该语句咱们后面会学习。

MySQL基础:通过SQL对数据库进行CRUD_数据库_03

我们可以在数据库安装目录下的data目录下看到多了一个 ​​db1​​ 的文件夹。所以,在MySQL中一个数据库对应到磁盘上的一个文件夹。

而一个数据库下可以创建多张表,我们到MySQL中自带的mysql数据库的文件夹目录下:

MySQL基础:通过SQL对数据库进行CRUD_sql_04

而上图中右边的 ​​db.frm​​​ 是表文件,​​db.MYD​​ 是数据文件,通过这两个文件就可以查询到数据展示成二维表的效果。

小结:

  • MySQL中可以创建多个数据库,每个数据库对应到磁盘上的一个文件夹
  • 在每个数据库中可以创建多个表,每张都对应到磁盘上一个 frm 文件
  • 每张表可以存储多条数据,数据会被存储到磁盘中 MYD 文件中

二、SQL概述

了解了数据模型后,接下来我们就学习SQL语句,通过SQL语句对数据库、表、数据进行增删改查操作。

2.1 SQL简介

  • 英文:Structured Query Language,简称 SQL
  • 结构化查询语言,一门操作关系型数据库的编程语言
  • 定义操作所有关系型数据库的统一标准
  • 对于同一个需求,每一种数据库操作的方式可能会存在一些不一样的地方,我们称为“方言”

2.2 通用语法

  • SQL 语句可以单行或多行书写,以分号结尾。

MySQL基础:通过SQL对数据库进行CRUD_sql_05

如上,以分号结尾才是一个完整的sql语句。

  • MySQL 数据库的 SQL 语句不区分大小写,关键字建议使用大写。
    同样的一条sql语句写成下图的样子,一样可以运行处结果。

MySQL基础:通过SQL对数据库进行CRUD_sql_06

  • 注释
  • 单行注释: – 注释内容 或 #注释内容(MySQL 特有)

MySQL基础:通过SQL对数据库进行CRUD_mysql_07

MySQL基础:通过SQL对数据库进行CRUD_sql_08

> 注意:使用-- 添加单行注释时,--后面一定要加空格,而#没有要求。

  • 多行注释: /* 注释 */

2.3 SQL分类

  • DDL(Data Definition Language) : 数据定义语言,用来定义数据库对象:数据库,表,列等
    DDL简单理解就是用来操作数据库,表等

MySQL基础:通过SQL对数据库进行CRUD_MySQL_09

  • DML(Data Manipulation Language) 数据操作语言,用来对数据库中表的数据进行增删改
    DML简单理解就对表中数据进行增删改

MySQL基础:通过SQL对数据库进行CRUD_SQL_10

  • DQL(Data Query Language) 数据查询语言,用来查询数据库中表的记录(数据)
    DQL简单理解就是对数据进行查询操作。从数据库表中查询到我们想要的数据。
  • DCL(Data Control Language) 数据控制语言,用来定义数据库的访问权限和安全级别,及创建用户
    DML简单理解就是对数据库进行权限控制。比如我让某一个数据库表只能让某一个用户进行操作等。

注意: 以后我们最常操作的是 ​​DML​​​ 和 ​​DQL​​ ,因为我们开发中最常操作的就是数据。

三、DDL:操作数据库

我们先来学习DDL来操作数据库。而操作数据库主要就是对数据库的增删查操作。

3.1 查询

查询所有的数据库

SHOW DATABASES;

运行上面语句效果如下:

MySQL基础:通过SQL对数据库进行CRUD_数据库_11

上述查询到的是的这些数据库是mysql安装好自带的数据库,我们以后不要操作这些数据库。

3.2 创建数据库

  • 创建数据库

CREATE DATABASE 数据库名称;

运行语句效果如下:

MySQL基础:通过SQL对数据库进行CRUD_sql_12

而在创建数据库的时候,我并不知道db1数据库有没有创建,直接再次创建名为db1的数据库就会出现错误。

MySQL基础:通过SQL对数据库进行CRUD_MySQL_13

为了避免上面的错误,在创建数据库的时候先做判断,如果不存在再创建。

  • 创建数据库(判断,如果不存在则创建)

CREATE DATABASE IF NOT EXISTS 数据库名称;

运行语句效果如下:

MySQL基础:通过SQL对数据库进行CRUD_sql_14

从上面的效果可以看到虽然db1数据库已经存在,再创建db1也没有报错,而创建db2数据库则创建成功。

3.3 删除数据库

  • 删除数据库

DROP DATABASE 数据库名称;

  • 删除数据库(判断,如果存在则删除)

DROP DATABASE IF EXISTS 数据库名称;

运行语句效果如下:

MySQL基础:通过SQL对数据库进行CRUD_mysql_15

3.4 使用数据库

数据库创建好了,要在数据库中创建表,得先明确在哪儿个数据库中操作,此时就需要使用数据库。

  • 使用数据库

USE 数据库名称;

  • 查看当前使用的数据库

SELECT DATABASE();

运行语句效果如下:

MySQL基础:通过SQL对数据库进行CRUD_数据库_16

以上是关于MySQL基础:通过SQL对数据库进行CRUD的主要内容,如果未能解决你的问题,请参考以下文章

MySQL基础:通过SQL对表数据进行CRUD,万字实际案例手把手教程

JDBC:从CRUD开始,理解JDBC中的各个对象作用,掌握Druid的使用

MySQL高级:以实际案例掌握事务操作

MySQL高级:重点掌握多表查询操作

Maven从安装到手把手教学进行项目管理

MySQL高级:掌握表关系及建表原则