国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

??
Oracle ???????? ??? ???? ??
Oracle ALTER TABLE MODIFY列示例
? ??? ??? Oracle Oracle ??????? ??? ???? ??

Oracle ??????? ??? ???? ??

Mar 02, 2022 pm 06:13 PM
oracle ??? ???

Oracle??? "ALTER TABLE MODIFY" ?? ???? ??? ??? ? ????. ??? "??? ALTER TABLE ??? ?? MODIFY ?? ?? ??"???. ?? ???, ?? ?? ?? ?? ?

Oracle ??????? ??? ???? ??

? ????? ?? ??: Windows 7 ???, Oracle 11g ??, Dell G3 ???.

Oracle ???????? ??? ???? ??

Oracle??? "ALTER TABLE MODIFY" ?? ???? ??? ???? ?? ??? ??? ??? ? ????. ALTER TABLE MODIFY”語(yǔ)句來(lái)修改字段,更改現(xiàn)有字段的定義。

要更改表中列的定義,請(qǐng)按如下所示使用ALTER TABLE MODIFY列語(yǔ)法:

ALTER TABLE 表名 
MODIFY 字段名 需要執(zhí)行的操作;

語(yǔ)句很直接。要修改表的列,需要指定要執(zhí)行的列名,表名和操作。

Oracle允許執(zhí)行多種操作,但以下是主要常用的操作:

  • 修改列的可見(jiàn)性

  • 允許或不允許NULL值

  • 縮短或擴(kuò)大列的大小

  • 更改列的默認(rèn)值

  • 修改虛擬列的表達(dá)式

要修改多個(gè)列,請(qǐng)使用以下語(yǔ)法:

ALTER TABLE 表名
MODIFY (
    字段名1 action,
    字段名2 action,
    ...
);

Oracle ALTER TABLE MODIFY列示例

首先,為演示創(chuàng)建一個(gè)名為accounts的新表:

-- 12c語(yǔ)法
CREATE TABLE accounts (
    account_id NUMBER GENERATED BY DEFAULT AS IDENTITY,
    first_name VARCHAR2(25) NOT NULL,
    last_name VARCHAR2(25) NOT NULL,
    email VARCHAR2(100),
    phone VARCHAR2(12) ,
    full_name VARCHAR2(51) GENERATED ALWAYS AS( 
            first_name || ' ' || last_name
    ),
    PRIMARY KEY(account_id)
);

其次,向accounts表中插入一些行:

INSERT INTO accounts(first_name,last_name,phone)
VALUES('Trinity',
       'Knox',
       '410-555-0197');


INSERT INTO accounts(first_name,last_name,phone)
VALUES('Mellissa',
       'Porter',
       '410-555-0198');


INSERT INTO accounts(first_name,last_name,phone)
VALUES('Leeanna',
       'Bowman',
       '410-555-0199');

第三,通過(guò)使用下面的SELECT語(yǔ)句驗(yàn)證插入操作:

SELECT
    *
FROM
    accounts;

執(zhí)行上面查詢語(yǔ)句,得到以下結(jié)果 -

Oracle ??????? ??? ???? ??

1. 修改列的可見(jiàn)性

在Oracle 12c中,可以將表列定義為不可見(jiàn)或可見(jiàn)。不可見(jiàn)列不可用于查詢,如:

SELECT
    *
FROM
    table_name;

或者,

DESCRIBE table_name;

都是查到不到不可見(jiàn)列的。

但是,可以通過(guò)在查詢中顯式指定不可見(jiàn)列來(lái)查詢:

SELECT
    invisible_column_1,
    invisible_column_2
FROM
    table_name;

默認(rèn)情況下,表列是可見(jiàn)的。可以在創(chuàng)建表或使用ALTER TABLE MODIFY列語(yǔ)句時(shí)定義不可見(jiàn)列。

例如,以下語(yǔ)句使full_name列不可見(jiàn):

ALTER TABLE accounts 
MODIFY full_name INVISIBLE;

執(zhí)行再次查詢表中數(shù)據(jù),得到以下結(jié)果 -

