MySQL数据库管理

使用数据库

查看数据库版本:select version();

结尾:以分号结尾(;),不区分大小写

查看数据库 :show databases;

查看数据库中的表

切到要查看的数据库:use mysql

查看表当前数据库都有哪些表:show tables

在MySQL中,当你执行show databases;命令时,你会看到几个默认的数据库。下面是每个数据库的含义:

information_schema:

这是一个特殊的数据库,提供了关于MySQL服务器上的所有其他数据库的信息。你可以通过查询这个数据库来获取关于数据库、表、列以及权限等的信息。它是只读的,不能被修改。

mysql:

这个数据库包含了MySQL服务器的用户账号和权限信息。例如,用户表user就存储在这个数据库中。它还包含了服务器需要的系统表,比如插件和时区信息。

performance_schema:

这个数据库用于收集数据库服务器性能参数。它可以帮助你监视MySQL服务器的性能,比如查询的执行时间、锁的使用情况等。通过查询这个数据库,你可以获取到关于服务器性能的详细信息。

sys:

sys数据库是一个相对较新的特性,它提供了一系列视图和函数,用于帮助数据库管理员更方便地查询performance_schema和information_schema数据库中的信息。sys数据库的目的是简化性能监控和系统管理任务。

每个数据库都有其特定的用途,并且对于数据库的管理和优化都是非常重要的。

sql语句

sql语言

structured Query Langyage的缩写,即结构化查询语言

关系型数据库的标准语言

用于维护管理数据库

包括数据查询、数据更新、访问控制、对象管理等功能

sql分类

DDL:数据定义 语言
用于创建数据库对象
使用DDL语句新建库,表

创建数据库:create database 数据库名

创建数据表:create table 表名(字段定义)

删除表:drop table [数据库名.] 表名

删除库 :drop database 数据库名

DML:数据操纵语言

DML语句用于对表中的数据进行管理

操作:增删改

查看表结构:describe [数据库名.] 表名

DQL:数据查询语言

克隆

上诉方法, 不会克隆表中数据,所以需要复制表中数据

第二种方法,克隆表结构时,直接克隆数据

对数据库授权

DCL:数据控制语言

授予权限

GRANT 语句:专门用来设置数据库用户的访问权限。当指定的用户名不存在时, GRANT 语句将会创建新的用户;当指定的用户名存在时,GRANT 语句用于修改用户信息

GRANT 权限列表 ON 数据库名 . 表名 TO 用户名 @ 来源地址 [ IDENTIFIED BY ' 密码 ' ]

2.刷新

flush privileges;

授权验证

查看授权

撤销授权

REVOKE 权限列表 ON 数据库名 . 表名 FROM 用户名@来源地址

权限

复制代码
1. ALL PRIVILEGES:拥有所有权限。
复制代码
2. CREATE:创建数据库和表。
复制代码
3. DROP:删除数据库和表。
复制代码
4. DELETE:删除表中的行。
复制代码
5. INSERT:插入数据到表中。
复制代码
6. SELECT:读取表中的数据。
复制代码
7. UPDATE:更新表中的数据。
复制代码
8. GRANT OPTION:将权限授予其他用户。
复制代码
9. RELOAD:重新加载授权表。
复制代码
10. SHUTDOWN:关闭MySQL服务。
复制代码
11. PROCESS:查看MySQL进程。
复制代码
12. FILE:读取和写入文件。
复制代码
13. REFERENCES:创建外键。
复制代码
14. INDEX:创建和删除索引。
复制代码
15. ALTER:修改表结构。
复制代码
16. SHOW DATABASES:查看所有数据库。
复制代码
17. CREATE TEMPORARY TABLES:创建临时表。
复制代码
18. LOCK TABLES:锁定表。
复制代码
19. EXECUTE:执行存储过程。
复制代码
20. CREATE VIEW:创建视图。
复制代码
21. SHOW VIEW:查看视图。
复制代码
22. CREATE ROUTINE:创建存储过程和函数。
复制代码
23. ALTER ROUTINE:修改存储过程和函数。
复制代码
24. EVENT:创建和删除事件。
复制代码
25. TRIGGER:创建和删除触发器。
相关推荐
DCTANT25 分钟前
【原创】国产化适配-全量迁移MySQL数据到OpenGauss数据库
java·数据库·spring boot·mysql·opengauss
程序员岳焱2 小时前
Java 与 MySQL 性能优化:MySQL全文检索查询优化实践
后端·mysql·性能优化
喜欢敲代码的程序员2 小时前
SpringBoot+Mybatis+MySQL+Vue+ElementUI前后端分离版:项目搭建(一)
spring boot·mysql·elementui·vue·mybatis
AI、少年郎3 小时前
Oracle 进阶语法实战:从多维分析到数据清洗的深度应用(第四课)
数据库·oracle
赤橙红的黄3 小时前
自定义线程池-实现任务0丢失的处理策略
数据库·spring
钢铁男儿3 小时前
C# 委托(调用带引用参数的委托)
java·mysql·c#
叁沐3 小时前
MySQL 02 日志系统:一条SQL更新语句是如何执行的?
mysql
DataGear3 小时前
如何在DataGear 5.4.1 中快速制作SQL服务端分页的数据表格看板
javascript·数据库·sql·信息可视化·数据分析·echarts·数据可视化
weixin_438335403 小时前
分布式锁实现方式:基于Redis的分布式锁实现(Spring Boot + Redis)
数据库·redis·分布式
RunsenLIu3 小时前
基于Vue.js + Node.js + MySQL实现的图书销售管理系统
vue.js·mysql·node.js