MySqlデータベース学習-DDL文(データベースとデータテーブルの作成と削除、データテーブルの変更...)


データベース#データベース#
データベース・サーバには、データベース・ソフトウェアがインストールされています.外部にサービスを提供するコンピュータ--データベースの1つのプロジェクトに対応するデータベース--データ・テーブル--フィールドフィールドフィールドフィールドフィールドフィールドフィールドとデータ行--データベース・ソフトウェア
  • リレーショナルMySQL SQL Sever Oracle sqliteメモリ起動、HDD保存
  • 非関係型Redis memoryCacheホットデータ処理
  • SQL文の分類
    SQL文は主に以下の3つのカテゴリに分類できます.
  • DDL(Data Definition Languages)文:異なるデータセグメント、データベース、テーブル、カラム、インデックスなどのデータベース・オブジェクトの定義を定義するデータ定義言語.よく使われる文キーワードには、主にcreate、drop、alterなどが含まれます.
  • DML(Data Manipulation Language)文:データベースレコードの追加、削除、更新、クエリー、データ整合性のチェックに使用されるデータ操作文.主にinsert、delete、udpate selectなどが使用されます.
  • DCL(Data Control Language)文:異なるデータセグメントの直接的なライセンスおよびアクセスレベルを制御するためのデータ制御文.これらの文は、データベース、テーブル、フィールド、ユーザーのアクセス権、セキュリティ・レベルを定義します.主な文キーワードにはgrant、revokeなどがあります.

  • 現在細分化する場合は、いくつかの種類に分けることもできます
    SQLメカニズムクエリ文は、すべてのデータベースに共通しています.DDL:データ定義は、異なるデータ・セグメント、データベース、テーブル、列、インデックスなどのデータベース・オブジェクトの定義を定義します.DML:データ処理は、データベース・レコードの追加、削除、更新、クエリに使用されます.データの整合性を確認します.DTL:トランザクション、ロールバック–DQL:データクエリ-DCL:データ制御、権限制御DBAは、異なるデータ・セグメントの直接的なライセンスおよびアクセス・レベルを制御する文です.これらの文は、データベース、テーブル、フィールド、ユーザーのアクセス権、およびセキュリティ・レベルgrant revokeを定義します.
    今日は、主にDDL文の使用についてお話しします
    DDLはデータ定義言語の略で、簡単に言えば、データベース内部のオブジェクトを作成、削除、修正する操作言語です.
    つまりDDL文はデータベースとデータテーブルの作成について
    データベースの接続
    C:\Users>mysql -u root -p
    Enter password: *************
    /*mysql        ,-u            ,-p         。*/
    

    次の文は、接続に成功したことを示します.
    > Welcome to the MySQL monitor.  Commands end with ; or \g. Your MySQL
    > connection id is 1 Server version: 5.6.12 MySQL Community Server (GPL)
    > 
    > Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights
    > reserved.
    > 
    > Oracle is a registered trademark of Oracle Corporation and/or its
    > affiliates. Other names may be trademarks of their respective owners.
    > 
    > Type 'help;' or '\h' for help. Type '\c' to clear the current input
    > statement.
    

    DDL文
    #                  
    mysql > show databases;
    
    #       
    mysql >  create database test;
    
    #     
    mysql > drop database test;
    
    #                      Javaee1904    
    mysql > use test;
    
    #              
    mysql > show tables;
    
    #       
    mysql > create table person(
    	#        
        id int,
        #name  ,               ,     30  
        name varchar(30),
        #age   tinyint ==>    Java byte 0~255
        age tinyint,
        #info   text     
        info text
    );
    
    #         
    mysql > desc person;
    
    #     person  name     ,  varchar(30)   varchar(20):
    mysql > alter table preson modify name varchar(20);
    
    #  person      sex,    int(3):
    mysql > alter table person add column sex int(3);
    
    #   person  age    
    mysql> alter table person drop column age;
     
    #   person    age   age1,         int(4)
    mysql> alter table person change age age1 int(4);
    
    /*
    change   modify          ,     change          ,   。
       change            ,modify    。
    */
    
    #           
    mysql > show create database test
    
    #           
    mysql > show create table person;
    ENGINE=innoDb        (    ,    )
    
    #                   [  ]
    mysql> create table test1(id int) engine = myisam default charset = gbk;
    
    #      !!!
    mysql > exit;
    mysql > quit;
       cmd            
    

    注意すべき点は
  • データベース内の最初のデータベースが何であるかを示す
  • mysql > show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | performance_schema |
    +--------------------+
    #       
    # information_schema:                  。       、  
    # mysql:            。
    
  • データテーブルを作成する場合は、まずuseデータテーブルを作成する必要がある場所のデータベース名
  • が必要です.
    mysql> create database hello;
    Query OK, 1 row affected (0.01 sec)
    
    mysql> use hello;
    Database changed
    
    mysql> create table person(
        -> #        
        ->     id int,
        ->     #name  ,               ,     30 
        ->     name varchar(30),
        ->     #age   tinyint ==> Java byte 0~255
        ->     age tinyint,
        ->     #info   text     
        ->     info text
        -> );
    Query OK, 0 rows affected (0.03 sec)