postgresql入门

下面的步骤都是在windowsxp下完成的

1.安装

 

下载postgresql-9.0.3-2-windows.exe http://www.enterprisedb.com/products-services-training/pgdownload#windows

 

安装时记得设置的密码,默认用户postgres,密码:xxxxxxx

提示默认安装的语言,别选default,我选择的是c

 

测试是否安装成功

先启动服务(开始-》控制面板-》管理工具-》服务-》postgresql-9.0)

 

通过postgre的图形界面工具pgAdmin III,可选中安装时创建的数据库(我创建的叫testDB),右键选择“连接”,输入密码即可看到数据库已经连接上

 

也可通过postgre的命令行交互工具psql,psql -U postgres mydb

帮助psql --help

 

创建表

CREATE TABLE weather (
    city            varchar(80),
    temp_lo         int,           -- low temperature
    temp_hi         int,           -- high temperature
    prcp            real,          -- precipitation
    date            date
);

 

“--”/*为注释

CREATE TABLE cities (
    name            varchar(80),
    location        point
);

point为PostgreSQL特有的类型

 

删除表DROP TABLE tablename;

 

插入数据

INSERT INTO weather VALUES ('San Francisco', 46, 50, 0.25, '1994-11-27');

INSERT INTO cities VALUES ('San Francisco', '(-194.0, 53.0)');

可以明确列出列名(很多人认为这是一种良好的编程风格)

INSERT INTO weather (city, temp_lo, temp_hi, prcp, date)
    VALUES ('San Francisco', 43, 57, 0.0, '1994-11-29');

可以颠倒列的的顺序甚至遗漏某些列

INSERT INTO weather (date, city, temp_hi, temp_lo)
    VALUES ('1994-11-29', 'Hayward', 54, 37);

 

 

可使用copy命令批量插入数据

COPY weather FROM '/home/user/weather.txt';

 

查询

SELECT * FROM weather;

SELECT city, temp_lo, temp_hi, prcp, date FROM weather;

SELECT city, (temp_hi+temp_lo)/2 AS temp_avg, date FROM weather;

SELECT * FROM weather  ORDER BY city; (desc,asc

SELECT * FROM weather ORDER BY city, temp_lo;

SELECT DISTINCT city  FROM weather;

 

 

联合表查询Join

SELECT *
    FROM weather, cities
    WHERE city = name;

 

如果两个表中有相同字段,请指明

SELECT weather.city, weather.temp_lo, weather.temp_hi,
       weather.prcp, weather.date, cities.location
    FROM weather, cities
    WHERE cities.name = weather.city;

 

内连接什么的,此处略。。

 

统计函数

SELECT max(temp_lo) FROM weather;

SELECT city FROM weather
    WHERE temp_lo = (SELECT max(temp_lo) FROM weather);

SELECT city, max(temp_lo)
    FROM weather
    GROUP BY city;

 

SELECT city, max(temp_lo)
    FROM weather
    GROUP BY city
    HAVING max(temp_lo) < 40;

 

SELECT city, max(temp_lo)
    FROM weather
    WHERE city LIKE 'S%'(1)
    GROUP BY city
    HAVING max(temp_lo) < 40;

 

更新

UPDATE weather
    SET temp_hi = temp_hi - 2,  temp_lo = temp_lo - 2
    WHERE date > '1994-11-28';

 

删除

DELETE FROM weather WHERE city = 'Hayward';

 

视图

CREATE VIEW myview AS
    SELECT city, temp_lo, temp_hi, prcp, date, location
        FROM weather, cities
        WHERE city = name;

SELECT * FROM myview;

 

外键

CREATE TABLE cities (
        city     varchar(80) primary key,
        location point
);

CREATE TABLE weather (
        city      varchar(80) references cities(city),
        temp_lo   int,
        temp_hi   int,
        prcp      real,
        date      date
);

 

事务

 一次事务的要点就是它把多个步骤捆绑成了一个单一的,要么全部成功要么全部失败 ,PostgreSQL 实际上把每个 SQL 语句当做在一个事务中执行的来看待。

BEGIN;
UPDATE accounts SET balance = balance - 100.00
    WHERE name = 'Alice';
-- 等等
COMMIT;

一组包围在 BEGINCOMMIT 语句中间的语句有时候被称做事务块

使用 savepoints 的方法,在一个事务里更加精细地控制其中的语句。 保存点允许你有选性地抛弃事务中的某些部分,而提交其它剩下的。

eg:假设我们从 Alice 的帐户上消费 $100.00, 然后给 Bob 的帐户进行贷记加款,稍后我们发现我们应该给 Wally 的账号贷记加款。 那么我们可以像下面这样的保存点来做:

BEGIN;
UPDATE accounts SET balance = balance - 100.00
    WHERE name = 'Alice';
SAVEPOINT my_savepoint;
UPDATE accounts SET balance = balance + 100.00
    WHERE name = 'Bob';
-- 呀!加错钱了,应该用 Wally 的账号
ROLLBACK TO my_savepoint;
UPDATE accounts SET balance = balance + 100.00
    WHERE name = 'Wally';
COMMIT;

 

继承

eg:个表 cities 和一个表 capitals

$$Dianne's horse$$ eg:$function$
$SomeTag$Dianne's horse$SomeTag$ eg:$q$[/t/r/n/v//]$q$

 

数值常量 

位串常量 

CREATE TABLE cities (
    name            text,
    population      real,
    altitude        int     -- (单位是英尺)
);

CREATE TABLE capitals (
    state           char(2)
) INHERITS (cities);

 

SELECT name, altitude
    FROM ONLY cities
    WHERE altitude > 500;

 

cities 前面的 ONLY 指示系统只对 cities 表运行查询,而不包括继承级别中低于 cities 的表(SELECT, UPDATEDELETE 均支持这种用法)

SQL 标识符和关键字必须以一个字母开头 (a-z 以及带可区别标记的字母以及非拉丁字母 )或下划线开头 (_)开头。标识符和关键字里

随后的字符可以是字母,数字(0-9), 或者下划线,但 SQL 标准不会定义包含数字或者以下划线开头或结尾的关键字。

 

常量

字符串常量中嵌入单引号的标准兼容的做法是敲入两个连续的单引号比如,'Dianne''s horse'

两个只是通过至少有一个换行符的空白分隔的字符串常量会被连接在一起,并当做它们是写成一个常量处理。 比如:

SELECT 'foo'
'bar';

等效于

SELECT 'foobar';

SELECT 'foo'      'bar';

是非法的语法,

 

美元符包围字串常量

 

有更详细的,见其它人的

http://blogold.chinaunix.net/u1/42517/article_74182.html

 

http://www.learndiary.com/2006/04/%E4%BD%BF%E7%94%A8psql%E8%BF%9E%E6%8E%A5postgres%E6%95%B0%E6%8D%AE%E5%BA%93%E3%80%82/

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
水资源是人类社会的宝贵财富,在生活、工农业生产中是不可缺少的。随着世界人口的增长及工农业生产的发展,需水量也在日益增长,水已经变得比以往任何时候都要珍贵。但是,由于人类的生产和生活,导致水体的污染,水质恶化,使有限的水资源更加紧张。长期以来,油类物质(石油类物质和动植物油)一直是水和土壤中的重要污染源。它不仅对人的身体健康带来极大危害,而且使水质恶化,严重破坏水体生态平衡。因此各国都加强了油类物质对水体和土壤的污染的治理。对于水中油含量的检测,我国处于落后阶段,与国际先进水平存在差距,所以难以满足当今技术水平的要求。为了取得具有代表性的正确数据,使分析数据具有与现代测试技术水平相应的准确性和先进性,不断提高分析成果的可比性和应用效果,检测的方法和仪器是非常重要的。只有保证了这两方面才能保证快速和准确地测量出水中油类污染物含量,以达到保护和治理水污染的目的。开展水中油污染检测方法、技术和检测设备的研究,是提高水污染检测的一条重要措施。通过本课题的研究,探索出一套适合我国国情的水质污染现场检测技术和检测设备,具有广泛的应用前景和科学研究价值。 本课题针对我国水体的油污染,探索一套检测油污染的可行方案和方法,利用非分散红外光度法技术,开发研制具有自主知识产权的适合国情的适于野外便携式的测油仪。利用此仪器,可以检测出被测水样中亚甲基、甲基物质和动植物油脂的污染物含量,为我国众多的环境检测站点监测水体的油污染状况提供依据。
### 内容概要 《计算机试卷1》是一份综合性的计算机基础和应用测试卷,涵盖了计算机硬件、软件、操作系统、网络、多媒体技术等多个领域的知识点。试卷包括单选题和操作应用两大类,单选题部分测试学生对计算机基础知识的掌握,操作应用部分则评估学生对计算机应用软件的实际操作能力。 ### 适用人群 本试卷适用于: - 计算机专业或信息技术相关专业的学生,用于课程学习或考试复习。 - 准备计算机等级考试或职业资格认证的人士,作为实战演练材料。 - 对计算机操作有兴趣的自学者,用于提升个人计算机应用技能。 - 计算机基础教育工作者,作为教学资源或出题参考。 ### 使用场景及目标 1. **学习评估**:作为学校或教育机构对学生计算机基础知识和应用技能的评估工具。 2. **自学测试**:供个人自学者检验自己对计算机知识的掌握程度和操作熟练度。 3. **职业发展**:帮助职场人士通过实际操作练习,提升计算机应用能力,增强工作竞争力。 4. **教学资源**:教师可以用于课堂教学,作为教学内容的补充或学生的课后练习。 5. **竞赛准备**:适合准备计算机相关竞赛的学生,作为强化训练和技能检测的材料。 试卷的目标是通过系统性的题目设计,帮助学生全面复习和巩固计算机基础知识,同时通过实际操作题目,提高学生解决实际问题的能力。通过本试卷的学习与练习,学生将能够更加深入地理解计算机的工作原理,掌握常用软件的使用方法,为未来的学术或职业生涯打下坚实的基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值