2020国产成人精品视频,性做久久久久久久久,亚洲国产成人久久综合一区,亚洲影院天堂中文av色

分享

CREATE TABLE、ALTER TABLE、DROP TABLE等,及表內(nèi)列的添加、...

 奶奶熊 2009-11-03
一、CREATE TABLE — 創(chuàng)建一個(gè)新表
CREATE [ TEMPORARY | TEMP ] TABLE table (
    column type
    [ NULL | NOT NULL ] [ UNIQUE ] [ DEFAULT value ]
    [column_constraint_clause | PRIMARY KEY } [ ... ] ]
    [, ... ]
    [, PRIMARY KEY ( column [, ...] ) ]
    [, CHECK ( condition ) ]
    [, table_constraint_clause ]
    ) [ INHERITS ( inherited_table [, ...] ) ]
TEMPORARY
此表只是為這次會(huì)話創(chuàng)建,并且在會(huì)話結(jié)束后自動(dòng)刪除。當(dāng)臨時(shí)表存在時(shí),同名的永久表是不可見(jiàn)的。
table
將要?jiǎng)?chuàng)建的新表的名稱.
column
列/字段名.
type
列/字段類型.這里可以包括數(shù)組的聲明.請(qǐng)參考 PostgreSQL 用戶手冊(cè) 獲取關(guān)于數(shù)據(jù)類型和數(shù)組的詳細(xì)信息.
DEFAULT value
一個(gè)列/字段的缺省值.請(qǐng)參考 DEFAULT 子句獲取更多信息.
column_constraint_clause
可選的列/字段約束子句,聲明一系列整合的約束和測(cè)試,當(dāng)對(duì)表進(jìn)行更新或插入操作時(shí)必須滿足這些約束條件才能成功.每個(gè)約束必須生成一個(gè)布爾式.盡管 SQL92 需要 column_constraint_clause 用于指定某一行,Postgres 允許在用一個(gè)列/字段的約束索引多個(gè)列.請(qǐng)參考列約束子句獲取更多信息.
table_constraint_clause
可選的表(約束) CONSTRAINT 子句,聲明一系列整合的約束,當(dāng)對(duì)表進(jìn)行更新或插入時(shí)必須滿足這些約束.每個(gè)約束必須生成一個(gè)布爾表達(dá)式.可以對(duì)多列使用同一個(gè)約束.一個(gè)表只能聲明一個(gè) PRIMARY KEY 子句;PRIMARY KEY column (表約束)和 PRIMARY KEY (列/字段約束)是互斥的. 請(qǐng)參考表約束子句獲取更多信息.
INHERITS inherited_table
可選的(繼承)INHERITS 子句聲明一系列表名,這個(gè)表將自動(dòng)從這些表繼承所有字段.如果任何繼承域出現(xiàn)的次數(shù)超過(guò)一次,Postgres 將報(bào)告一個(gè)錯(cuò)誤. Postgres 自動(dòng)地允許所創(chuàng)建的表繼承所有其父表的函數(shù).
另外: 函數(shù)的繼承是按照通用Lisp對(duì)象系統(tǒng)(CLOS)的習(xí)慣進(jìn)行的.
CREATE TABLE films (
     code      CHARACTER(5) CONSTRAINT firstkey PRIMARY KEY,
     title     CHARACTER VARYING(40) NOT NULL,
     did       DECIMAL(3) NOT NULL,
     date_prod DATE,
     kind      CHAR(10),
     len       INTERVAL HOUR TO MINUTE
);
詳細(xì)請(qǐng)看:http://www./books/postgresNEW/sql-createtable.htm
二、ALTER TABLE  --  修改表的定義
向表中增加一個(gè) varchar 列:
ALTER TABLE distributors ADD COLUMN address VARCHAR(30);
   對(duì)現(xiàn)存列改名:
ALTER TABLE distributors RENAME COLUMN address TO city;
   更改現(xiàn)存表的名字∶
ALTER TABLE distributors RENAME TO suppliers;
   給一個(gè)表增加一個(gè)檢查約束∶
ALTER TABLE distributors ADD CONSTRAINT zipchk CHECK (char_length(zipcode) = 5);   刪除一個(gè)表和它的所有子表的監(jiān)查約束∶
ALTER TABLE distributors DROP CONSTRAINT zipchk;
   向表中增加一個(gè)外鍵約束:
ALTER TABLE distributors ADD CONSTRAINT distfk FOREIGN KEY (address) REFERENCES addresses(address) MATCH FULL;
   給表增加一個(gè)(多字段)唯一約束∶
ALTER TABLE distributors ADD CONSTRAINT dist_id_zipcode_key UNIQUE (dist_id, zipcode);
   兼容性
SQL92
ADD COLUMN 形式是兼容的, 除了上面說(shuō)的缺?。ㄖ担┖?NOT NULL 約束外。 ALTER COLUMN 形式是完全兼容的。
SQL92 對(duì) ALTER TABLE 聲明了一些附加的 PostgreSQL 目前還不直接支持的功能:
ALTER TABLE table DROP [ COLUMN ] column { RESTRICT | CASCADE }
      從一個(gè)表中刪除一個(gè)列. 目前,要?jiǎng)h除一個(gè)現(xiàn)存的列,表必須重新創(chuàng)建和重新裝載:
CREATE TABLE temp AS SELECT did, city FROM distributors;   
DROP TABLE distributors;
CREATE TABLE distributors (
    did      DECIMAL(3)  DEFAULT 1,
    name     VARCHAR(40) NOT NULL
);
INSERT INTO distributors SELECT * FROM temp;
DROP TABLE temp;程序例子:1if((Drop_column_type.SelectedItem.Text.Trim()=="int")|(Drop_column_type.SelectedItem.Text.Trim()=="datetime"))     {      strsql="ALTER TABLE "+str_table_mc+" ADD "+li_mc+"  " + Drop_column_type.SelectedItem.Text.Trim() + "  "+str_isnull;     }     else     {      strsql="ALTER TABLE "+str_table_mc+" ADD "+li_mc+"  "+Drop_column_type.SelectedItem.Text.Trim()+"("+Txt_column_l.Text.Trim()+")  "+str_isnull;     }     int run;     run=sql.ExecuteNonQuery(strsql);詳細(xì)請(qǐng)看:http://www./pgsqldoc-7.2c/sql-altertable.html三、DROP TABLE — 從數(shù)據(jù)庫(kù)中刪除一個(gè)表
  DROP TABLE name [, ...]
 
輸入
name 要?jiǎng)h除的現(xiàn)存表或視圖.
輸出
DROP 如果命令成功完成,返回此信息. ERROR Relation "name" Does Not Exist! 如果聲明的表或視圖在數(shù)據(jù)庫(kù)中不存在.
描述
DROP TABLE 從數(shù)據(jù)庫(kù)中刪除表或視圖.只有其所有者才能刪除一個(gè)表或視圖.使用 DELETE 一個(gè)表可能沒(méi)有任何行,但不會(huì)被刪除.
如果被刪除的表有從索引,它們將首先被刪除.從索引的刪除將對(duì)所屬表的內(nèi)容沒(méi)有任何影響.
注意
請(qǐng)參考 CREATE TABLE 和 ALTER TABLE 獲取如何創(chuàng)建或更改表的信息.
用法
刪除 films 和 distributors 表:
DROP TABLE films, distributors
兼容性
SQL92
SQL92 為 DROP TABLE 聲明了一些附加的功能:
DROP TABLE table { RESTRICT | CASCADE }
RESTRICT 確保只有不存在相關(guān)視圖或整合約束的表才可以被刪除. CASCADE 任何引用的視圖或整合約束都將被刪除.
小技巧: 目前,要?jiǎng)h除一個(gè)視圖,你必須顯式刪除之
例子:strsql="DROP TABLE "+ str_tab_mc +"";   sql.ExecuteNonQuery(strsql);詳細(xì)看:http://www./engineer/eight/postgrenew/sql-droptable.htm四、表內(nèi)列的修改:ALTER COLUMN ALTER TABLE MyTable ALTER COLUMN NullCOl NVARCHAR(20) NOT NULL如果 ALTER COLUMN 中指定了 NULL 或 NOT NULL,那么必須同時(shí)指定 new_data_type [(precision [, scale ])]。如果不更改數(shù)據(jù)類型、精度和小數(shù)位數(shù),請(qǐng)指定列的這些值的當(dāng)前值例:1、ALTER TABLE "+str_mcc+" ALTER COLUMN "+str_mc+"  "+str_lx+"("+str_cd+")  "+str_null;
本文來(lái)自CSDN博客,轉(zhuǎn)載請(qǐng)標(biāo)明出處:http://blog.csdn.net/fmwind/archive/2006/01/25/588261.aspx

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多