Oracle ??????? ??? ???? ??

以下語(yǔ)句返回accounts表除了full_name列以外的所有列中返回?cái)?shù)據(jù):

SELECT
    *
FROM
    accounts;

這是因?yàn)?code>full_name列是不可見(jiàn)的。要將列從不可見(jiàn)變?yōu)榭梢?jiàn),請(qǐng)使用以下語(yǔ)句:

ALTER TABLE accounts 
MODIFY full_name VISIBLE;

2. 允許或不允許null示例

以下語(yǔ)句將email列更改為接受非空(not null)值:

ALTER TABLE accounts 
MODIFY email VARCHAR2( 100 ) NOT NULL;

但是,Oracle發(fā)出以下錯(cuò)誤:

SQL Error: ORA-02296: cannot enable (OT.) - null values found

因?yàn)楫?dāng)將列從可為null改為not null時(shí),必須確保現(xiàn)有數(shù)據(jù)符合新約束(也就是說(shuō),如果原來(lái)數(shù)據(jù)中NULL是不行的)。

為了解決這個(gè)問(wèn)題,首先更新email列的值:

UPDATE 
    accounts
SET 
    email = LOWER(first_name || '.' || last_name || '@oraok.com') ;

請(qǐng)注意,LOWER()函數(shù)將字符串轉(zhuǎn)換為小寫(xiě)字母。

然后改變email列的約束:

ALTER TABLE accounts 
MODIFY email VARCHAR2( 100 ) NOT NULL;

現(xiàn)在,它應(yīng)該就會(huì)按預(yù)期那樣工作了。

3. 擴(kuò)大或縮短列示例的大小

假設(shè)要添加國(guó)際代碼到phone列上,比如:前綴加上+86。 在修改列的值之前,必須使用以下語(yǔ)句擴(kuò)大phone列的大?。?/p>

ALTER TABLE accounts 
MODIFY phone VARCHAR2( 24 );

現(xiàn)在,我們可以更新電話號(hào)碼的數(shù)據(jù)了:

UPDATE
    accounts
SET
    phone = '+86 ' || phone;

以下語(yǔ)句驗(yàn)證更新:

SELECT
    *
FROM
    accounts;

執(zhí)行上面查詢語(yǔ)句結(jié)果中,應(yīng)該可以看到原電話號(hào)碼前綴有加上+86的國(guó)際區(qū)號(hào)了。

Oracle ??????? ??? ???? ??

要縮短列的大小,請(qǐng)確保列中的所有數(shù)據(jù)都符合新的大小。

例如,嘗試將phone列的大小縮減到12個(gè)字符:

ALTER TABLE accounts 
MODIFY phone VARCHAR2( 12 );

Oracle數(shù)據(jù)庫(kù)發(fā)出以下錯(cuò)誤:

SQL Error: ORA-01441: cannot decrease column length because some  value is too big

要解決這個(gè)問(wèn)題,首先,應(yīng)該從電話號(hào)碼中刪除國(guó)際代碼(即:+86):

UPDATE
    accounts
SET
    phone = REPLACE(
        phone,
        '+86 ',
        ''
    );

REPLACE()函數(shù)用一個(gè)新的子字符串替換一個(gè)子字符串。在這種情況下,它將用空字符串替換+86。

然后縮短phone列的大?。?/p>

ALTER TABLE accounts 
MODIFY phone VARCHAR2( 12 );

4. 修改虛擬列

假設(shè)按以下兩列的格式填寫(xiě)全名:

last_name, first_name

為此,可以更改虛擬列full_name

???? ? ??? ????? ??? ?? ALTER TABLE MODIFY ? ??? ?????. ??
ALTER TABLE accounts 
MODIFY full_name VARCHAR2(52) 
GENERATED ALWAYS AS (last_name || ', ' || first_name);
???? ?????. ???? ??? ????? ?? ??, ??? ??, ??? ??? ???? ???. ????Oracle? ???? ??? ??? ??? ? ??? ????? ???? ?? ??? ??? ????. ??
  • ??? ?? ?? ????< /li>
  • ??NULL ?? ????? ???? ??????
  • ??? ??? ???? ???????
  • ???? ??? ????
  • ???? ? ??? ??? ?? ??
