cen's blog cen's blog
首页
  • 编程文章

    • markdown使用
  • 学习笔记

    • C++学习
    • C++数据结构
    • MySQL
    • Linux
    • 网络编程
算法
  • Git
  • ProtoBuf
  • 分类
  • 标签
  • 归档
关于
GitHub (opens new window)

cen

十年饮冰,难凉热血
首页
  • 编程文章

    • markdown使用
  • 学习笔记

    • C++学习
    • C++数据结构
    • MySQL
    • Linux
    • 网络编程
算法
  • Git
  • ProtoBuf
  • 分类
  • 标签
  • 归档
关于
GitHub (opens new window)
  • MySQL的安装
  • 数据库基础
    • 数据库的概念
    • 连接服务器
    • SQL 分类
    • 存储引擎
    • 用户管理
      • 创建用户
      • 删除用户
    • 权限管理
      • 授予权限
      • 查看权限
      • 回收权限
  • 库的操作
  • 表的操作
  • MySQL数据类型
  • 表的约束
  • 表的增删查改
  • 内置函数
  • 复合查询
  • 内外连接
  • 索引特性
  • MySQL
cen
2025-02-20
目录

数据库基础

# 数据库的概念

数据库是按照数据结构来组织、存储和管理数据的仓库,是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。

数据库的存储介质:

  • 磁盘
  • 内存

# 连接服务器

mysql -h 127.0.0.1 -P 3306 -u root -p
1
  • -h: 表示你要连接的 MySQL 服务器所在的主机,127.0.0.1 表示本主机。
  • -P: 表示你要连接的 MySQL 服务器所对应的端口号,一般默认是 3306。
  • -u: 表示用哪一个用户连接 MySQL 服务器,root 表示超级用户。
  • -p: 表示该用户对应的密码,密码可以直接跟在-p 后面,也可以回车后输入

# SQL 分类

SQL(Structured Query Language,结构化查询语言)是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。

SQL 语句可分为如下三类:

  • DDL(Data Definition Language)数据定义语言,用来维护存储数据的结构。比如 create 语句、drop 语句、alter 语句等。
  • DML(Data Manipulation Language)数据操作语言,用来对数据进行操作。比如 insert 语句、delete 语句、update 语句等。
  • DCL(Data Control Language)数据控制语言,主要负责权限管理和事务。比如 grant 语句、revoke 语句、commit 语句。

说明一下: DML 中又单独分了一个 DQL(Data Query Language)数据查询语言,比如 select 语句、from 语句、where 语句等。

# 存储引擎

存储引擎就是数据库管理系统如何存储数据、如何为存储的数据建立索引、如何更新数据、如何查询数据等技术的实现方法,MySQL 中的存储引擎是插件式的存储引擎,它可以支持多种存储引擎。

查询存储引擎:

mysql> show engines;
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| Engine             | Support | Comment                                                        | Transactions | XA   | Savepoints |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| ndbcluster         | NO      | Clustered, fault-tolerant tables                               | NULL         | NULL | NULL       |
| MEMORY             | YES     | Hash based, stored in memory, useful for temporary tables      | NO           | NO   | NO         |
| InnoDB             | DEFAULT | Supports transactions, row-level locking, and foreign keys     | YES          | YES  | YES        |
| PERFORMANCE_SCHEMA | YES     | Performance Schema                                             | NO           | NO   | NO         |
| MyISAM             | YES     | MyISAM storage engine                                          | NO           | NO   | NO         |
| FEDERATED          | NO      | Federated MySQL storage engine                                 | NULL         | NULL | NULL       |
| ndbinfo            | NO      | MySQL Cluster system information storage engine                | NULL         | NULL | NULL       |
| MRG_MYISAM         | YES     | Collection of identical MyISAM tables                          | NO           | NO   | NO         |
| BLACKHOLE          | YES     | /dev/null storage engine (anything you write to it disappears) | NO           | NO   | NO         |
| CSV                | YES     | CSV storage engine                                             | NO           | NO   | NO         |
| ARCHIVE            | YES     | Archive storage engine                                         | NO           | NO   | NO         |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

# 用户管理

用户信息存储在mysql数据库中user表中:

mysql> select User, Host from user;
+------------------+-----------+
| User             | Host      |
+------------------+-----------+
| mysql.infoschema | localhost |
| mysql.session    | localhost |
| mysql.sys        | localhost |
| root             | localhost |
+------------------+-----------+
4 rows in set (0.00 sec)
1
2
3
4
5
6
7
8
9
10

# 创建用户

CREATE USER '用户名'@'登录主机' IDENTIFIED BY '密码';
1

# 删除用户

DROP USER '用户名'@'登录地址';
1

# 权限管理

新创建的用户没有任何权限,因此创建用户后需要给用户授权。

# 授予权限

GRANT 权限列表 ON 库名.对象名 TO '用户名'@'登录地址' [IDENTIFIED BY '密码'];
1

# 查看权限

show grants for '用户名'@'登录地址'
1

# 回收权限

REVOKE 权限列表 ON 库名.对象名 FROM '用户名'@'登录地址';
1
上次更新: 2025/11/11, 22:03:54
MySQL的安装
库的操作

← MySQL的安装 库的操作→

最近更新
01
动态规划
11-08
02
ProtoBuf
09-28
03
Git
09-28
更多文章>
Theme by Vdoing | Copyright © 2024-2025 京ICP备2020044002号-3 京公网安备11010502056119号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式