專門教ps的網(wǎng)站千峰培訓(xùn)可靠嗎?
創(chuàng)建、查看與刪除表
在數(shù)據(jù)庫中創(chuàng)建一個(gè)表,使用如下代碼:
create table streets (id serial not null primary key, name varchar(50));
這里的表名是streets,id是主鍵所以非空,采用serial數(shù)據(jù)類型,這個(gè)數(shù)據(jù)類型會(huì)自動(dòng)編號(hào)填充上整數(shù);另一個(gè)字段是name,類型為字符,長度50。如果要查看表的架構(gòu)和表的內(nèi)容,可以使用如下代碼:
#查看架構(gòu)
\d streets
#查看內(nèi)容
SELECT * FROM streets;
刪除表使用drop
命令。
DROP TABLE 表名;
創(chuàng)建 鍵和索引
在創(chuàng)建一個(gè)shreets表后,我們還需要?jiǎng)?chuàng)建一個(gè)people表。people表包括ID、電話號(hào)碼、家庭住址、姓名等字段,這個(gè)表中的家庭住址(street)依賴于streets表,因此在 創(chuàng)建people表時(shí)需要添加外鍵約束。
CREATE TABLE people (id serial not null primary key,name varchar(50),house_no int not null,street_id int references streets(id) not null,phone_no varchar null);
\d people
查看表結(jié)構(gòu),可以看到存在外鍵約束。
如果是先創(chuàng)建了people表,那么可以通過alter table
方式添加外鍵約束。
ALTER TABLE people ADD CONSTRAINT people_streets_fk FOREIGN KEY (street_id) REFERENCES streets(id);
如果需要修改約束,可以使用先刪除、后新建的方式進(jìn)行。
ALTER TABLE 表名 DROP CONSTRAINT 約束名;
在上面的圖中,可以看到已經(jīng)存在一個(gè)主鍵btree索引,也可以在name屬性新建索引。
CREATE INDEX people_name_idx ON people(name);