MySQL数据库的常用语法及操作(持续更新中)

实验环境

[root@localhost ~]# cat /etc/redhat-release 
CentOS Linux release 7.9.2009 (Core)
[root@localhost ~]# mysql -V
mysql  Ver 15.1 Distrib 5.5.68-MariaDB, for Linux (x86_64) using readline 5.1
[root@localhost ~]# uname -r
3.10.0-1160.76.1.el7.x86_64

登录

mysql -u root -p

忘记密码

更改密码

更改root用户的密码为newpass

mysql -u root -p
update user set password=password('newpass') where user='root' and host='localhost';
无需登录
mysqladmin -u <用户名> -p password <新密码>

查询

查询收据库

show databases;

查询root用户的授权情况

SHOW GRANTS FOR 'root'@'localhost';

查询mysql数据库下面的所有用户

SELECT user FROM mysql.user;
select user,host from user;

查询mysqls数据库user表下的所有内容

SELECT * FROM mysql.user;

查询student表的构成

describe student;

查询数据库下所有的表

show tables;

切换到student数据库

use student;

查询当前所在数据库

select database();

授权

授权用户shujuku对student具有增删查改的权限

GRANT SELECT, INSERT, UPDATE, DELETE ON student.* TO 'shujuku'@'localhost';

授权用户shujuku具有student数据库所有权限

GRANT all privileges ON student TO 'shujuku'@'localhost';


撤销授权

撤销shujuku用户的所有授权

REVOKE USAGE ON *.* FROM 'shujuku'@'localhost';
REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'shujuku'@'localhost';

增加

创建数据库

create database student;

创建表,名称users,包含name和age列

CREATE TABLE users ( name VARCHAR(255), age INT);

创建用户shujuku密码为passwd@123

CREATE USER 'shujuku'@'localhost' IDENTIFIED BY 'passwd@123';


更改

向users表插入一条数据name和age

insert into users (name,age) values ('小微',23);

删除

删除用户shuju

DROP USER 'shuju'@'localhost';

删除数据库student

drop database student;

其他

刷新权限

FLUSH PRIVILEGES;

恢复数据库

source database_2022-04-16-16-38.sql;

备份和恢复

备份所有的数据库,包括授权信息和所有用户信息

mysqldump -u root -p --all-databases --routines --triggers --events > ~/databack/all-backup.sql

备份单个数据库

mysqldump -uroot -p mysql > ~/mysql.sql
mysqldump -uroot -p student  > /home/alex/student.sql

恢复所有数据库

mysql -u root -p < databack/all-backup.sql


最后编辑于:2023/07/17作者: admin

发表评论