2.4. 向PostgreSQL表中添加行

INSERT 语句用于向表中添加行:

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

请注意所有数据类型都使用了相当明了的输入格式。那些不是简单数字值的常量必需用单引号()包围,就像在例子里一样。date 类型实际上对可接收的格式相当灵活,不过在本教程里,我们应该坚持使用这里显示的格式。

point 类型要求一个座标对作为输入,如下:

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 命令就是为这类应用优化的,只是比 INSERT 少一些灵活性。比如:

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

这里源文件的文件名必须是后端服务器可访问的,而不是客户端可访问的,因为后端服务器直接读取文件。你可以在 COPY 中读到更多有关 COPY 命令的信息。

更多信息参考http://www.infocool.net/PostgreSQL/index.htm

时间: 2024-10-08 07:00:18

2.4. 向PostgreSQL表中添加行的相关文章

Postgresql 数据在一张表中存在,另一张表不满足完整性的查找

有两张表T1,T2,表结构和数据如下: create table t1 ( id int ); create table t2 ( id int, finished int ); insert into t1 values (1); insert into t1 values (2); insert into t1 values (3); insert into t1 values (4); insert into t1 values (5); insert into t1 values (6)

PostgreSQL数据库中获取表主键名称

PostgreSQL数据库中获取表主键名称 一.如下表示,要获取teacher表的主键信息: select pg_constraint.conname as pk_name,pg_attribute.attname as colname,pg_type.typname as typename from pg_constraint inner join pg_class on pg_constraint.conrelid = pg_class.oid inner join pg_attribute

PostgreSQL表空间、数据库、模式、表、用户/角色之间的关系

看PostgreSQL9的官方文档,我越看越迷糊,这表空间,数据库,模式,表,用户,角色之间的关系怎么在PostgreSQL里这么混乱呢?经过中午的一个小实验,我逐渐理清了个中来龙去脉.下面我来还原我的试验,并循序讲清其中关系. 首先,实验出角色与用户的关系    在PostgreSQL中,存在两个容易混淆的概念:角色/用户.之所以说这两个概念容易混淆,是因为对于PostgreSQL来说,这是完全相同的两个对象.唯一的区别是在创建的时候: 1.我用下面的psql创建了角色kanon:   CRE

PostgreSQL表空间、模式、表、用户/角色之间的关系

PostgreSQL表空间.模式.表.用户/角色之间的关系是本文我们主要要介绍的内容,表空间,数据库,模式,表,用户,角色之间的关系到底是怎样的呢?接下来我们就开始介绍这一过程. 实验出角色与用户的关系 在PostgreSQL中,存在两个容易混淆的概念:角色/用户.之所以说这两个概念容易混淆,是因为对于PostgreSQL来说,这是完全相同的两个对象.唯一的区别是在创建的时候: 1.我用下面的psql创建了角色kanon:CREATE ROLE kanon PASSWORD 'kanon';接着

选取不在另一张表中记录的方法及优化

假设我们想从A表中选择一些记录,记录中的部分字段的取值是B表所不存在的,这里定义A表为源表,B表为参照表.例如,常见的例子部门表(Department)作为源表,员工表(Employee)作为参照表,可以从部门表中列举出那些员工表中所不包含的部门id来,即找出那些没有员工的部门.    一般类来说,如果数据库支持集合操作符,就可以直接查询,如果没有,就使用子查询.(1)DB2 and PostgreSQL:select deptno from deptexceptselect deptno fr

MSSQL之三 在表中操纵数据

创建了数据库和表之后,下一步是在数据库中存储数据.作为一个数据库开发人员,你将需要修改或删除数据.你可以通过使用Transact-SQL的数据操纵语言(DML)语句来完成这些数据操纵. 本章讨论如何使用DML语句来操纵表中的数据. 重点 ?      插入数据 ?      更新数据 ?      删除表中数据 预习功课 ?        插入部分数据 ?        批量插入数据 ?        在表中更新数据 ?        从表中删除数据 使用DML语句操纵数据 在表中存储数据 表创

postgresql开发中可能有用的知识

一.PostgreSQL中可以直接对时间进行加减运算: 查询系统当前时间: select now();或者select current_timestamp; SELECT now()::timestamp + '1 year';  --当前时间加1年SELECT now()::timestamp + '1 month';  --当前时间加一个月SELECT now()::timestamp + '1 day';  --当前时间加一天SELECT now()::timestamp + '1 hou

DELETE - 删除一个表中的行

SYNOPSIS DELETE FROM [ ONLY ] table [ WHERE condition ] DESCRIPTION 描述 DELETE 从指明的表里删除满足 WHERE 子句的行. 如果 WHERE 子句不存在, 效果是删除表中所有行.结果是一个有效的空表. Tip: 提示: TRUNCATE [truncate(7)] 是一个 PostgreSQL 扩展, 它提供一个更快的从表中删除所有行的机制. 缺省时 DELETE 将删除所声明的表和所有它的子表的记录. 如果你希望只更

在一个SQL Server表中的多个列找出最大值

在一个SQL Server表中一行的多个列找出最大值 有时候我们需要从多个相同的列里(这些列的数据类型相同)找出最大的那个值,并显示 这里给出一个例子 IF (OBJECT_ID('tempdb..##TestTable') IS NOT NULL) DROP TABLE ##TestTable CREATE TABLE ##TestTable ( ID INT IDENTITY(1,1) PRIMARY KEY, Name NVARCHAR(40), UpdateByApp1Date DATE