做开发,有时候要自己搭建mysql数据库,一些数据库的基本操作不是经常用,经常会忘,记录下供自己以后查阅。
数据库操作,可以选用可视化工具。当前我用的是SQLyog,这个工具停好用的,需要的同学可以下载
链接:https://pan.baidu.com/s/1FMjbzBVAwf8yBxgq2SSmbQ
提取码:y4ix
现在开始正事,mysql常用操作命令,持续更新中。。。
请注意,进入数据后,所有的操作命令后面都需要跟英文字符的分号";",这样才是一条完整的mysql命令
下面为了方便说明,假设在mysql中创建数据库school,并创建student表
1.进入数据库
#mysql -u root -p
或者0
#mysql -u root -pPassword
root为mysql数据库的用户名,-p 参数表示要输入密码。如果输入“mysql -u root -p”回车,会提示输入密码,输入密码后,回车会进入数据库。如果是“mysql -u root -pPassword”回车后直接进入数据库,其中“Password”为root用户的密码。(当然前提是保证用户和密码对应且正确)
2.退出数据库
#exit;
或者
#quit;
或者
ctrl+d
3.创建数据库
#CREATE DATABASE school DEFAULT CHARACTER SET utf8;
school为数据库名称,DEFAULT CHARACTER SET utf8 为设置默认数据库字符集为utf-8,注意字符集写的时候没有“-”,一般数据创建时,还会指定数据库校对规则,如果没有具体指定校对规则,则默认使用指定字符集的默认校对规则。如:CREATE DATABASE school DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
4.查看mysql中所有数据库
#show databases;
5.选择数据库并进入该数据库操作
#use school;
school为数据库名称
6.查看当前所在数据库
#select database();
7.删除数据库
#drop database school;
8.查看数据库运行端口
#show global variables like 'port';
9.查看数据库中包含的所有表
#show tables;
10.创建用户
#CREATE USER 'admin'@'%' IDENTIFIED BY '@123qsH';
admin@'%'的admin为需要创建的用户名,%表示该用户可以在所有主机上登录,@123qsH为admin用户对应的密码。
如果需要指定用户在固定的主机上才能登录,可以使用如下命令:
本地用户登录,并且密码为@123qsH
#CREATE USER 'admin'@'localhost' IDENTIFIED BY '@123qsH';
指定用户在192.168.1.10可以登录数据库,并且密码为@123qsH
#CREATE USER 'admin'@'192.168.1.10' IDENDIFIED BY '@123qsH';
如果指定用户不需要密码登陆服务器
#CREATE USER 'admin'@'%';
11.授权用户对数据库的操作权限
#GRANT ALL ON *.* TO admin@'%';
上面命令指定用户admin在任何主机上都可以登录mysql,且对mysql中的所有数据库都有访问权限。*.*为所有数据库。如果要用户访问固定的数据库,有修改*.*
如:
#GRANT ALL ON school.* TO admin@'%';
指定指定用户admin在任何主机上都可以登录数据库school
12.给Mysql添加远程访问权限的方法
#GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' IDENTIFIED BY '@123qsH' WITH GRANT OPTION;
上面命令授权admin用户在任何主机上都可以登录mysql,并可以访问mysql中的所有数据库。*.*授权所有的数据库,'admin'@'%'为用户在任何主机上登录,@123qsH为admin用户的密码。
13.查看数据库的安装目录
#show variables like "%char%";
14.导入数据库文件(不在mysql中操作)
#mysql -u admin -p@123qsH < school.sql
或者
#mysql -u admin -p < school.sql
school.sql 为数据库文件
15.导出数据库,只有表结构,不包括表数据(不在mysql中操作)
#mysqldump -uadmin -p -d school > school.sql
school数据库名称,school.sql导出的数据库文件名称,导出的文件的路径在当前执行命令的目录下
16.导出数据库包括表数据(不在mysql中操作)
#mysqldump -uroot -p school > school.sql
school数据库名称,school.sql导出的数据库文件名称
17.删除表
#DROP TABLE IF EXISTS `student`;