???? ?? ????? ?? ??? ?????: ??
SELECT
    *
FROM
    accounts;

Oracle ALTER TABLE MODIFY ? ? ?????? ?? ?? ??? accounts?? ? ???? ????. ??
ALTER TABLE accounts
ADD status NUMBER( 1, 0 ) DEFAULT 1 NOT NULL ;
????? ?? ??, accounts? ?? ?? ?????. ???: ??
ALTER TABLE accounts 
MODIFY status DEFAULT 0;
????Third ?? , ?? SELECT ?? ???? ?? ??? ?????. ??
INSERT INTO accounts ( first_name, last_name, email, phone )
VALUES ( &#39;Julia&#39;,
         &#39;Madden&#39;,
         &#39;julia.madden@oraok.com&#39;,
         &#39;410-555-0200&#39; );
??? ?? ?? ???? ?? ??? ????.????Oracle ??????? ??? ???? ????????1. ? ??? ?? ??????Oracle 12c??? ??? ?? ?? ?? ??? ??? ? ????. ??
SELECT
  *
FROM
  accounts;
?? ?? ??rrreee??? ?? ???? ??? ?? ?? ??? ? ????. ??????? ??? ????? ???? ??? ?? ?? ??? ? ????. ??rrreee????? ?? ????? ?????. ??? ?? ?? ???? ????? ALTER TABLE MODIFY ? ?? ??? ? ??? ? ????. ?????? ?? ?? ?? full_name ?? ??? ?? ????. ??rrreee?????? ??? ??? ?? ???? ?? ??? ????.????Oracle ??????? ??? ???? ???????? ?? ??? ?????. full_name<? ??? ??? /code> ?? ??? ?? ?? ???? ?????. ??rrreee?? ?? <code>full_name ?? ???? ?? ?????. ?? ??? ? ?? ??? ????? ?? ?? ?????: ??rrreee????2. null ?? ????? ???? ?????????? ?? email ?? null? ??(null? ??) ?? ????? ???????: ??rrreee?? ??? Oracle? ?? ??? ??????: ??rrreee?? ?? ?? ???? ??? ? to null? not null? ??? ? ?? ???? ? ?? ??? ????? ???? ???(?, NULL? ???? ?? ??). ?? ?????). ????? ??? ????? ?? email ?? ?? ???????. ??rrreee??LOWER() ??? ???? ???? ?????. ?????? ?? email ?? ?? ??? ?????. ??rrreee???? ???? ?????. ??????3. ?? ??? ???? ?????????????</code? ?? ??? ???? ??? ??? ???. > ?(?: <code>+86 ???) ? ?? ???? ?? ?? ?? ???? phone ?? ??? ???? ???. ??rrreee???? ???? ???? ????? ? ????. ??rrreee???? ?? ????: ??rrreee??Execute ? ???? ???? ?? ?????? +86 ???? ?? ?? ?? ??? ??? ??? ? ????. ????Oracle ??????? ??? ???? ??????To ?? ??? ?? ?? ?? ???? ? ??? ??? ?????. ?????? ?? phone ?? ??? 12?? ?????. ??rrreee??Oracle ???????? ?? ??? ?????. ??rrreee??? ??? ????? ?? , ?????? ?? ??? ???? ???(?: +86). ??rrreee??REPLACE() ??? ?? ???? ? ?? ???? ????. ? ?? +86? ? ???? ?????. ?????? ?? phone ?? ??? ????: ??rrreee????4. ?? ?? ??????????? ?? ? ?? ????. ?? ??? ??rrreee?? ???? ?????. ??? ??? ?? ? full_name? ??? ??? ?? ??? ? ????. ??
ALTER TABLE accounts 
MODIFY full_name VARCHAR2(52) 
GENERATED ALWAYS AS (last_name || &#39;, &#39; || first_name);

以下語(yǔ)句驗(yàn)證修改:

SELECT
    *
FROM
    accounts;

執(zhí)行上面查詢語(yǔ)句,可以看到以下結(jié)果

Oracle ??????? ??? ???? ??

5. 修改列的默認(rèn)值

添加一個(gè)名為status的新列,默認(rèn)值為1accounts表中。參考以下語(yǔ)句 -

ALTER TABLE accounts
ADD status NUMBER( 1, 0 ) DEFAULT 1 NOT NULL ;

當(dāng)執(zhí)行了該語(yǔ)句,就會(huì)將accounts表中的所有現(xiàn)有行的status列中的值設(shè)置為1

要將status列的默認(rèn)值更改為0,請(qǐng)使用以下語(yǔ)句:

ALTER TABLE accounts 
MODIFY status DEFAULT 0;

可以在accounts表中添加一個(gè)新行來(lái)檢查status列的默認(rèn)值是0還是1

INSERT INTO accounts ( first_name, last_name, email, phone )
VALUES ( &#39;Julia&#39;,
         &#39;Madden&#39;,
         &#39;julia.madden@oraok.com&#39;,
         &#39;410-555-0200&#39; );

現(xiàn)在,查詢accounts表中的數(shù)據(jù):

SELECT
  *
FROM
  accounts;

執(zhí)行上面查詢語(yǔ)句,應(yīng)該看類似下面的結(jié)果?

Oracle ??????? ??? ???? ??

正如所看到的那樣,ID4的賬戶的status列的值是0。

推薦教程:《Oracle教程

? ??? Oracle ??????? ??? ???? ??? ?? ?????. ??? ??? PHP ??? ????? ?? ?? ??? ?????!

? ????? ??
? ?? ??? ????? ???? ??? ??????, ???? ?????? ????. ? ???? ?? ???? ?? ??? ?? ????. ???? ??? ???? ???? ??? ?? admin@php.cn?? ?????.

? AI ??

Undresser.AI Undress

Undresser.AI Undress

???? ?? ??? ??? ?? AI ?? ?

AI Clothes Remover

AI Clothes Remover

???? ?? ???? ??? AI ?????.

Video Face Swap

Video Face Swap

??? ??? AI ?? ?? ??? ???? ?? ???? ??? ?? ????!

???

??? ??

???++7.3.1

???++7.3.1

???? ?? ?? ?? ???

SublimeText3 ??? ??

SublimeText3 ??? ??

??? ??, ???? ?? ????.

???? 13.0.1 ???

???? 13.0.1 ???

??? PHP ?? ?? ??

???? CS6

???? CS6

??? ? ?? ??

SublimeText3 Mac ??

SublimeText3 Mac ??

? ??? ?? ?? ?????(SublimeText3)

???

??? ??

??? ????
1601
29
PHP ????
1502
276
???
????? ?? ??? ??? ??. Java? ????? ?????? ??? ??? ????? ????? ?? ??? ??? ??. Java? ????? ?????? ??? ??? ????? May 20, 2025 pm 08:24 PM

????? ?? Java? ??? ?? ??? ????. 1. ?? ??? ??? ??????. 2. ? ??; 3. ??? ?? ? ??? ??? ?????. 4. ??? ????? ??????. 5. ?? ???? ??? ?????. 6. ???? ?????? ??? ??? ?????. 7. ???? ??? ??? ?? ?????. 8. ?? ??? ??? ???? ??????. ??? ??? Java ?????? ????? ????? ? ??? ? ? ????.

Windows/Linux? MySQL 8.0? ???? ??? ?????? Windows/Linux? MySQL 8.0? ???? ??? ?????? Jun 11, 2025 pm 03:25 PM

MySQL 8.0? ???? ??? ??? ??? ???? ?????? ???? ????. Windows?? MSI ?? ???? ???? ?? ????. ???? ?? ??? ????, ??? ??, ?? ?? ??, ?? ???? ??, ??? ?? ??? ? ?? ?????? ????? Zip ??? ???? ???? ??? ?????. Linux (? : Ubuntu)? APT? ?? ???? ??? ??? ?????? ?? ??, ?? ???? ??, ??? ?? ?? ? ?? ?? ??? ???? ????. ?? ???? ????, ?? ????? ????, ?? ???? ???, ???? ????, ?? ??? ???? ?? ?? ? ?? ?? ??? ????? ?? ? ???? ??? ???????.

JDBC? ???? Oracle ?????? ?? ?? ???? ?? JDBC? ???? Oracle ?????? ?? ?? ???? ?? Jun 04, 2025 pm 10:15 PM

JDBC? ???? Oracle Database Connection Pool? ???? ???? ??? ?????. 1) ?? ? ??, 2) ?? ??? ?? ?? ??, 3) SQL ?? ?? ? 4) ???? ????. OracleUcp? ???? ??? ????? ???? ??? ??????.

