记录自己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理解为一个服务。外部客户端与连接器进行连接,每个连接都会形成一个线程。接下来通过解析器和优化器将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;