Postgresql 入门学习

自从mysql被Oracle收购之后, Postgresql逐渐成为开源关系型数据库的首选.
关系型数据库:

采用标准sql语句, 进行数据的检索 和 操作;

主要从Ubutnu/Debain apt-get 系列讲解安装Postgresql


1. Install PostGresql

安装PostgreSql客户端

sudo apt-get install postgresql-client

安装PostgreSql服务端

sudo apt-get install postgresql

安装配置信息

基本配置信息在上图均有体现:
. config 配置目录 . data 数据
. locale 本地编码 . port 端口信息


2. 添加新用户 和 新数据库
安装之后,默认生成一个名为postgres的数据库 和 一个 名为 postgres 的数据库用户,  同时还生成了一个postgres的Linux系统用户

    sudo su - postgres    // 登陆到postgres用户
    psql                  // 链接进postgresql数据管理软件  -- 相当使用 postgres 数据库用户

psql 登陆状态

\password  postgres    // 为postgres 数据库用户创建密码

创建数据库用户:
    create user dbuser with password 'dbuser';

创建用户数据库:
    create database dbuserdb owner  dbuser;

权限分配
    grant all privileges on database dbuserdb to dbuser;

psql 创建新用户 以及 创建数据 权限


3. 登陆数据库
sql  -U 用户名  -d 数据库名称  -h ip地址  -p 端口

dbuser用户登陆

当使用当前用户登陆时, 可以省略 -U 标签;


4. 控制台命令:
  • \h 查看SQL语句的解释 \h select
  • \? 查看psql命令列表
  • \l 列出所有数据库
  • \c [database_name] 链接其他数据库
  • \d 列出当前数据库的所有表格
  • \d [table_name]
  • \du 列出所有用户
  • \e 打开文本编辑器
  • \conninfo 列出当前数据库和链接的信息
  • \password 修改用户密码


5. 基本数据库操作:

基本关系型数据库基本通用sql
>
create select insert update alter drop delete 等常用命令

1. #查看表结构
dbuserdb=> \d sysuser
     Table "public.sysuser"
 Column  |         Type          | Modifiers
  ----------+-----------------------+-----------
 id       | integer               |
 username | character varying(30) |
 sigdate  | date                  |



2. #创建表
create table sysuser(id int, username varchar(30), sigdate date);

3. #插入数据
insert into sysuser (id, username , sigdate) values(1, 'Postgres', now());

4. #查询特定条件
dbuserdb=> select * from  sysuser where id=1;
 id | username |  sigdate
----+----------+------------
  1 | Postgres   | 2017-07-12
(1 row)



5. #删除记录
dbuserdb=> delete from sysuser where id=1;
DELETE 1


6. #添加特殊条件
dbuserdb=> alter table sysuser alter column id set not null;
ALTER TABLE
dbuserdb=>
dbuserdb=> \d sysuser;
            Table "public.sysuser"
  Column  |         Type          | Modifiers
----------+-----------------------+-----------
 id       | integer               | not null
 username | character varying(30) |
 sigdate  | date                  |
 eamil    | character varying(20) |


7. #修改表名
dbuserdb=> alter table sysuser rename to systemuser;
ALTER TABLE
dbuserdb=> \d
          List of relations
 Schema |    Name    | Type  | Owner
--------+------------+-------+--------
 public | systemuser | table | dbuser
(1 row)

8. #修改列名
dbuserdb=> alter table systemuser rename COLUMN sigdate to sig_date
dbuserdb-> ;
ALTER TABLE
dbuserdb=>
dbuserdb=> \d systemuser;
          Table "public.systemuser"
  Column  |         Type          | Modifiers
----------+-----------------------+-----------
 id       | integer               | not null
 username | character varying(30) |
 sig_date | date                  |
 eamil    | character varying(20) |


9. #删除字段:
dbuserdb=> alter table systemuser drop column eamil ;
ALTER TABLE
dbuserdb=>
dbuserdb=> \d systemuser
          Table "public.systemuser"
  Column  |         Type          | Modifiers
----------+-----------------------+-----------
 id       | integer               | not null
 username | character varying(30) |
 sig_date | date                  |




10. #更新字段:
dbuserdb=> \d
      List of relations
 Schema |    Name    | Type  | Owner
--------+------------+-------+--------
 public | systemuser | table | dbuser
(1 row)

dbuserdb=> \d systemuser
          Table "public.systemuser"
  Column  |         Type          | Modifiers
----------+-----------------------+-----------
 id       | integer               | not null
 username | character varying(30) |
 sig_date | date                  |

dbuserdb=>
dbuserdb=> select * from systemuser ;
 id | username | sig_date
----+----------+----------
(0 rows)
                                               ^
dbuserdb=> insert into systemuser (id, username , sig_date) values(1, 'Postgres', now());
INSERT 0 1
dbuserdb=>
dbuserdb=>
dbuserdb=> select * from systemuser ;
 id | username |  sig_date
----+----------+------------
  1 | Postgres   | 2017-07-12
(1 row)

dbuserdb=> update systemuser set username = 'wang' where id = 1;
UPDATE 1
dbuserdb=> select * from systemuser ;
 id | username |  sig_date
----+----------+------------
  1 | wang     | 2017-07-12
(1 row)

11. #删除表
dbuserdb=> drop table systemuser ;
DROP TABLE
dbuserdb=>
dbuserdb=> \d
No relations found.
dbuserdb=>
欣赏此文? 求鼓励,求支持!