MongoDB?? ?? ??????? ?? ?? MongoDB?? ?? ??????? ?? ?? Jun 04, 2025 pm 10:42 PM

MongoDB?? ?? ??????? ?? ??? "showdbs"??? ???? ????. 1.? ??? ?? ?? ?? ?????? ? ?????. 2. "??"??? ?? ??????? ???? ???? ???? ?? ? ? ????. 3. "??"? "??"? ?? ?? ?????????? ??????. 4. ????? ???? ?? "ListDatabases ()"???? ???? ??? ??? ??????. 5. "db.stats ()"??? ??? ?????? ??? ? ? ????.

? ??? ???? Hadoop? Oracle ?????? ?? ?? ? ??? ???? Hadoop? Oracle ?????? ?? ?? Jun 04, 2025 pm 10:24 PM

Oracle ??????? Hadoop? ?? ? ?? ??? Oracle? ??? ??? ?? ? ???? ?? ??? Hadoop? ??? ??? ?? ? ?? ??? ???? ?????. ?? ???? ??? ?????. 1. OracleBigdataconncerce?? Hadoop??? ???? ???; 2. ??? ??? Apachesqoop? ??????. 3. Oracle? ?? ??? ??? ?? ?? Hadoop ???? ?????. 4. OracleGoldEngate? ???? ??? ???? ??????.

