導航:首頁 > 程序命令 > 命令增加欄位

命令增加欄位

發布時間:2022-07-11 10:44:12

『壹』 如何在SQL2005中用命令行增加欄位,添加數據文件,不允許為空

比如要增加一個usercode
alter table news_user add column usercode
------------------------------------------------------------------------------------------------------------------
ALTER TABLE 表 {ADD ADD{COLUMN 欄位類型 [ (字長)] [NOT NULL] [CONSTRAINT 索引 ] |
ALTER COLUMN 欄位類型 [(字長)] |
CONSTRAINT 多重欄位索引 } |
DROP DROP{COLUMN 欄位 I CONSTRAINT 索引名 } }

ALTER TABLE 語句分為以下幾個部分:

部分 說明
table 欲修改的表之名稱。
field 欲在表內增加或刪除的欄位的名稱。或表內欲被替換的欄位名稱。
type 欄位的數據類型。
size 欄位的字元長度 (文本及二進制欄位)。

-------------------------------------------------------------------------------------------------------------------
附加數據文件,還是問問高手吧

『貳』 如何在VFP表中用命令添加一條欄位

alter
table
<表名>
add
<欄位名>
<欄位類型>
例如

add
table
成績表
add
數學成績
c(8)
意思是在成績表中加一個欄位名叫
數學成績
欄位類型為字元型
寬度為8

『叄』 oracle在某個表中增加欄位的命令是什麼

oracle在某個表中增加欄位的命令是altertable,oracle在某個表中增加欄位的操作步驟如下:

1、首先雙擊oracle可執行文件連接oracle資料庫服務。

『肆』 怎麼給mysql數據表添加欄位

傳統情況

我們先回顧一下,在沒有 "立刻加列" 功能時,加列操作是怎麼完成的。我們也藉此來熟悉一下本期的圖例:

擴展思考題:是否能設計其他的數據格式,取代instant標志位和"列數"欄位,使得 加列/刪列 操作都能 "立刻完成" ?(提示:考慮 加列- 刪列- 再加列 的情況)

使用限制

