Mysql 常用命令
这篇文章主要记录用到 Mysql 命令。
登陆 mysql 服务器
1 | $ mysql -h 127.0.0.1 -uroot -P 3306 -p |
常用命令
1. 查看所有的数据库 1
show databases;
2. 创建一个叫test的数据库 1
create database test;
3. 删除一个叫test的数据库 1
drop database test;
4. 选中库 1
use test;
5. 查看所有表 1
show tables;
6. 查看表结构 1
desc 表名;
7. 删除表 1
drop table 表名;
8. 查看创建库的详细信息 1
show create databases 库名;
9. 查看创建表的详细信息 1
show create table 表名;
常用查询命令
1. 插入操作 1
insert into 表名(字段1,字段2...) values(值1,值2,....);
2. 删除操作 1
delete from 表名 where 条件;
3. 更新操作 1
update 表名 set字段1 = 值1, 字段2 = 值2 where 条件;
4. 查询操作 1
select 字段 from 表名 where 条件;
5. 关联删除 1
DELETE tablea FROM tablea LEFT JOIN tableb ON tablea.room_id = tableb.room_id WHERE tableb.room_id IS NULL;
导入及导出命令
1. 导出 1
2
3
4
5mysqldump -uroot -p 123456 t_tablea > t_tablea.sql
选项说明:
-u:指定用户
-p:指定密码
2. 导入 1
2
3
4
5
6
7
8mysql -h 192.168.1.118 -uuser -pWGFhJPsqaCRy_H5t -P 3306 -Dtest < proceduces.sql
选项说明:
-h: 指定主机
-u: 指定用户
-p: 指定密码
-P: 指定端口
-D: 指定数据库
用户管理及授权
1. 用户管理 1
2
3# 添加用户,以 root 用户登陆到 mysql
# 格式:create user new_user identified by password;
create user dev identified by '123456';
2. 授权 1
2
3# grant privilegesCode on dbName.tableName to username@host;
grant all privileges on *.* to dev@'%';
flush privileges;
3. 查看用户信息 1
select * from mysql.db where User ='dev'
4. 授权命令说明 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22命令格式:grant privilegesCode on dbName.tableName to username@host;
privilegesCode 表示授予的权限类型,常用的有以下几种类型:
all privileges:所有权限;
select:读取权限;
delete:删除权限;
update:更新权限;
create:创建权限;
drop:删除数据库、数据表权限。
dbName.tableName 表示授予权限的具体库或表,常用的有以下几种选项:
*.*:授予该数据库服务器所有数据库的权限;
dbName.*:授予dbName数据库所有表的权限;
dbName.dbTable:授予数据库 dbName 中 dbTable 表的权限。
username@host 表示授予的用户以及允许该用户登录的IP地址。其中Host有以下几种类型:
localhost:只允许该用户在本地登录,不能远程登录。
%:允许在除本机之外的任何一台机器远程登录。
192.168.7.115:具体的 IP 表示只允许该用户从特定 IP 登录。
flush privileges 表示刷新权限变更。