MySQL+Redis+PostgreSQL+ClickHouse 启动关闭连接常用命令

  • 当没有Navicat、DataGrip等可视化工具时,就需要通过命令行来查看、操作数据库
  • 在日常使用MysSQL、Redis、PostgreSQL、ClickHouse中,会用到很多命令,特此整理记录下

一、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 数据库名 表名 [23] > 导出的文件名 
#只导出表结构不导表数据,添加“-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

三、PostgreSQL相关终端命令

PostgreSQL服务启动与停止、连接

在没有设置环境变量的情况下 需进入pgsql的bin目录

#Windows下启动
#打开“开始”菜单,找到 “PostgreSQL” 文件夹,找到 “pgAdmin” 应用程序,单击该应用程序图标启动PostgreSQL
进入postgresql目录
.\bin\pg_ctl -D data -l logfile start
.\bin\pg_ctl -D data -l logfile stop
注册为本地服务后 可直接通过 net start xx 启动服务
#Linux下启动
su - postgres
/usr/local/pgsql/bin/pg_ctl start -D /usr/local/pgsql/data -l /usr/local/pgsql/logfile

#连接指定服务器上的数据库(-U 用户名)
psql -h IP -p 端口 -U 用户名 -d 数据库名 -W

常用sql命令

select version(); #显示版本信息
\l  #列出所有数据库
\c database_name #切换到指定的数据库
#查看当前使用的数据库
select current_database();
\c #显示当前数据库名称和用户
\conninfo #显示客户端的连接信息
\du #显示所有用户
\dn #显示数据库中的schema
\encoding #显示字符集

#创建数据库
creadb database db_name owner 所属用户 encoding UTF8;
drop database db_name;

\d #列出数据库中所有表
\dt #列出数据库中所有表
\d [table_name] #显示指定表的结构
\di #列出数据库中所有 index
\dv #列出数据库中所有 view
drop table tb_name;  #删除一张表
#插入数据
insert into table_name(column1,column2,...) values(value1,value2,..)
alter table [表名] drop column [字段名];  #删除表中的字段

\i testdb.sql #执行sql文件
\x #扩展展示结果信息,相当于MySQL的\G
\o /tmp/test.txt #将下一条sql执行结果导入文件中
\? #所有命令帮助
\h #sql命令帮助
\q #退出连接

数据备份与恢复

#导出数据
#导出单表数据
pg_dump -h ip -p port -U 用户名 -t table_name -f backup.sql database_name  #sql中数据为copy方式
pg_dump -h ip -p port -U 用户名 -t table_name -f backup.sql --column-inserts database_name  #sql中数据为insert方式,速度慢,便于导入到非PostgreSQL数据库
pg_dump -h ip -p port -U 用户名 -t table_name --column-inserts database_name > backup.sql   #不仅可以使用 -f xx.sql,也可使用 > xx.sql
#导出多个表数据
pg_dump -h ip -p port -U 用户名 -t tb_name1 -t tb_name2 -f backup.sql database_name
#导出整个数据库
pg_dump -h ip -p port -U 用户名 -f backup.sql database_name
#只导出表结构,不导出表数据
pg_dump -h ip -p port -U 用户名 -f backup.sql -s database_name
#只导出数据,不导出表结构
pg_dump -h ip -p port -U 用户名 -f backup.sql -a database_name


#导入数据 执行sql文件
psql -h IP -p port -U 用户名 -W -d db_name < dump/save.sql
psql -h ip -p port -U postgres -d db_name -f xxx.sql 

pg_dump 常用参数
-h host,指定数据库主机名,或者IP
-p port,指定端口号
-U user,指定连接使用的用户名
-W,按提示输入密码
dbname,指定连接的数据库名称,实际上也是要备份的数据库名称。
-a,–data-only,只导出数据,不导出表结构
-c,–clean,是否生成清理该数据库对象的语句,比如drop table
-C,–create,是否输出一条创建数据库语句
-f file,–file=file,指定输出文件或目录名,输出到指定文件中
-n schema,–schema=schema,只转存匹配schema的模式内容
-N schema,–exclude-schema=schema,不转存匹配schema的模式内容
-O,–no-owner,不设置导出对象的所有权
-s,–schema-only,只导致对象定义模式,不导出数据
-t table,–table=table,只转存匹配到的表,视图,序列,可以使用多个-t匹配多个表,不指定具体表则导出整个数据库
-T table,–exclude-table=table,不转存匹配到的表。
–inserts,使用insert命令形式导出数据,这种方式比默认的copy方式慢很多,但是可用于将数据导入到非PostgreSQL数据库。
–-column-inserts,导出的数据有显式列名,以带有列名的 INSERT 命令形式转储数据
数据库名放最后,不指定默认是系统变量PGDATABASE指定的数据库

四、ClickHouse相关终端命令

clickhouse对大小写敏感。

ClickHouse服务启动与停止、连接、备份恢复

#服务启动
clickhouse-server --config-file=/etc/clickhouse-server/config.xml
systemctl restart clickhouse-server   #服务重启
service clickhouse-server restart     #服务重启
systemctl stop clickhouse-server      #服务停止
#click-client连接
clickhouse-client --user 你的账号 --password 你的密码  

#导出数据 可以txt、csv、json格式导出
clickhouse-client -u [用户名] -h [IP] -d [数据库名称] --password [密码] --query="select * from database.table FORMAT CSV" > 文件路径以及文件名称
#导入文件
clickhouse-client -u [用户名] -h [IP] -d [数据库名称] --password [密码] --query="insert into database.table FORMAT CSV" < 文件路径以及文件名称

常用sql命令

#查看数据库。注意:在对数据表操作的时候(新建表或查询),如果不指定数据库名的话 会对default库进行操作
show databases; 
#查看版本信息
select version();                     
#查看当前使用的数据库
select currentDatabase();
#查看数据库用的引擎
show create database db_name;    
create/drop database db_name;
#切换数据库
use db_name;
#退出clickhouse命令行
quit/exit;    

#列出数据库中所有表
show tables;
#查看表结构
desc table_name;
#删除表
drop table if exists table_name;
#改变表结构
alter table [database.]table add|drop|clear|comment|modify column ...
#添加列
alter table tb1 add column age UInt32 default 0;
#删除列
drop column [if exists] 列名;
#删除user表中出生日期在2000-09-19之前的数据
alter table user delete where bornDate<='2000-09-19 00:00:00';
#清空表数据
truncate table table_name;
select * from table_name where ...;

  • 21
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值