1、创建数据库
创建数据库mydb:
createdb mydb
删除数据库mydb:
dropdb mydb
登录数据库
psql mydb
2、创建表
CREATE TABLE weather (
city varchar(80),
temp_lo int, -- 最低温度
temp_hi int, -- 最高温度
prcp real, -- 湿度
date date
);
CREATE TABLE cities (
name varchar(80),
location point
);
varchar(80)指定了一个可以存储最长 80 个字符的任意字符串的数据类型。
int是普通的整数类型。
real是一种用于存储单精度浮点数的类型。
date类型是时间。
PostgreSQL支持标准的SQL类型。
point就是一种PostgreSQL特有数据类型的例子。
举例:
CREATE TABLE empsalary (
depname varchar(80),
empno int,
salary real
);
--DROP TABLE empsalary;
SELECT * FROM empsalary;
INSERT INTO empsalary (depname,empno,salary)
VALUES ('develop',11,5200);
INSERT INTO empsalary (depname,empno,salary)
VALUES ('develop',7,4200);
INSERT INTO empsalary (depname,empno,salary)
VALUES ('develop',9,4500);
INSERT INTO empsalary (depname,empno,salary)
VALUES ('develop',8,6000);
INSERT INTO empsalary (depname,empno,salary)
VALUES ('develop',10,5200);
INSERT INTO empsalary (depname,empno,salary)
VALUES ('personnel',5,3500);
INSERT INTO empsalary (depname,empno,salary)
VALUES ('personnel',2,3900);
INSERT INTO empsalary (depname,empno,salary)
VALUES ('sales',3,4800);
INSERT INTO empsalary (depname,empno,salary)
VALUES ('sales',1,5000);
INSERT INTO empsalary (depname,empno,salary)
VALUES ('sales',4,4800);
3、删除某张表
DROP TABLE tablename;
4、在表中添加行
INSERT INTO 表名 VALUES ('列1', 列2, 列3, 列4, '列5');
5、查询表
SELECT * FROM weather;
OR
SELECT 列1,列2,列3 FROM weather;
还可以使用表达式
SELECT city, (temp_hi+temp_lo)/2 AS temp_avg, date FROM weather;
AS子句是如何给输出列重新命名的
WHERE子句包含一个布尔(真值)表达式,只有那些使布尔表达式为真的行才会被返回
select * from weather where city='Hayward';
求返回的查询结果是排好序的
SELECT * FROM weather
ORDER BY city;
在查询的结果中消除重复的行
SELECT DISTINCT city
FROM weather;
6、更新表中的某一行
# UPDATE weather
# SET temp_lo = temp_lo -2,temp_hi = temp_hi-2
# WHERE date > '1994-11-28';
UPDATE 2
7、删除表中某一行数据
DELETE FROM weather WHERE city = 'Hayward';
如果没有一个限制,DELETE将从指定表中删除所有行,把它清空。做这些之前系统不会请求你确认!
DELETE FROM tablename;