创建表
语法:如下
create table table_name (column_name column_type(parametes)options,…);
注意:
⑴ SQL语句对大小写不敏感
⑵ 通常忽略空白—应该使用空白使SQL命令具有更好的可读性。
⑶ 表名和字段不能和SQL的保留字相同
一下示例师范如何创建表cd_collection:
create table cd_collection
(
id int not null,
title varchar(50) not null,
artist varchar(50) not null,
year varchar(50) not null,
rating varchar(50) not null
);
向表中插入数据
语法:如下
按数据库表中列的顺序插入
insert into table_name values(‘value1’, ‘value2’, ‘value3’, …);
不按数据库表中列的顺序出入(特殊插入)
insert into table_name values(column1, column4) values (‘value1’, ‘value2’);
在一条insert语句中填入多行数据,使用如下语法
insert into table_name values(‘value1’, ‘value2’), (‘value3’, ‘value4’);
Notice: value1 and value2 inserted into first column, value3 and value4 inserted into second column.
insert into cd_collection values(9, ‘Nevermind’, ‘ ’Nirvana’, ‘1991’, ’ ’NULL);
如果处于中间位置的列为空,则需要在insert 语句中显式声明为NULL.
从数据库中检索数据
select column1, column2, column3 from table_name where search_criteria;
column1, column2, column3 表明需要返回的列的列名。
如果需要返回所有列,则可以使用通配符*来显示 匹配搜索条件的所有列。
select * from cd_collection;
select title from cd_collection;
select title, year from cd_collection;
select (title||” (“||year||”) ”) as titleyear from cd_collection;
select * from cd_collection where rating =5;
select * from cd_collection where rating =5 and year!=2003;
启动postmaster:
$postmaster –D /usr/local/pgsql/data &
在PostgreSQL中创建数据库
在shell提示符下发出如下命令:
#su – postgres
$createdb database #在不登陆和不使用psql的情况下创建数据库
#create database testdatabase; #在psql里创建数据库
$psql testdatabase; #启动psql程序并链接到testdatabase数据库
在命令行下切换数据库
$\c database_name
在postgres用户下创建允许访问数据库的用户或创建多个新的数据库用户
$createuser pgtest (with password)
y
y
用postgres用户在命令行创建数据库用户
psql testdatabase
create user pgtest(with password);
删除数据库用户
$dropuser pgtest
也可以使用psql登陆到数据库,然后使用drop user 命令
$psql testdatabase
testdatabase=# drop user pgtest;
testdatabase=#\q
在PostgreSQL中授予和撤销特权:GRANT 和 REVOKE语句实现
以下是GRANT语句的语法:
GRANT what_to_grant ON where_to_grant TO user_name;
下面的语句在数据库testdatabase上授予用户pgtest所有的特权
GRANT ALL ON testdatabase TO pgtest;
撤销特权
REVOKE ALL ON testdatabase FROM pgtest;
PostgreSQL命令行客户端
psql可以接受若干参数
-h hostname 链接远程主机hostname(如果数据库服务器不位于本地系统上)
-p n 指定n为客户端应当连接到的端口号。注意这里是小写的p
-U username 以用户username连接数据库
-W 在链接数据库后提示输入口令。
-? 显示帮助消息