使用数据库
查看数据库版本: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:创建和删除触发器。