<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                [TOC] # 關于 INSERT 語句 INSERT 語句用來向表中插入行記錄。 最簡單的 INSERT 語句語法格式如下: ~~~ INSERT INTO table_name (list_of_columns) VALUES (list_of_values); ~~~ 其中,list\_of\_columns 指定表的 table\_name 列,list\_of\_values 是 list\_of\_columns 提到的列的對應值,必須一一對應。因此,在向一個表插入記錄之前,需要了解這個表所有的列信息,以及列類型和有效值、是否允許為空等。在 obclient 命令行環境下,可以直接用 DESC 命令查看列屬性,如下所示: ~~~ obclient> desc ordl; +----------------+-------------+------+-----+---------+-------+ | FIELD | TYPE | NULL | KEY | DEFAULT | EXTRA | +----------------+-------------+------+-----+---------+-------+ | OL_W_ID | NUMBER(38) | NO | PRI | NULL | NULL | | OL_D_ID | NUMBER(38) | NO | PRI | NULL | NULL | | OL_O_ID | NUMBER(38) | NO | PRI | NULL | NULL | | OL_NUMBER | NUMBER(38) | NO | PRI | NULL | NULL | | OL_DELIVERY_D | DATE | YES | NULL | NULL | NULL | | OL_AMOUNT | NUMBER(6,2) | YES | NULL | NULL | NULL | | OL_I_ID | NUMBER(38) | YES | NULL | NULL | NULL | | OL_SUPPLY_W_ID | NUMBER(38) | YES | NULL | NULL | NULL | | OL_QUANTITY | NUMBER(38) | YES | NULL | NULL | NULL | | OL_DIST_INFO | CHAR(24) | YES | NULL | NULL | NULL | +----------------+-------------+------+-----+---------+-------+ 10 rows in set (0.01 sec) ~~~ 在 INSERT 語句中,您不需要知道表的所有列的值,但需要知道所有列屬性為 *NOT**NULL 的列的值。如果列屬性為 NOT NULL 有默認值時,您可以不指定該列的值;如果列為* *NULL,您也可以不指定該列的值,OceanBase 會在該列上插入一個 NULL 值。* 當插入多條件記錄時,可以分多條 INSERT 語句,也可以用一個 INSERT 多個 VALUES 語句。 ## 示例:當所有列信息都知道時,使用INSERT語句 如下示例創建有默認值列的表,SQL 插入兩筆記錄,所有字段信息都有值。 ~~~ obclient> CREATE TABLE t_insert( id number NOT NULL PRIMARY KEY , name varchar(10) NOT NULL, value number , gmt_create DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ); Query OK, 0 rows affected (0.07 sec) obclient> INSERT INTO t_insert(id, name, value, gmt_create) values(1,'CN',10001, current_timestamp); Query OK, 1 row affected (0.01 sec) ~~~ ## 示例:當不是所有列信息都知道時,使用INSERT語句 下面 SQL 插入兩筆記錄,gmt\_create 字段沒有提供。兩筆記錄使用一個 INSERT 多個 VALUES 子句。 ~~~ obclient> INSERT INTO t_insert(id, name, value) VALUES (2,'US', 10002) ,(3,'EN', 10003); Query OK, 2 rows affected (0.00 sec) Records: 2 Duplicates: 0 Warnings: 0 ~~~ ## 示例:使用INSERT語句違反唯一約束沖突 當表上有唯一性約束的時候,插入相同的記錄,數據庫會報錯。 ~~~ obclient> INSERT INTO t_insert(id, name, value) VALUES (3,'UK', 10003) ,(4, 'JP', 10004); ERROR 1062 (23000): Duplicate entry '3' for key 'PRIMARY' ~~~ 這個報錯可以通過 INSERT IGNORE INTO、MERGE INTO、INSERT INTO ON DUPLICATE KEY UPDATE 避免。 #### 關于INSERT IGNORE INTO 語句 下面示例是 MySQL 租戶下使用 INSERT IGNORE INTO 避免約束沖突,IGNORE 關鍵字可以忽略由于約束沖突導致的 INSERT 失敗的影響。 ~~~ obclient> INSERT IGNORE INTO t_insert(id, name, value) VALUES (3,'UK', 10003) ,(4, 'JP', 10004); Query OK, 1 row affected (0.00 sec) obclient> select * from t_insert; +----+------+-------+---------------------+ | id | name | value | gmt_create | +----+------+-------+---------------------+ | 1 | CN | 10001 | 2020-04-03 16:05:45 | | 2 | US | 10002 | 2020-04-03 16:05:54 | | 3 | EN | 10003 | 2020-04-03 16:05:54 | | 4 | JP | 10004 | 2020-04-03 16:06:08 | +----+------+-------+---------------------+ 4 rows in set (0.00 sec) ~~~ ## 示例:使用查詢語句充當 INSERT 的 values 子句 當需要備份一個表的備份或者全部記錄時,可以使用`INSERT INTO … SELECT … FROM`語句。 ~~~ obclient> create table ware_bak( w_id int , w_ytd decimal(12,2) , w_tax decimal(4,4) , w_name varchar(10) , w_street_1 varchar(20) , w_street_2 varchar(20) , w_city varchar(20) , w_state char(2) , w_zip char(9) , primary key(w_id) ); Query OK, 0 rows affected (0.17 sec) obclient> insert into ware_bak select * from ware; Query OK, 2 rows affected (0.02 sec) Records: 2 Duplicates: 0 Warnings: 0 ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看