初心者MySQL必須SQL文-操作データテーブル


前の記事では、作成、クエリー、変更、削除などの操作を含むデータベースの操作を主に記録しました.この1篇の内容はデータベースの中の表をめぐって展開して、へへ、実はこれらの内容は1篇に置くべきで書いて、しかし..私は怠け者です.また半分書きたくないので、次の続きを残しておくので、分けて書くしかありません.お許しください.
目次
  • 1.データテーブル特性
  • 2.データテーブル
  • の作成
  • 2.1.空のデータテーブル
  • を作成する
  • 2.2.データテーブルの作成時にプライマリ・キー
  • を指定
  • 2.3.データテーブルの作成時に外部キー
  • を指定
  • 2.4.データテーブルの作成時に指定するフィールドは空ではありません
  • 2.5.テーブルの作成時にデフォルト値
  • を指定
  • 2.6. データテーブルの作成時にプライマリ・キーを指定するデフォルトは
  • 増加します.
  • 2.7.データテーブル作成時に指定するストレージエンジン
  • 2.8.データベース作成時に指定するエンコーディング
  • 3.データテーブル構造の表示
  • 3.1.DESCRIBE/DESCを使用してテーブル構造
  • を表示
  • 3.2.SHOW CREATE TABLE文を使用してテーブル構造
  • を表示
  • 4.データテーブル
  • の変更
  • 4.1.データテーブル名の変更
  • 4.2.データテーブルに新しいフィールド
  • を追加
  • 4.3.フィールド名の変更
  • 4.4.フィールドのデータ型の変更
  • 4.5.フィールド位置の変更
  • 4.6.削除フィールド
  • 4.7.既存テーブルのストレージエンジン
  • を変更
  • 4.8.データテーブルの外部キー制約を解除する
  • 5.削除データテーブル
  • 5.1.関連付けられていないデータテーブル
  • を削除
  • 5.2.外部キー制約のあるプライマリ・テーブル
  • を削除
  • 6.テンポラリテーブル
  • 6.1.テンポラリ・テーブル
  • の作成
  • 6.2.テンポラリ・テーブル
  • の削除

    1.データテーブルの特性
    MySQLでは、データテーブルは2 Dテーブル形式で表示され、1行は完全なデータを表し、1列は特定の属性を表します.
    2.データテーブルの作成
    2.1.空のデータテーブルの作成
  • 構文
  • CREATE TABLE [IF NOT EXISTS]   (
      1,    ,[    ][   ]2,    ,[    ][   ])
    
  • シーケンス番号、名前および年齢を含むデータテーブル
  • を作成する
    mysql> use test_new;
    mysql> create table test_01 (
        -> id int,
        -> name varchar(20),
        -> age varchar(30)
        -> );
    Query OK, 0 rows affected (0.07 sec)
    
      :
     MySQL 8.0 ,     INT        
                ,   my.cnf       :
    lower_case_table_names=1
    
  • データテーブルを表示すると、作成したばかりのデータテーブル
  • が表示されます.
    mysql> show tables;
    +--------------------+
    | Tables_in_test_new |
    +--------------------+
    | test_01            |
    +--------------------+
    1 row in set (0.01 sec)
    

    2.2.データテーブルの作成時にプライマリ・キーを指定
           ,          ,             。
              ,    。
                    。
    
  • 単列プライマリ・キー
                     
    
  • PRIMARY KEY [   ]
    
  • test_の作成02データテーブル、idフィールドをプライマリキー
  • とする
    #          
    mysql> create table test_02 (
        -> id int primary key,
        -> name varchar(20),
        -> age varchar(20)
        -> );
    Query OK, 0 rows affected (0.05 sec)
    #              
    mysql> create table test_03 (
        -> id int,
        -> name varchar(20),
        -> age varchar(20),
        -> primary key(id)
        -> );
    Query OK, 0 rows affected (0.05 sec)
    
  • マルチカラム結合プライマリ・キー
                         
    
  • PRIMARY KEY [  1],[  2],...[  n]
                    ,     。
    

    2.3.データテーブルの作成時に外部キーを指定
                 
              ,      ,       ,                  
                  ,           
                               
    
             ,     
             ,              ,         
    
  • 外部キーの構文フォーマット
  • を作成する
    [CONSTRAINT    ] FOREIGN KEY   1 REFERENCES        1
    #      
       :               。    ,     
    FOREIGN KEYREFERENCES

    2.4.データテーブルの作成時に指定したフィールドは空ではありません
  • 構文形式:
  •           NOT NULL
    
  • は、
  • を直感的に表す例を作成する.
    mysql> create table test_04 (
        -> id int primary key not null,
        -> name varchar(20) not null
        -> );
    Query OK, 0 rows affected (0.02 sec)
    

    2.5.テーブルの作成時にデフォルト値を指定
  • 構文フォーマット
  •           DEFAULT    
    
  • mysql> create table test_05 (
        -> id int default 1,
        -> name varchar(20) not null
        -> );
    Query OK, 0 rows affected (0.02 sec)
    #         ,    id  , id       1
    

    2.6. データテーブルの作成時にプライマリ・キーのデフォルトの増分を指定
    MySQL                  
              ,            
    MySQL                1
    
  • 構文フォーマット
  •           AUTO_INCREMENT
    
  • mysql> create table test_06 (
        -> id int primary key auto_increment,
        -> name varchar(20) not null
        -> );
    Query OK, 0 rows affected (0.03 sec)
          id       。         ,
      id    1          ,id        1.
    

    2.7.データテーブル作成時のストレージエンジンの指定
  • 構文フォーマット
  • ENGINE=      
    
              'ENGINE=    ‘            
    
  • mysql> create table test_07 ( id int primary key auto_increment, name varchar(20) not null )engine=InnoDB;
    Query OK, 0 rows affected (0.03 sec)
    

    2.8.データベース作成時のエンコーディングの指定
  • 構文フォーマット
  • DEFAULT CHARACTER SET    COLLATE     
     
    DEFAULT CHARSET=   COLLATE=    
    
  • と2.7は同じで、表の後に加えればいいので、
  • を例に挙げません.
    3.データテーブル構造の表示
    3.1.DESCRIBE/DESCを使用したテーブル構造の表示
               ,      、          
    
  • 構文フォーマット
  • DESCRIBE/DESC    
    
  • mysql> desc test_06;
    +-------+-------------+------+-----+---------+----------------+
    | Field | Type        | Null | Key | Default | Extra          |
    +-------+-------------+------+-----+---------+----------------+
    | id    | int         | NO   | PRI | NULL    | auto_increment |
    | name  | varchar(20) | NO   |     | NULL    |                |
    +-------+-------------+------+-----+---------+----------------+
    2 rows in set (0.01 sec)
    
          :
    Field:     
    TypeNullkey:          。PRI     ,UNI      UNIQUE        ,       ;MUL                
    Default:         ,          
    Extra:             
    

    3.2.SHOW CREATE TABLE文を使用したテーブル構造の表示
          ,          SQL  ,
                   
    
  • 構文形式:
  • SHOW CREATE TABLE    \G
    
  • mysql> show create table test_06 \G
    *************************** 1. row ***************************
           Table: test_06
    Create Table: CREATE TABLE `test_06` (
      `id` int NOT NULL AUTO_INCREMENT,
      `name` varchar(20) NOT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
    1 row in set (0.00 sec)
    

    4.データテーブルの変更
    4.1.データテーブル名の変更
  • 構文形式:
  • ALTER TABLE     RENAME [TO]    
    #TO    
    
  • mysql> alter table test_06 rename to test_60;
    Query OK, 0 rows affected (0.03 sec)
    

    4.2.データテーブルに新しいフィールドを追加
  • 構文形式:
  • ALTER TABLE    ADD COLUMN           [NOT NULL DEFAULT    ]
    
  • 例、表test_60新規フィールド
  • を追加
    mysql> alter table test_60 add column age varchar(20);
    Query OK, 0 rows affected (0.03 sec)
    Records: 0  Duplicates: 0  Warnings: 0
    
  • フィールドの追加時に位置を指定し、表の第1列にフィールド
  • を追加する.
    ALTER TABLE    ADD COLUMN           [NOT NULL DEFAULT    ] FIRST
    #FIRST                    
    
  • 指定されたフィールドの後に新しいフィールド
  • を追加する
    ALTER TABLE    ADD COLUMN           [NOT NULL DEFAULT    ] ALTER      
    

    4.3.フィールド名の変更
  • 構文フォーマット
  • ALTER TABLE    CHANGE                
    
                     
                             
                    。
            DEFAULT          
    

    4.4.フィールドのデータ型の変更
  • 構文フォーマット
  • ALTER TABLE    MODIFY           [DEFAULT    ]
    
      MODIFY             
    
  • mysql> alter table test_60 modify age tinyint(2);
    Query OK, 0 rows affected, 1 warning (0.06 sec)
    Records: 0  Duplicates: 0  Warnings: 1

    4.5.フィールド位置の変更
  • フィールドの位置をデータテーブルの最初のフィールド
  • に変更する.
    ALTER TABLE    MIDIFY          FIRST
    
      FIRST                    
    
  • 選択したフィールドをあるフィールドに変更した後の
  • ALTER TABLE    MODIFY   1     1     AFTER   2  
    

    4.6.フィールドの削除
  • テーブル内のフィールドを削除する構文:
  • ALTER TABLE    DROP    
    
  • mysql> desc test_60;
    +-------+-------------+------+-----+---------+----------------+
    | Field | Type        | Null | Key | Default | Extra          |
    +-------+-------------+------+-----+---------+----------------+
    | id    | int         | NO   | PRI | NULL    | auto_increment |
    | name  | varchar(20) | NO   |     | NULL    |                |
    | age   | tinyint     | YES  |     | NULL    |                |
    +-------+-------------+------+-----+---------+----------------+
    3 rows in set (0.01 sec)
    
    mysql> alter table test_60 drop age;
    Query OK, 0 rows affected (0.08 sec)
    Records: 0  Duplicates: 0  Warnings: 0
    

    4.7.既存のテーブルのストレージエンジンの変更
  • 構文形式:
  • ALTER TABLE    ENGINE=      
    
  • mysql> alter table test_05 engine=MyISAM;
    Query OK, 0 rows affected (0.06 sec)
    Records: 0  Duplicates: 0  Warnings: 0
    

    4.8.データテーブルの外部キー制約の解除
  • 構文形式:
  • ALTER TABLE    DROP FOREIGN KEY    
    

    5.データテーブルの削除
    5.1.関連付けられていないデータテーブルの削除
  • 構文形式:
  • DROP TABLE [IF EXISTS]    
    
  • mysql> drop table test_07;
    Query OK, 0 rows affected (0.03 sec)
    

    5.2.外部キー制約のあるプライマリ・テーブルの削除
  • 外部キー制約付きスレーブテーブルを削除する、メインテーブル
  • を削除することができる.
  • 外部キー制約を解除してからメインテーブル
  • を削除する.
    6.仮表
    6.1.テンポラリ・テーブルの作成
  • 構文形式:
  • CREATE TEMPORARY TABLE [IF NOT EXISTS]   
    
     :     DESC  SHOW CREATE TABLE     
    

    6.2.テンポラリ・テーブルの削除
  • 構文フォーマット
  • DROP TABLE [IF EXISTS]   
    #          
    

    本文はデータテーブルのいくつかの操作を書いて、もちろん、多くの地方は文法だけを与えて、例がなくて、データテーブルの大きい主体の時同じため、異なっているのはキーワードの上で使うだけで、すべて文法だけを与えて、文法を代入すればいいです.