SQL ?????? ?? SQL ??????? ?? ?? ??? ?? SQL ?????? ?? SQL ??????? ?? ?? ??? ?? May 28, 2025 pm 08:12 PM

???? SQL ??? ??? ????. 1. CreateTable Create? CreateTableemployees (Idintprimarykey, Namevarchar (100), SalaryDecimal (10,2))? ?? ???? ?????. 2. createIndex? keateIndExIdx_nameOmployees (name)? ?? ???? ????. 3. InsertInto? InsertInto Employeees (ID, Name, Salary) ? (1, 'Johndoe', 75000.00)? ?? ???? ?????. 4. ??? ??????

Oracle ??????? ??? ????? ???? ?? Oracle ??????? ??? ????? ???? ?? Jun 04, 2025 pm 10:06 PM

?? ????? ??? ??? ?? ???? ?? ???? ????. Oracle ??????? ?? ?? ??? ????? ?? ???? ???? ?? ????. ?? ??? ??? ????. 1. SQL*Plus? ???? SYS ?? ??? ??? ????? ??????. 2. dbms_crypto ???? ?? ??? ? ??? ??????.

?? ?? ?? ??? ?? Oracle? ???? ?? ?? ?? ?? ??? ?? Oracle? ???? ?? Jun 04, 2025 pm 10:21 PM

Oracle Database?? ??? ?? ??? ?? ???? ???? ?? ? ?? ??? ??? ? ????. Select ?? ??? ?? ? ???? ?? ?? ??? ???? ????. ??? ????? ?? ?? ??? ? ?? ???? ?? ?? ?????? ??????. ?? ?? ?? ??? ???? ?? ?? ?? ???? ?? ?? ?? ??? ????? ?? ??? ??? ? ? ????. ? ???? ?? ????? ??? ??? ??? ?? ?? ?? ? ?? ?? ??? ?? ?? ??? ??? ???????.

See all articles