在了解原理之後,我們來看看"立刻加列"的使用限制,就很容易能理解其中的前兩項:

  • "立刻加列"的加列位置只能在表的最後,而不能加在其他列之間
    在元數據中,只記錄了 數據行 應有多少列,而沒有記錄 這些列 應出現的位置。所以無法實現指定列的位置

  • "立刻加列"不能添加主鍵列
    加列 不能涉及聚簇索引的變更,否則就變成了 "重建" 操作,不是 "立刻" 完成了

  • "立刻加列"不支持壓縮的表格式
    按照 WL 的說法:"COMPRESSED is no need to supported"(沒必要支持不怎麼用的格式)

  • 總結回顧

    我們總結一下上面的討論:

  • "立刻加列" 之所以高效的原因是:

  • 在執行 "立刻加列" 時,不變更數據行的結構

  • 讀取 "舊" 數據時,"偽造"新增的列,使結果正確

  • 寫入 "新" 數據時,使用了新的數據格式(增加了instant 標志位和 "列數" 欄位),以區分新舊數據

  • 讀取 "新" 數據時,可以如實讀取數據

  • "立刻加列"的 "偽造" 手法,不能一直維持下去。當發生與 "立刻加列" 操作不兼容的 DDL時,表數據就會發生重建

  • 回到之前遺留的兩個問題:

  • "立刻加列" 是如何工作的 ?

    我們已經解答了這個問題

  • 所謂 "立刻加列" 是否完全不影響業務,是否是真正的 "立刻" 完成 ?

    可以看到:就算是 "立刻加列",也需要變更 數據字典,那麼 該上的鎖還是逃不掉的。也就是說 這里的 "立刻" 指的是 "不變更數據行的結構",而並非指 "零成本地完成任務"

  • 『伍』 請問要在當前資料庫文件中增加欄位,應使用什麼命令呢謝謝

    alter table 表名 add 新列列名 列數據類型 (添加列)
    alter table 表名 drop 列名 (刪除列)
    alter table 表名 alter column 列名 新添加的數據類型 (修改列)

    『陸』 要想對一個打開的資料庫增加新欄位,應當使用命令 ___________.

    alter table tables
    add 列明 類型

    『柒』 MySQL命令行中給表添加一個欄位(欄位名、是否為空、默認值)

    先看一下最簡單的例子,在test中,添加一個欄位,欄位名為birth,類型為date類型。
    mysql>
    alter
    table
    test
    add
    column
    birth
    date;
    Query
    OK,
    0
    rows
    affected
    (0.36
    sec)
    Records:
    0
    Duplicates:
    0
    Warnings:
    0
    查詢一下數據,看看結果:
    mysql>
    select
    *
    from
    test;
    +------+--------+----------------------------------+------------+-------+
    |
    t_id
    |
    t_name
    |
    t_password
    |
    t_birth
    |
    birth
    |
    +------+--------+----------------------------------+------------+-------+
    |
    1
    |
    name1
    |

    |
    NULL
    |
    NULL
    |
    |
    2
    |
    name2
    |

    |
    2013-01-01
    |
    NULL
    |
    +------+--------+----------------------------------+------------+-------+
    2
    rows
    in
    set
    (0.00
    sec)
    從上面結果可以看出,插入的birth欄位,默認值為空。我們再來試一下,添加一個birth1欄位,設置它不允許為空。
    mysql>
    alter
    table
    test
    add
    column
    birth1
    date
    not
    null;
    Query
    OK,
    0
    rows
    affected
    (0.16
    sec)
    Records:
    0
    Duplicates:
    0
    Warnings:
    0
    居然執行成功了!?意外了!我原來以為,這個語句不會成功的,因為我沒有給他指定一個默認值。我們來看看數據:
    mysql>
    select
    *
    from
    test;
    +------+--------+----------------------------------+------------+-------+------------+
    |
    t_id
    |
    t_name
    |
    t_password
    |
    t_birth
    |
    birth
    |
    birth1
    |
    +------+--------+----------------------------------+------------+-------+------------+
    |
    1
    |
    name1
    |

    |
    NULL
    |
    NULL
    |
    0000-00-00
    |
    |
    2
    |
    name2
    |

    |
    2013-01-01
    |
    NULL
    |
    0000-00-00
    |
    +------+--------+----------------------------------+------------+-------+------------+
    2
    rows
    in
    set
    (0.00
    sec)
    哦,明白了,系統自動將date類型的值,設置了一個默認值:0000-00-00。下面我來直接指定一個默認值看看:
    mysql>
    alter
    table
    test
    add
    column
    birth2
    date
    default
    '2013-1-1';
    Query
    OK,
    0
    rows
    affected
    (0.28
    sec)
    Records:
    0
    Duplicates:
    0
    Warnings:
    0
    mysql>
    select
    *
    from
    test;
    +------+--------+----------------------------------+------------+-------+------------+------------+
    |
    t_id
    |
    t_name
    |
    t_password
    |
    t_birth
    |
    birth
    |
    birth1
    |
    birth2
    |
    +------+--------+----------------------------------+------------+-------+------------+------------+
    |
    1
    |
    name1
    |

    |
    NULL
    |
    NULL
    |
    0000-00-00
    |
    2013-01-01
    |
    |
    2
    |
    name2
    |

    |
    2013-01-01
    |
    NULL
    |
    0000-00-00
    |
    2013-01-01
    |
    +------+--------+----------------------------------+------------+-------+------------+------------+
    2
    rows
    in
    set
    (0.00
    sec)
    看到沒,將增加的birth2欄位,就有一個默認值了,而且這個默認值是我們手工指定的。
    關於MySQL中給表添加一個欄位,本文就介紹這么多,希望對大家有所幫助,謝謝!

    『捌』 mysql 怎麼給一個表一次增加多個欄位

    一、添加欄位的命令如下:alter table tableName add newColumn varchar(8) comment '新添加的欄位'

    (8)命令增加欄位擴展閱讀

    增加欄位注意事項:

    1、在增加欄位的語句中需要注意的是,comment為注釋,就像在java中//作用是一樣的。

    2、comment後需要加單引號將注釋引起來。

    3、創建新表的腳本中,可在欄位定義腳本中添加comment屬性來添加註釋。

    『玖』 資料庫中,增加欄位增加的是欄位名還是在某欄位名下增加欄位

    語法
    alter
    table
    table
    [
    *
    ]
    add
    [
    column
    ]
    column
    type
    alter
    table
    table
    [
    *
    ]
    alter
    [
    column
    ]
    column
    {
    set
    default
    value
    |
    drop
    default
    }
    alter
    table
    table
    [
    *
    ]
    rename
    [
    column
    ]
    column
    to
    newcolumn
    alter
    table
    table
    rename
    to
    newtablealter
    table
    table
    add
    table
    constraint
    definition
    inputs
    table
    試圖更改的現存表的名稱.
    column
    現存或新的列名稱.
    type
    新列的類型.
    newcolumn
    現存列的新名稱.
    newtable
    表的新名稱.
    table
    constraint
    definition
    表的新的約束定義.
    輸出
    alter
    從被更名的列或表返回的信息.
    error
    如果一個列或表不存在返回的信息.
    描述
    alter
    table
    變更一個現存表的定義.add
    column
    形式用與
    create
    table一樣的語法向表中增加一個新列/欄位。alter
    column
    形式允許你從列/欄位中設置或者刪除預設(值)。注意預設(值)只對新插入的行有效。rename
    子句可以在不影響相關表中任何數據的情況下更改一個表或者列/欄位的名稱。因此,表或列/欄位在此命令執行後仍將是相同尺寸和類型。add
    table
    constraint
    definition
    子句用與
    create
    table一樣的語法向表中增加一個新的約束。
    如果要改變表的屬性,你必須是表的所有者.
    注意
    column
    關鍵字是多餘的,可以省略.
    如果"*"跟在一個表名後面,表示該命令要對該表和所有繼承級別低於該表的表進行操作;預設時,該屬性(更改)不會增加到任何子表或修改任何子表的相關名稱。當增加或修改一個上級表(譯註:繼承級別高的表)的屬性時總是應該這樣的。否則,象下面這樣的在繼承級上進行的查詢
    select
    newcolumn
    from
    superclass*
    將不能工作,因為子表會比上級表少一個屬性。
    在目前的實現里,新列/欄位的預設(值)和約束子句會被忽略。你可以隨後用
    alter
    table

    set
    default
    形式設置預設(值)。(你還不得不用
    update
    把已存在行更新為預設值。)
    在目前的實現里,只有
    foreign
    key
    約束可以增加到表中.要創建或者刪除一個唯一約束,可以創建一個唯一索引(參閱
    create
    index).要想增加
    check
    (檢查)約束,你需要重建和重載該表,用的參數是
    create
    table
    命令的其他參數.
    要修改表的結構,你必須是表的所有人。不允許更改系統表結構的任何部分。postgresql
    用戶手冊
    里有關於繼承的更多信息.
    請參考
    create
    table
    部分獲取更多有效參數的描述.
    用法
    向表中增加一個
    varchar
    列:
    alter
    table
    distributors
    add
    column
    address
    varchar(30);
    對現存列改名:
    alter
    table
    distributors
    rename
    column
    address
    to
    city;
    對現存表改名:
    alter
    table
    distributors
    rename
    to
    suppliers;
    向表中增加一個外鍵約束:
    alter
    table
    distributors
    add
    constraint
    distfk
    foreign
    key
    (address)
    references
    addresses(address)
    match
    full

    『拾』 在vf中如何用命令添加新欄位

    alter table
    往表 customer 中添加欄位 fax, 並且允許欄位有空值
    alter table customer add column fax c(20) null

    ALTER TABLE – SQL 命令
    示例 請參閱

    編程方式修改表的結構。

    語法

    ALTER TABLE TableName1
    ADD | ALTER [COLUMN] FieldName1
    FieldType [(nFieldWidth [, nPrecision])]
    [NULL | NOT NULL]
    [CHECK lExpression1 [ERROR cMessageText1]]
    [DEFAULT eExpression1]
    [PRIMARY KEY | UNIQUE]
    [REFERENCES TableName2 [TAG TagName1]]
    [NOCPTRANS]
    [NOVALIDATE]
    — 或者 —
    ALTER TABLE TableName1
    ALTER [COLUMN] FieldName2
    [NULL | NOT NULL]
    [SET DEFAULT eExpression2]
    [SET CHECK lExpression2 [ERROR cMessageText2]]
    [DROP DEFAULT]
    [DROP CHECK]
    [NOVALIDATE]
    — 或者 —
    ALTER TABLE TableName1
    [DROP [COLUMN] FieldName3]
    [SET CHECK lExpression3 [ERROR cMessageText3]]
    [DROP CHECK]
    [ADD PRIMARY KEY eExpression3 TAG TagName2 [FOR lExpression4]]
    [DROP PRIMARY KEY]
    [ADD UNIQUE eExpression4 [TAG TagName3 [FOR lExpression5]]]
    [DROP UNIQUE TAG TagName4]
    [ADD FOREIGN KEY [eExpression5] TAG TagName4 [FOR lExpression6]
    REFERENCES TableName2 [TAG TagName5]]
    [DROP FOREIGN KEY TAG TagName6 [SAVE]]
    [RENAME COLUMN FieldName4 TO FieldName5]
    [NOVALIDATE]

    參數

    TableName1

    指定要修改其結構的表名。

    ADD [COLUMN] FieldName1

    指定要添加的欄位名。單個的表中最多可以有 255 個欄位。 如果一個或更多的欄位允許 null 值, 該限制為 254 個欄位。

    ALTER [COLUMN] FieldName1

    指定要修改的已有的欄位名。

    FieldType [(nFieldWidth [, nPrecision])]

    指定新欄位或待修改欄位的欄位類型、欄位寬度和欄位精度(小數點後的位數)。
    參數 FieldType 是表示欄位數據類型的單個字元。有些欄位類型還需要參數 nFiledWidth 或 nPrecision,或者兩者皆要。
    下表列出了參數 FiledType 的值及其對應參數 nFiledWidth 和 nPression 的取捨情況:

    欄位類型 欄位寬度 精度 說明
    C n – 寬度為 n 的字元欄位
    D – – 日期
    T – – 日期時間
    N n d 寬度為 n 的數值型欄位,小數點後保留 d 位
    F n d 寬度為 n 的浮點型欄位,小數點後保留 d 位
    I – – 整數型
    B – d 雙精度型
    Y – – 貨幣型
    L – – 邏輯型
    M – – 備注型
    G – – 通用型
    P – – 圖象

    對於 D、T、I、Y、L、M、G 和 P 型數據,省略參數 nFieldWidth 和 nPrecision。如果對 N、F 或 B 型數據沒有給出參數 nPrecision 的值,其的默認值為零。

    NULL | NOT NULL

    允許或不允許欄位為空值。
    如果省略 NULL 和 NOT NULL,當前的 SET NULL 設置將決定欄位是否允許為空;並且如果命令中帶有 PRIMARY KEY 或 UNIQUE 子句,當前的 SET NULL 設置不起作用,欄位默認狀況為非空。

    CHECK lExpression1

    指定欄位的有效性規則。lExpression1 為邏輯表達式值,可以是用戶定義的函數或存儲過程。注意:每添加一個空記錄時,都將進行有效性檢查。如果有效性規則不允許添加的記錄中有空欄位值,VisualFoxPro 將產生錯誤信息。

    ERROR cMessageText1

    指定欄位有效性檢查出現錯誤時顯示的錯誤信息。只有在「瀏覽」或「編輯」窗口中修改數據時,此信息才可能顯示。

    DEFAULT eExpression1

    指定欄位默認值。eExpression1 的數據類型必須與欄位的數據類型相同。

    PRIMARY KEY

    創建主索引標識。索引標識與欄位同名。

    UNIQUE

    創建與欄位同名的候選索引標識。有關候選索引的詳細內容,請參閱《開發指南》的第七章「處理表」。

    附註
    候選索引(由 UNIQUE 選項創建,具有在 ALTER TABLE 或 CREATE TABLE 中的 ANSI 兼容性。)與帶 UNIQUE 選項的 INDEX 命令創建的索引不同。用帶 UNIQUE 選項的 INDEX 命令創建的索引允許有重復索引關鍵字,而候選索引不允許有重復索引關鍵字。

    在主索引或候選索引欄位中,不允許有空值和重復記錄。
    如果用 ADD COLUMN 子句創建一個新欄位,若給允許空值的欄位創建主索引或候選索引,VisualFoxPro 不會產生錯誤。但是,如果您試圖往用作主索引或候選索引的欄位中輸入空值或重復值,VisualFoxPro 將產生錯誤信息。
    如果修改已有的欄位和由欄位組成的主索引表達式或候選表達式時,將檢查欄位是否為空值或重復記錄。如果為空值或重復記錄,Visual FoxPro 將產生錯誤,並且不對表進行修改。

    REFERENCES TableName2 TAG TagName1

    指定與之建立永久關系的父表。參數 TAG TagName1 指定父表索引標識,關系建立在此父表索引標識基礎上。索引標識最長為 10 個字。

    NOCPTRANS

    防止對字元串或備注欄位進行代碼頁轉換。如果表轉換到另一代碼頁,指定了 NOCPTRANS 的欄位不進行轉換。NOCPTRANS 只能指定字元欄位和備注欄位。
    下面的例子建立了一個名字為 MYTABLE 的表:該表包括兩個字元欄位和兩個備注欄位。第二個字元欄位 char2 和第二個備注欄位 memo2 包含 NOCPTRANS 以防止轉換。

    CREATE TABLE mytable (char1 C(10), char2 C(10) NOCPTRANS,;
    memo1 M, memo2 M NOCPTRANS)

    ALTER [COLUMN] FieldName2

    指定要修改的已有的欄位名。

    SET DEFAULT eExpression2

    指定已有欄位的新默認值。eExpression2 的數據類型必須與欄位數據類型相同。

    SET CHECK lExpression2

    指字已有欄位新的有效性規則。lExpression2 值必須為邏輯表達式,也可以為用戶自定義函數或已有的過程。

    ERROR cMessageText2

    指定有效性檢查出現錯誤時顯示的錯誤信息。只有在「瀏覽」窗口或「編輯」窗口改變數據時,才可能顯示此信息。

    DROP DEFAULT

    刪除已有欄位的默認值。

    DROP CHECK

    刪除已有欄位的有效性規則。

    DROP [COLUMN] FieldName3

    從表中刪除一個欄位。刪除一個欄位的同時也刪除了欄位的默認值和欄位有效性規則。
    欄位被刪除後,索引關鍵字或引用此欄位的觸發器表達式將變為無效。在這種情況下,刪除欄位並不產生錯誤,但是在運行時刻,無效的索引關鍵字或觸發器表達式將導致錯誤。

    SET CHECK lExpression3

    指定表的有效性規則。lExpression3 必須是邏輯表達式,也可以是用戶自定義函數或已有的過程。

    ERROR cMessageText3

    指定表的有效性檢查出現錯誤時顯示的錯誤信息。只有在「瀏覽」窗口或「編輯」窗口中改變數據值時,才可能顯示此信息。

    DROP CHECK

    刪除表的有效性規則。

    ADD PRIMARY KEY eExpression3 TAG TagName2

    往表中添加主索引,eExpression 指定主索引關鍵字表達式,TagName2 指定主索引標識名,索引標識名最長為 10 個字元。如果省略TAG TagName2 而 eExpression3 是一個欄位,主關鍵索引標識與指定的 eExpression3 同名。

    DROP PRIMARY KEY

    刪除主索引及其標識。因為表只能有一個主關鍵字,所以不必指定關鍵字的名稱。刪除主索引也將刪除所有基於此關鍵字的永久關系。

    ADD UNIQUE eExpression4 [TAG TagName3]

    往表中添加候選索引。eExpression4 指定候選索引關鍵字表達式,TagName3 指定候選索引標識名。候選標識名最長可為 10 個字元。如果省略參數 TAG TagName3 並且 eExpression4 為單個欄位,候選索引標識與 eExpression4 中的指定的欄位同名。

    DROP UNIQUE TAG TagName4

    刪除候選索引及其標識。因為表可能有多個候選關鍵字,所以必須指定候選索引標識名。

    ADD FOREIGN KEY [eExpression5] TAG TagName4

    往表中添加外部關鍵字(非主關字)索引。
    eExpression5 指定外部索引關鍵字表達式,TagName4 指定外部索引標識名。索引標識名最長為 10 個字元。

    REFERENCES TableName2 [TAG TagName5]

    指定在其上創建了永久關系的父表。使用 TAG TagName5 指定一個已有的索引標識,基於此索引標識建立表與父表的一個關系。索引標識名最長可以為 10 個字元。如果省略參數 TAG TagName5,則使用父表的主索引標識建立關系。

    DROP FOREIGN KEY TAG TagName6 [SAVE]

    刪除索引標識為 TagName6 的外部關鍵字。如果省略 SAVE 參數,將從結構索引中刪除索引標識。如果加入 SAVE 參數,則不從結構索引中刪除索引標識。

    RENAME COLUMN FieldName4 TO FieldName5

    允許改變表中欄位的欄位名。FieldName4 指定待更改的欄位名,FieldName5 指定新的欄位名。

    注意
    改變表的欄位名時一定要小心--索引表達式、欄位和表的有效性規則、命令、函數等等可能仍會引用原始欄位名。

    NOVALIDATE

    選用這一選項後,Visual FoxPro 修改表的結構不受表中數據完整性的約束。默認時,Visual FoxPro 改變表結構將受到表中數據的完整性約束。使用 NOVALIDATE 參數將使默認情況無效。

    說明
    ALTER TABLE 命令可以用於修改還沒有添加到資料庫中的表的結構。然而在修改自由表時,如果加入 DEFAULT、FOREIGN KEY、PRIMARY REFERENCES 或 SET 子句,Visual FoxPro 將出現錯誤。
    ALTER TABLE 命令可以通過建立新表頭和往表頭中添加記錄來重建表。例如,改變欄位類型或欄位寬度。
    表經過重建後,將對所有改變了類型或寬度的欄位執行欄位有效性規則。如果修改了表中所有欄位的類型或寬度,將執行表的有效性規則。
    如果對已含有記錄的表修改其欄位有效規則或表有效性規則,Visual FoxPro 將檢查新的欄位或表有效性規則是否與存在數據相符合,並在發現有不符之處時發出警告。

    如果要修改的表在資料庫中,ALTER TABLE-SQL 命令需要獨占使用資料庫。若要獨占打開資料庫,可使用包含 EXCLUSIVE 子句的 OPEN DATABASE 命令。

    閱讀全文

    與命令增加欄位相關的資料

    熱點內容
    ios大文件夾圖標 瀏覽:624
    生的計劃pdf 瀏覽:711
    oppoa93加密便簽在哪查找 瀏覽:16
    兩個數字的加減乘除運算編程 瀏覽:227
    給手機加密碼忘記了怎麼辦 瀏覽:601
    單片機運算符 瀏覽:297
    移動端微信商城源碼 瀏覽:442
    編程貓下一個背景在哪裡 瀏覽:358
    javaclasstype 瀏覽:238
    樂高編程和樂高課的延伸 瀏覽:356
    蘋果手機怎麼切換app美國賬號 瀏覽:865
    編譯程序輸入一個字元串 瀏覽:407
    圓命令畫法 瀏覽:308
    如果給電腦e盤文件加密 瀏覽:802
    javaswing項目 瀏覽:778
    androidsdksetup 瀏覽:1005
    pdf怎麼設置中文 瀏覽:128
    安卓手機用什麼軟體看倫敦金 瀏覽:966
    魅族文件夾無名稱 瀏覽:792
    蘇黎世無人機演算法 瀏覽:876