314实验室讲座—postgreSQL

314实验室讲座—postgreSQL

一、讲座时间:

2016/9/1,3:00PM

二、讲座内容:

2.1数据库相关产品介绍

开源产品:mySQL、postgreSQL、sqlite

商业产品:Oracle、SQLServer、DBⅡ

2.2数据库的工作原理的简单介绍(C/S模式)

(摘抄自网络数据库的工作原理

1.客户端请求,服务端(PS:postgreSQL的默认端口为5432)开辟线程相应用户;
2.用户发起SQL语句查询数据库;
3.查询缓存:记录用户的SQL查询语句。如果挨次查询同样内容,就返回缓存;
4.如果缓存没有进入分析器(分析器也可能借鉴缓存);
PS:语法分析器。用户命令语法是否正确。将用户的命令进行切片。一个词一个词。用空格隔开。获得用户要查询的表。内容,权限等。
5.优化:执行路径的选择,生成执行树,每一个SQL语句都有很多执行路径。优化的目的就是在这些执行路径里面,选择一个最优的执行路径;
6.存储引擎:用于管理存储在文件系统。甚至是裸设备上的数据管理程序,它本身给上层应用提供不同的管理,有的支持事务,有的不支持事务。

2.3几个概念的理解

数据库:

数据库服务器:数据库服务器由运行在局域网中的一台/多台计算机和数据库管理系统软件共同构成,数据库服务器为客户应用程序提供数据服务(PS:摘抄自网络百度文库)。

数据库系统:

关系:服务器是提供某种服务的物理设备,可以提供数据存储访问等服务,而这种服务器 可称为数据库服务器。数据库通常指一个程序或系统,属于软件。而数据库服务器 是指专门运行数据库系统的硬件设备,此为二者的关系。

2.4准备postgreSQL

2.4.1下载安装

命令:

2.4.2配置文件

目录/etc/postgresql/9.5/main下有以下几个文件:

environment pg_ctl.conf pg_hba.conf pg_ident.conf postgresql.conf start.conf;

其中需要将该文件g_hba.conf修改权限,将下文中加红部分统一改为trust。

# Database administrative login by Unix domain socket
local   all             postgres                                trust

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# “local” is for Unix domain socket connections only
local   all             all                                     trust
# IPv4 local connections:
host    all             all             127.0.0.1/32            trust
# IPv6 local connections:
host    all             all             ::1/128                 trust

最后restart一下该文件:

2.5使用postgreSQL

2.5.1创建数据库

相关命令:

列出支持的数据库:

创建数据库:

示例:

postgres=# create database test;
CREATE DATABASE

2.5.2操作数据库

相关命令:

创建表:

添加数据:

示例:

postgres=# create table student(
postgres(# name varchar(32),
postgres(# gender char(1),
postgres(# age int,
postgres(# time_created timestamp);
CREATE TABLE

postgres=# insert into student (name,gender,age,time_created) values(‘gaohan’,’F’,21,CURRENT_TIMESTAMP);
INSERT 0 1

普通查询:

有条件查询:

(注意:SQL中不用双引号,双引号有特殊用法)

修改属性:

2.5.3postgreSQL官方文档查询

网址:postgreSQL官网

2.5.4使用.sql文件

创建文件:

将文件导入postgreSQL:

2 Replies to “314实验室讲座—postgreSQL”

发表评论

电子邮件地址不会被公开。 必填项已用*标注

跳至工具栏