標籤:使用 os io 資料 ar art cti amp
建立表
文法:如下
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 在連結資料庫後提示輸入口令。
-? 顯示協助訊息