<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>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                [TOC] ## DDL-表的操作 ## 一、創建表 **基本語法為:** ~~~ ?create table table_name( ? ? column_name_1 data_type constrains, ? ? column_name_2 data_type constrains, ? ? ... ? ? column_name_x data_type constrains, ? ? column_name_n data_type constrains ?); ~~~ 其中,column\_name 是列的名字,data\_type 是列的數據類型,constrains 是此列的約束條件。 例如,創建一個表 people: ~~~ ?mysql> create table people( ? ? -> name varchar(10) not null, ? ? -> age int(2), ? ? -> birthday date, ? ? -> address varchar(100) ? ? -> ); ?Query OK, 0 rows affected (0.04 sec) ~~~ 其中,not null 便是約束條件,表示默認不為空。 ### 0.創建表的完整語法: ~~~ ?create [temporary] table [if not exists] table_name( ? ? create_definition, ? ? ... ?)[table_options] [partition_options]; ~~~ * `temporary` :臨時表,會話結束時自動消失; * `if not exists` :當不存在此表時,順利創建,若已存在則會顯示警告; * `create_definition` :表的創建定義,即字段的定義; * `table_options`:表選項,設置表的字符集、存儲引擎、文件目錄等; * `partition_options` :分區選項,便于管理非常大的表。 ### 1.create\_definition-表的創建定義 表的創建定義 create\_definition 即 **字段的定義**,每個字段的定義以逗號(英文)結束,最后一個字段后不能有逗號,每個字段必須有數據類型,約束條件可選。 對于字段的定義: ~~~ ?column_name data_type [not null | null] [default default_value] [auto_increment] [unique key | primary key] [comment 'comment_string']; ~~~ #### a、`[not null | null]` : * mysql 默認設置為 null;此時插入一行數據時,若沒設置該字段值,則該字段值為 null;null 作為占位符; * 建議設置為 not null ,比 null 的效率要好許多;B 樹索引時不會存儲 NULL 值的,所以如果索引的字段可以為 NULL,索引的效率會下降很多。在 MyISAM 引擎下,NULL 對索引、索引統計、磁盤占用都會有額外的開銷,一個允許為 NULL 的列,每個字段的長度都比 NOT NULL 的多 1bit。 * mysql 中的 null 其實是占用空間的占位符,而空值是不占用空間的; * not null 的字段是不能插入 ‘null’ 的,只能插入空值 `''` (單引號之間是沒有空格的); #### b、`[default default_value]`: 因為一般建議設置字段時是設置為 not null 的,所有一般都會給字段設置有默認值。如數值類型設置為 0,字符串設置為空值 `''` 。 特別當開發中 mysql 啟用嚴格模式(strict mode)時,更應顯示指定默認值。 #### c、`[auto_increment]`: 設置字段的自增,取值范圍是 1 至 65535;默認從 1 開始,可在創建表時的表選項中用 `AUTO_INCREMENT=n` 來指定自增的初始值。 設置 auto\_increment 的數據列數據類型必須為整型正數,且必須有唯一索引(primary key 或 unique key),必須具備 not null 屬性(當設置了索引時會自動設置為not null)。 當插入記錄時,若沒有為 auto\_increment 字段明確指定值,則等同插入 null值;若插入 null 值或者 0 時,該字段將自動生成下一個序列編號。當插入或更新記錄為 auto\_increment 字段明確指定值,如果該值和已有的編號重復則會報錯;如果該值大于已編號的值,下一個編號將該值開始遞增;如果該值小于已編號的值,則僅僅該記錄改動。 #### d、`[unique key | primary key]` : 設置特殊索引 key: * primary key 主鍵索引:唯一標識數據庫表中的每條記錄;主鍵必須包含唯一的值;主鍵列不能包含 NULL 值;每個表都應該有一個主鍵,并且每個表只能有一個主鍵。(PRIMARY KEY 擁有自動定義的 UNIQUE 約束); * UNIQUE 約束:唯一標識數據庫表中的每條記錄。 UNIQUE 和 PRIMARY KEY 約束均為列或列集合提供了唯一性的保證。(每個表可以有多個 UNIQUE 約束,但是每個表只能有一個 PRIMARY KEY 約束) #### e、`[comment 'comment_string']` : 設置該字段的注釋 ,便于理解該字段的意義,建議為每個字段加上清晰明了的注釋。 ### 2.table\_options-表選項
                  <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>

                              哎呀哎呀视频在线观看