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