PostgreSql数据库增删改查以及其他基本命令
基本的增删改查语句先来安装⼀波,我在docker上安装的
#先运⾏docker,我使⽤的是⾃定义的centos+vim镜像
docker run -itd --name pgsql centos-vim /usr/sbin/init
#然后执⾏docker容器
docker exec -it pgsql /bin/bash
#按以下命令安装postgresql数据库
yum install /pub/repos/yum/10/redhat/rhel-7-x86_arch.rpm -y  #更新yum源
#安装数据库
yum install postgresql10-contrib postgresql10-server -y
#初始化数据库
/usr/pgsql-10/bin/postgresql-10-setup initdb
#运⾏postgeesql数据库
systemctl start postgresql-10
#进⼊交互式环境
su - postgres psql
PostgreSql的命令和mysql的命令很相似,我就简单列举⼀些常⽤的语句
1,创建数据库
create database db1;
分号不能丢了
2,切换数据库:
\c db1;
3,创建表
create table test(title varchar(255),content text);
4,展⽰该数据库中所有的数据库,数据表
\l  #展⽰数据库
\dt  #展⽰表
\d 表名  #查看表结构
5,数据的增删改查:
insert into test(title,content) values('news1','this is boom');
select * from test;
update test set title='news2';
delete from test where title='news2';
常⽤的字段类型:
数值型:
interger #整数型
real #浮点型
serial #序列型(⾃增加1的字段)
⽂字型:
char #固定长度⽂本
varchar #可变长度⽂本
text #⼤⽂本类型
布尔型:
boolean #布尔类型
⽇期型:
data #⽇期
time #时间
timestamp #时间戳
特⾊类型:
Array #数组
JSON #json数据类型
XML #xml数据类型
字段约束
not null #⾮空约束
unique #唯⼀性约束
check #字段设置条件
default #字段默认值
primary key #主键约束,⾮空并唯⼀
例:
create table test2(
id seial primary key,  #主键约束
title varchar(255) not null,  #⾮空约束
content text check(length(content)>80),  #字段条件is_draft boolean default TRUE,  #默认值
is_del boolean default FALSE,
create_data timestamp default 'now'
);
事务的使⽤:
⼀般三个关键字
begin
commit
rollback
这⾥总结⼀下:
常⽤psql指令:
\h:查看SQL命令的解释,⽐如\h select。
:查看psql命令列表。
\l:列出所有数据库。
\c [database_name]:连接其他数据库。
\d:列出当前数据库的所有表格。
\d [table_name]:列出某⼀张表格的结构。
\du:列出所有⽤户。
\e:打开⽂本编辑器。
\conninfo:列出当前数据库和连接的信息。
注意:
1,PostgreSQL对表名、字段名都是区分⼤⼩写的。在图形化界⾯可以正常新建。⽤SQL语句的时候需要加双引号,如果jdbc查询等处,记得使⽤转义符号。
2,PostgreSQL在SQL语句中对⼤⼩写是不敏感的 例如 select ID from t_user 和 select id from t_user 都会从t_user这个表中查询id 这个字段。如果要查询⼤写字母的字段,同样要加上双引号:select “ID”
from t_user
在windows的dos窗⼝连接数据库, 默认的⽤户和数据库是postgres
psql -U user -d dbname
\di 查看索引
创建数据库:
create database [数据库名];
删除数据库:
drop database [数据库名];
*重命名⼀个表:
alter table [表名A] rename to [表名B];
*删除⼀个表:
drop table [表名];
*在已有的表⾥添加字段:
alter table [表名] add column [字段名] [类型];
删除表中的字段:
alter table [表名] drop column [字段名];
修改数据库列属性
alter table 表名 alter 列名 type 类型名(350)
重命名⼀个字段:
alter table [表名] rename column [字段名A] to [字段名B];
*给⼀个字段设置缺省值:
alter table [表名] alter column [字段名] set default [新的默认值];
*去除缺省值:
alter table [表名] alter column [字段名] drop default;
在表中插⼊数据:
insert into 表名 ([字段名m],[字段名n],…) values ([列m的值],[列n的值],…);
修改表中的某⾏某列的数据:
update [表名] set [⽬标字段名]=[⽬标值] where [该⾏特征];
删除表中某⾏数据:
delete from [表名] where [该⾏特征];
delete from [表名];–删空整个表
创建表:
create table ([字段名1] [类型1] ;,[字段名2] [类型2],…<,primary key (字段名m,字段名n,…)>;);
\copyright 显⽰ PostgreSQL 的使⽤和发⾏条款
\encoding [字元编码名称]
显⽰或设定⽤户端字元编码
\h [名称] SQL 命令语法上的说明,⽤ * 显⽰全部命令
\prompt [⽂本] 名称
提⽰⽤户设定内部变数
\password [USERNAME]
securely change the password for a user
\q 退出 psql
可以使⽤pg_dump和pg_dumpall来完成。⽐如备份sales数据库:
pg_dump drupal>/opt/Postgresql/backup/1.bak

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。