码迷,mamicode.com
首页 > 数据库 > 详细

postgreDB之学习笔记(一)

时间:2016-07-14 15:40:01      阅读:322      评论:0      收藏:0      [点我收藏+]

标签:

摘要

postgre作为开源数据库中的翘楚,体量虽小但功能完善且强大,比之Mysql毫不逊色,在高校学生群体中备受欢迎,特别适合初学者用来学习数据库。本文主要介绍postgre的一些比较基本的命令和用法,至于比较高级的用法,会在后续博文中进行阐述。希望这篇博文会对路过的朋友有所帮助。

  • 基本命令
  • DDL
  • DML
  • DCL

目录

基本命令

掌握 postgre基本命令是学习postgreDB的前提。

  • 基本命令一览表
命令 功能
\l 查看数据库
\du 查看用户/角色
\dt 查看数据表
\c 查看当前的数据库和用户
\c db 切换至数据库db
\encoding 查看字符集
\select version(); 查看数据库的版本
  • 基本命令实现

1、查看数据库
技术分享

2、查看用户/角色
技术分享

3、查看数据表
技术分享

4、查看当前连接的数据库和登陆的用户
技术分享

5、切换至数据库db
技术分享

6、查看字符集
技术分享

7、查看数据库版本
技术分享

DDL(数据定义语言)

DDL数据定义语言是数据库学习的基础内容,它包括create、alter、drop、comment、grant、revoke等内容。这里主要介绍一些基本用法。

  • 主要用法实现
create user linger with password ‘xxxxxx‘;  //创建用户

技术分享

drop user linger; //删除用户

技术分享

alter user linger with password ‘xxxxxx‘; //更改用户密码

技术分享

create database DB; //创建数据库DB

技术分享

drop database DB; //删除数据库

技术分享

create table teacher(
   Tno varchar(10),
   Tname varchar(10) unique not null,
   Tsex char(2) check(Tsex in(‘男‘,‘女‘)),
   Tage smallint,
   constraint C1 primay key(Tno)
   );     //创建数据表

技术分享

alter table teacher add column Location char(10); //修改数据表

技术分享

drop table test;//删除数据表

技术分享

create view v(sno,sname,sdept) as sno,sname,sdept from student; //创建视图

技术分享

create or replace view v as select sno,sname,sdept from student where sdept!=‘MA‘; //修改视图

技术分享

drop view v; //删除视图

技术分享

grant all privileges on database weibo to linger;
revoke all privileges on database weibo from linger; //分配、释放权限

技术分享

alter user linger valid until ‘2016-08-08‘; //给定用户的有效日期

技术分享
技术分享

create role father login nosuperuser nocreatedb nocreaterole noinherit encrypted password ‘xxxxxx‘; //创建组角色

技术分享

create role son1 login nosuperuser nocreatedb nocreaterole inherit encrypted password ‘xxxxxx‘;
grant father to son1; //创建成员角色并分配权限(一)

技术分享

create role son2 login nosuperuser nocreatedb nocreateroel inherit encrypted password ‘xxxxxx‘ in role father; //创建成员角色并分配权限(二)

技术分享
技术分享

DML(数据操作语言)

DDL数据操作语言是数据库学习的主要内容,它包括select、insert、delete、update、call、explain plan、lock table等内容。这里主要介绍一些基本用法。

  • select基本用法
SELECT [ ALL | DISTINCT | DISTINCT ON (distinct_expressions) ]
expressions
FROM tables
[WHERE conditions]
[GROUP BY expressions]
[HAVING condition]
[ORDER BY expression [ ASC | DESC | USING operator ] [ NULLS FIRST | NULLS LAST ]]
[LIMIT [ number_rows | ALL]
[OFFSET offset_value [ ROW | ROWS ]]
[FETCH { FIRST | NEXT } [ fetch_rows ] { ROW | ROWS } ONLY]
[FOR { UPDATE | SHARE } OF table [ NOWAIT ]]; //这归纳了select几乎所有的用法,由于select用法极其复杂,下面只给出一些比较常见的用例。关于比较高级的用法我会在后续博客中进行详细分析。
select sno,sname,ssex,sdept from student where sage<20 or sdept=‘MA‘;  //条件查询

技术分享

select * from student where sage<20 union select * from student where sdept=‘MA‘; //集合查询

技术分享

select sno,sname from student where sno in(select sno from student where sdept=‘MA‘); //嵌套查询
  • update基本用法
UPDATE table
SET column1 = expression1 | DEFAULT,
    column2 = expression2 | DEFAULT,
    ...
[WHERE conditions]; //update用法很简单
update student set sname=‘李勇‘ where sno=‘01‘;
update student set sname=‘王芳‘ where sno=‘02‘;
update student set sname=‘张立‘ where sno=‘03‘;
update student set sname=‘王敏‘ where sno=‘04‘;
update student set sname=‘刘晨‘ where sno=‘05‘;
update student set sname=‘黎勇‘ where sno=‘06‘;
select * from student;

技术分享
技术分享

  • delete基本用法
DELETE FROM table
[WHERE conditions]; //delete也很简单
delete from student where sno=‘06‘;

技术分享

  • insert基本用法
INSERT INTO table
(column1, column2, ... )
VALUES
(expression1 | DEFAULT, expression2 | DEFAULT, ... ),
(expression1 | DEFAULT, expression2 | DEFAULT, ... ),
...; //增删查改四种操作,只有select比较复杂,别的都很简单。
insert into student values(‘06‘,‘李伟‘,‘M‘,18,‘IS‘);

技术分享

  • explain plan用法
explain select sno,sname from student where sage<20 and sdept=‘MA‘;

技术分享

postgreDB之学习笔记(一)

标签:

原文地址:http://blog.csdn.net/linga_x/article/details/51906152

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!