记录自己MySQL数据库的学习。


MySQL数据库

  • 一、入门简介
  • 1. 介绍
  • 2. 架构
  • 3. socket
  • 二、SQL
  • 1. SQL语句分类
  • 2. 部分SQL语句详解
  • 2.1 数据控制语言
  • 2.1.1 创建用户
  • 2.1.2 给用户授权
  • 2.1.3 撤销授权
  • 2.1.4 查看权限
  • 2.1.5 删除用户


一、入门简介

1. 介绍

  • MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),使用最常用的数据库管理语言结构化查询语言(SQL)进行数据库管理。
  • MySQL是开放源代码的。
  • MySQL因为其速度、可靠性和适应性而备受关注。MySQL是管理内容最好的选择。

简单来说,MySQL是一种存储结构化数据的关系型数据库,它是开放源代码的,速度快,可靠性高。

2. 架构

mysql需要学习什么 mysql需要什么基础_数据库


可以将MySQL理解为一个服务。外部客户端与连接器进行连接,每个连接都会形成一个线程。接下来通过解析器和优化器将sql语句进行解析与优化,优化后交给存储引擎(innodb、myisam)将数据存入磁盘。

查询缓存即将查询的数据先放在内存中。这样再次查询时可直接从缓存中拿,让查询更有效率。

3. socket

  • 客户端和服务端是使用socket连接的。
  • socket中文翻译是插座,学术名叫做套接字。其实就是计算机和计算机连接的方式。
  • 一个计算机使用IP+端口并使用某种协议就能和另一台计算机的IP+端口连接通信。(TCP/UDP)
  • MySQL使用的默认端口是3306,一个客户端随便使用一个端口就能连接上服务。
  • 服务器的IP+端口是固定的,客户端往往是随机的。

二、SQL

1. SQL语句分类

  • 1.DDL(Data Definition Language):数据定义语言,用来定义数据库对象:库、表、列等。
    功能:创建、删除、修改库和表结构。
  • 2.DML(Data Manipulation Language):数据操作语言,用来定义数据库记录:增、删、改表记录。
  • 3.DCL(Data Control Language):数据控制语言,用来定义访问权限和安全级别。
  • 4.DQL(Data Query Language):数据查询语言,用来查询记录。

2. 部分SQL语句详解

2.1 数据控制语言

2.1.1 创建用户

用户只能在指定ip地址上登录mysql:create user 用户名@IP地址 identified by ‘密码’;

用户可以在任意ip地址上登录:create user 用户名@‘%’ identified by ‘密码’;

create user lcw@'%' identified by '123456';
2.1.2 给用户授权

语法:grant 权限1,…,权限n on 数据库.* to 用户名@IP地址;其中权限1、2、n可以直接用all关键字代替。权限例如:create,alter,drop,insert,update,delete,select。

grant all on test.* to lcw;
2.1.3 撤销授权

语法:revoke 权限1,…,权限n on 数据库.* from 用户名@ip地址;撤销指定用户在指定数据库上的指定权限。
撤销例如:revoke create,delete on mydb.* form user@localhost;表示的意思是撤消user用户在数据库mydb上的create、alter权限。

revoke all on test.* from lcw;
2.1.4 查看权限

查看指定用户的权限:show grants for 用户名@ip地址;

show grants for lcw;
2.1.5 删除用户
drop user lcw;