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

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

时间:2023-01-29 10:36:55浏览次数:57  
标签:语句 创建 数据库 SQL CRUD MySQL 操作


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_SQL

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

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

数据模型:

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

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

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

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

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

MySQL基础:通过SQL对数据库进行CRUD_mysql_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_mysql_06

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

MySQL基础:通过SQL对数据库进行CRUD_数据库_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_数据库_10

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

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

三、DDL:操作数据库

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

3.1 查询

查询所有的数据库

SHOW DATABASES;

运行上面语句效果如下:

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

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

3.2 创建数据库

  • 创建数据库

CREATE DATABASE 数据库名称;

运行语句效果如下:

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

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

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

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

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

CREATE DATABASE IF NOT EXISTS 数据库名称;

运行语句效果如下:

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

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

3.3 删除数据库

  • 删除数据库

DROP DATABASE 数据库名称;

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

DROP DATABASE IF EXISTS 数据库名称;

运行语句效果如下:

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

3.4 使用数据库

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

  • 使用数据库

USE 数据库名称;

  • 查看当前使用的数据库

SELECT DATABASE();

运行语句效果如下:

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

标签:语句,创建,数据库,SQL,CRUD,MySQL,操作
From: https://blog.51cto.com/u_8238263/6025433

相关文章

  • MySql IN 和 EXISTS 的区别
    一、in关键字确定给定的值是否与子查询或列表中的值相匹配。in在查询的时候,首先查询子查询的表,然后将内表和外表做一个笛卡尔积,然后按照条件进行筛选。所以相对内表比......
  • MySql多字段大表的优化方法
    主从同步+读写分离:这个表在有设备条件的情况下,读写分离,这样能减少很多压力,而且数据稳定性也能提高纵向分表:根据原则,每个表最多不要超过5个索引,纵向拆分字段,将部分......
  • MySQL事务Read Committed隔离级别的数据可见性
    预先创建一张表test,表中只有一个字段state。createtabletest(stateintnotnull)engine=InnoDBcharset=utf8mb4;在两个终端中分别开启两个事务:事务的隔离......
  • The GPG keys listed for the "MySQL 5.7 Community Server" repository are already
    报错TheGPGkeyslistedforthe"MySQL5.7CommunityServer"repositoryarealreadyinstalledbuttheyarenotcorrectforthispackage.Checkthatthecorrec......
  • linux系统下安装jdk8/tomcat9/mysql8.0
    这两天学习linux的使用,今天初步安装好了java8和tomcat9,mysql8,记录下安装经历使用Linux系统版本CentOS-7-x86_64-DVD-2009linux有4中软件安装方式;1.二进制发布包安......
  • MySQL-基础
    1、MySQL概述数据库:数据存储的仓库,数据是有组织进行存储数据库管理系统:操纵和管理数据库的大型软件SQL:是关系型数据库的编程语言,定义了一套操作关系型数据库统一标准My......
  • sql 拼接字符串xml转行
    DECLARE@idsVARCHAR(2200)='a,c,d,e,f,g'SELECTc.value('.','varchar(50)')ASid......
  • 7000字MySQL学习手册:整数、小数类型...时间日期类型、增删改查
    文章目录​​前言​​​​一、MySQL入门基础第二天学习​​​​二、开始学习​​​​列类型(字段类型)​​​​无符号标识设定​​​​显示长度​​​​小数类型​​​​浮点......
  • 5天玩转MySQL:数据库概念、SQL介绍、数据库和数据表基本操作、字符表
    数据库概念数据库(Database)是按照数据结构来组织、存储和管理数据的建立在计算机存储设备上的仓库。数据库:存储数据的仓库数据库分类网络数据库网络数据库是指把数据库技术......
  • MySQL笔记01: MySQL入门_1.3 MySQL启动停止与登录
     1.3MySQL启动停止与登录1.3.1MySQL启动与停止MySQL数据库分为客户端和服务器端,只有服务器端服务开启以后,才可以通过客户端登录MySQL服务端。首先,以管理员身份运行......