数据库命令行

pg

简单命令

列出数据库

\l

切换数据

\c  库名

列出表

\dt

查看表结构

\d    表名

按列展示查询结果

\x
select * from xxxtab;

删除表

drop table   表名;
 create table  calling_xxnfo_202106 (like calling_xxinfo_202012);

1 登录数据库

 psql -h 127.0.0.1 -U 用户名 -d  库名

备份指定库

pg_dump      -h 10.0.10.9  -U aiaas   库名     >   xx.sql

导出单个表

pg_dump -h 127.0.0.1 -U 用户名 -d 库名 -t  表名 -f ./old.sql

恢复单个表

psql -h 127.0.0.1 -U 用户名  -d  库名  -f ./old.sql

仅导出insert 语句

pg_dump -U  用户名 -d  库名  -t  表名   -a  --no-tablespaces  --inserts  -f    insert.sql

导出部分查询内容为 insert 语句

先将查询结果放置在新表

create table export_table as 
select id, name, city
from nyummy.cimory
where city = 'tokyo'
pg_dump --table=export_table --data-only --column-inserts my_database > data.sql

容器内登陆数据库

docker  exec -it pgsql   psql -h 127.0.0.1 -U 用户名 -d  库名

sql 中指定库名

select count(*) from 库名.public.表名;

pg_basebackup 物理备份的恢复

安装工具

sudo yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm

sudo yum install postgresql10 -y

sudo yum install postgresql10-server -y

yum -y install postgresql10-contrib

解压备份文件到 /datta/

tar xzvf /data/xx.tar.gz -C /data/xx_data/

chown postgres:postgres -R /data/xx_data/
chmod 700 -R /data/xx_data/





修改监听地址

grep listen /data/xx_data/postgresql.conf
listen_addresses = '0.0.0.0' # what IP address(es) to listen on;



su postgres
/usr/pgsql-10/bin/pg_ctl -D /data/xx_data/ start
psql -h x.x.x.x -U op -d postgres
用户  的口令:

mysql

查看指定库下所有表的空间占用情况

select * from information_schema.`TABLES` where `TABLE_SCHEMA` = 'homer_data' order by `DATA_LENGTH` desc limit 10;

查看指定库 指定表 占用的空间

select concat(round(DATA_LENGTH/1024/1024,2),'MB') as data from information_schema.tables where TABLE_SCHEMA='homer_data' and TABLE_NAME='sip_capture_rest_20210630';

查看指定库占用的空间

select concat(round(sum(DATA_LENGTH/1024/1024),2),'MB') as data from information_schema.tables where TABLE_SCHEMA='homer_data';

查看所有看占用的空间

 select concat(round(sum(DATA_LENGTH/1024/1024),2),'MB') as data from information_schema.tables;
select concat(round(sum(DATA_LENGTH/1024/1024/1024),2),'GB') as data from information_schema.tables;

容器安装的msyql 导出库

docker exec   -i mysql   mysqldump  -uroot -p'root@123'   dbname  > dbname.sql

updat 语句

update  table_anme   set   字段1='xxx'   where     xxx=195;

查看索引

show  index from   table_name\G

待整理 concat

SELECT CONCAT('TRUNCATE TABLE ', temp.tn, ';') 
FROM (SELECT table_name tn, RIGHT ( table_name, 8 ) 
tnd 
FROM information_schema.TABLES 
WHERE table_schema = 'homer_data' AND LENGTH( table_name ) > 8 ) temp 
WHERE temp.tnd < ( CURRENT_DATE () - 1 );
SELECT CONCAT('DROP TABLE ', temp.tn, ';') 
FROM (SELECT table_name tn, RIGHT ( table_name, 8 ) 
tnd 
FROM information_schema.TABLES 
WHERE table_schema = 'homer_data' 
AND LENGTH( table_name ) > 8 ) temp 
WHERE temp.tnd < ( CURRENT_DATE () - 1 );
update  db.table  set attrs=CONCAT(attrs,';areacode=xx')  where  address='xxx';

mysqldump

mysqldump -u用户名 -p密码 数据库名 表名  > xx.sql

导出指定的insert 语句

mysqldump  --single-transaction -uroot -p'xxx'  -t -w 'id=23'  库名  表名 > /tmp/txt.sql

mysql 导出为csv文件

select  字段1,字段2  from 表名 into outfile '输出路径';

导出多个库 带建库语句

mysqldump -uroot -p'密码' --databases  库名1    库名2  >  xxx.sql

恢复库 无需建库

mysql -uroot -p'密码'   <  xxx.sql

常用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值