一、MySQL相关终端命令
MySQL服务启动与停止、连接
#启动
#windows启动与停止 命令行指令、命令管理器手动启动停止
#以管理员方式运行cmd,输入以下命令
net start mysql
net stop mysql #停止mysql服务
#linux启动与停止
systemctl start mysqld 或 service mysqld start
systemctl stop mysqld 或 service mysqld stop
systemctl restart mysqld 或 service mysqld restart
ps -ef | grep mysqld #检查MySQL服务器是否启动
#mysql连接
mysql -u 用户名 -p
常用sql命令
show databases; #查询所有数据库
USE 数据库名; #切换到指定的数据库
select database(); #查看当前使用数据库
select user(); #查询当前用户
select version(),current_date; #显示当前mysql版本和当前日期
select now(); #查询时间
exit; 或 quit; #关闭当前连接
###数据库操作 (root用户拥有最高权限)
create database 数据库名;
drop database 数据库名;
###数据表
show tables; #显示指定数据库的所有表,使用该命令前需要使用 use 命令来选择要操作的数据库
drop table tb_name; #删除表
delete from tb_name; #清空表
show create table 表名; #查看该表的建表语句
describe table_name; 或 desc 表名; #表的详细描述,显示表结构及字段
#显示数据表的属性,属性类型,主键信息 ,是否为 NULL,默认值等其他信息
show columns from 数据表;
#显示数据表的详细索引信息,包括PRIMARY KEY(主键)
show index fromM 数据表;
alter table 表名 add/modify/change/drop/rename to ...; #修改表结构
create table table_name (column_name column_type);
create table if not exists 'runoob_tbl'(
'runoob_id' INT UNSIGNED AUTO_INCREMENT,
'runoob_title' VARCHAR(100) NOT NULL,
'runoob_author' VARCHAR(40) NOT NULL,
'submission_date' DATE,
PRIMARY KEY ( 'runoob_id' )
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
###数据
#如果数据是字符型,必须使用单引号或者双引号,如:"value"
insert into 表名(column1,column2,...) values(value1,value2,...);
insert into table_name ( field1, field2,...fieldN )
values
( value1, value2,...valueN );
update table_name set field1=new-value1, field2=new-value2 [where clause];
delete from table_name [where clause];
select * from 表名 where condition;
导入导出数据
1.2.1 常见导入导出
#备份恢复整个数据库
mysqldump -u 用户名 -p 数据库名 > /back/backup.sql
mysql -u 用户名 -p 数据库名 < /back/backup.sql
#备份恢复 单个数据库的某些表
mysqldump -u 用户名 -p 数据库名 表名 [表2 表3] > C:\Users\87\backup.sql
mysql -u 用户名 -p 数据库名 < C:\Users\87\backup.sql
1.2.2 常见导出方法
[root@localhost ~]# mysqldump -help
Usage: mysqldump [OPTIONS] database [tables]
OR mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
OR mysqldump [OPTIONS] --all-databases [OPTIONS]
所有库、一个库所有表;一个库某张/某些表,表数据,表结构
1)db级
#导出所有数据库的全部数据,包括结构和数据
mysqldump -u 用户名 -p -A > 导出的文件名
#仅导出所有db结构
mysqldump -u 用户名 -p -A -d > 导出的文件名
#仅导出所有db数据 不导表结构
mysqldump -u 用户名 -p -A -t > 导出的文件名
#导出多个数据库 结构和数据
mysqldump -u 用户名 -p db1 db2 [db3 ...] -A > filename.sql
#导出单个数据库的所有数据,包括结构和数据
mysqldump -u 用户名 -p 数据库名 > 导出的文件名
#仅导出单个数据库的结构
mysqldump -u 用户名 -p 数据库名 -d> 导出的文件名
#仅导出单个数据库的数据
mysqldump -u 用户名 -p 数据库名 -t> 导出的文件名
2)table级
#导出一个表/多个表,包括表结构和数据
mysqldump -u 用户名 -p 数据库名 表名 [表2 表3] > 导出的文件名
#只导出表结构不导表数据,添加“-d”命令参数
mysqldump -u 用户名 -p 数据库名 [表1...] -d > filename.sql
#只导出表数据不导表结构,添加“-t”命令参数
mysqldump -u 用户名 -p 数据库名 [表1...] -t > d:/user.sql
mysqldump -u root -p db1 student course > C:\Users\87\backup.sql
1.2.3 常见导入方法
- 方式1 系统命令行方法
mysql -u 用户名 -p < 文件
- 方式2 mysql命令行source方法
mysql -u 用户名 -p
mysql>use mydb
mysql>source /back/backup.sql
具体示例
1)导入所有数据库
-
mysql命令行:mysql>source /back/backup.sql
-
系统命令行: mysql -u 用户名 -p < /back/backup.sql
2)导入单个数据库
-
mysql命令行:
mysql>use mydb mysql>source /back/backup.sql
-
系统命令行:
mysql -u 用户名 -p 数据库名 < C:\Users\87\backup.sql
3)导入单个数据库的多个表
-
mysql命令行:
mysql>use mydb mysql>source /back/backup.sql
-
系统命令行:
mysql -u 用户名 -p 数据库名 < C:\Users\87\backup.sql
4)导入多个数据库
- mysql命令行:
mysql>source /back/backup.sql
- 系统命令行:
mysql -u 用户名 -p < /back/backup.sql
二、Redis相关终端命令
Redis启动与停止、连接
#redis服务启动
#进入安装安装目录 使用配置文件的方式启动
cd /usr/local/src/redis/redis-7.0.4/ #先切换到安装目录下
redis-server redis.conf #使用配置文件的方式启动Redis
#或者直接在根目录下
/usr/local/src/redis/redis-7.0.4/redis-server /usr/local/src/redis/redis-7.0.4/redis.conf
#客户端连接redis服务
redis-cli -h host -p port
#若为本地redis,端口号为6379未修改 可直接使用redis-cli进行连接
redis-cli
#停止redis服务
# 法一 系统命令行,正常关闭、数据保存
redis-cli -a password shutdown
#法二 redis命令行 redis-cli连接redis服务后,在redis命令行输入shutdown
127.0.0.1:6379> shutdown
#法二 强制结束进程,断电、非正常关闭,容易数据丢失
ps -ef | grep redis-server
kill -9 redis_pid
Redis常用命令
#基础命令
ping #心跳命令,若看到PONG响应,说明客户端与Redis的连接正常
select 1 //切换数据库。切换到1号库:select 目标库下标。redis默认有16个库,下标从0开始,默认在0号库
dbsize #查看当前数据库大小,也就是key的数量(dbsize)
shutdown #关闭redis服务
quit 或exit #关闭当前连接
flushdb #清空当前库中所有数据
flushall #清空所有库中数据
#key相关操作命令
keys * #获取所有的键
keys pattern #查找所有符合给定模式(pattern)的key
set key value
get key
exists key #检查给定key是否存在
type key #返回key所存储的值的类型
del key1 key2 ... #该命令用于在key存在时删除key
unlink key #选择非阻塞删除,刚开始没有删除,后续才会删除;
move key db #将当前数据库的 key 移动到给定的数据库db当中
rename key newkey #修改 key 的名称;
expire key1 seconds #为key设置过期时间
ttl key #查看给定key的剩余生存时间(还有多久删除),以秒为单位。-2表示已经过期,-1表示永不过期
persist key #移除key的过期时间,key将持久保存
randomkey #从当前数据库中随机返回(不删除)一个key