MySqlベース——テーブル操作


1.テーブルの作成
テーブル操作を作成するsql文は、次のセクションに分けられます.
CREATE TABLE   (         [    ] ,         [    ] ,         [    ]);
  • mysql共通データ型
  • 数値タイプ:TINYINT,SMALLINT,MEDIUMINT,INT/INTEGER,BIGINT,FLOAT,DOUBLE,DECIMAL(M,N)値範囲MとNの間
    文字のタイプ(BLOBがあるのはすべてバイナリ形式のテキストのデータです):CHAR、VARCHAR、TINYBLOB、BLOB、TEXT、MEDIUMBLOB、MEDIUMTEXT、LONGBLOB、LONGTEXT
    日時タイプ:DATE(YYYY-MM-DD),TIME(HH-mm-ss),DATETIME(YYYY-MM-DD HH-mm-ss),YEAR(YYYYY),DATESTAMP(YYYYYMMDDHmmss)
  • 共通制約は
  • である.
    PRIMARY KEY(メインキー):
    CREATE TABLE student(
                          id INT,
                          name VARCHAR(20),
                          PRIMARY KEY(id)
                         );
    CREATE TABLE student(
                      id INT,
                      name VARCHAR(20),
                      PRIMARY KEY(id,name)
                     );

    (PRIMARYは省略できますが、書き込みは省略できます)複合プライマリ・キーを設定できます.プライマリ・キーは一意でなければなりません.
    NOT NULL(空でない):
    CREATE TABLE IF NOT EXISTS student(
    id INT,
    name VARCHAR(20) NOT NULL,
    PRIMARY KEY(id)
    )

    フィールドにNULL以外の制約を設定するには、値を指定する必要があります.NULL文字列にも正常に挿入できますが、値を指定する必要があります.
    AUTO_INCREMENT(自己成長)
    CREATE TABLE IF NOT EXISTS student(
    id INT PRIMARY KEY AUTO_ICREMENT,
    name VARCHAR(20) NOT NULL
    )AUTO_INCRMENT=100

    成長初期値のデフォルトは1から、AUTO_INCREMENT=n初期値をnに設定
    DEFAULT(デフォルト)
    CREATE TABLE IF NOT EXISTS student(
    id INT PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(20) NOT NULL,
    sex CHAR(2) DEFAULT ' '
    )AUTO_INCREMENT=100

    デフォルト値が設定されているフィールドに値が割り当てられていない場合は、自動的にデフォルト値が与えられます.
    UNIQUE KEY(一意の制約、一意のフィールドは複数設定可能)
    CREATE TABLE IF NOT EXISTS student(
    id INT PRIMARY KEY AUTO_INCREMARY,
    name VARCHAR(20) NOT NULL,
    sex CHAR(2) DEFAULT ' ',
    stu_id INT UNIQUE
    )AUTO_INCREMENT=100

    CHARSET( ): UTF-8

    ENGINE( ): INNODB

    CREATE TABLE IF NOT EXISTS student(
    id INT PRIMARY KEY AUTO_INCREMARY,
    name VARCHAR(20) NOT NULL,
    sex CHAR(2) DEFAULT ' ',
    stu_id INT UNIQUE
    )ENGINE=INNODB,CHARSET=UTF-8,AUTO_INCREMENT=100

    2.

    DROP TABLE   ;

    3.

    ALTER TABLE    ADD|DROP|MODIFY|CHANGE|ALTER|RENAME
    • ADD( )
    ALTER TABLE student ADD class_id INT;//          class_id
    ALTER TABLE student ADD class_id INT FIRST;//         class_id
    ALERT TABLE student ADD class_id INT AFTER sex;// sex         class_id
    • DROP( )
    ALTER TABLE student DROP class_id;//  class_id  
    • MODIFY CHANGE( )

    MODIFY CHANGE , :

    CHANGE MODIFY ( CHANGE, )

    ALTER TABLE student CHANGE class_id c_id VARCHAR(20);// class_id     c_id        VARCHAR(20)
    ALTER TABLE student CHANGE class_id class_id VARCHAR(20);//  class_id     VARCHAR(20)      
    ALTER TABLE student MODIFY class_id VARCHAR(20);// class_id       VARCHAR(20)
    • ALTER( )
    ALTER TABLE student ALTER class_id SET DEFAULT 0;//      0
    ALTER TABLE student ALTER class_id DROP DEFAULT;//     

    * MODIFY CHANGE ALTER ?

    : class_id DEFAULT ,

    ALTER TABLE student MODIFY class_id VARCHAR(20) DEFAULT 10;

    ALTER

    • RENAME( )
    ALTER TABLE student RENAME TO student_test;// student    student_test
    ALTER TABLE student ENGINE=myisam;//        myisam