mysqlの基本的な常識(一)

5783 ワード

インストール
   sudo apt-get install mysql-server mysql-client

管理サービス
  • 起動
    service mysql start
    
  • 停止
    service mysql stop
    
  • 再起動
    service mysql restart
    
  • リモート接続の許可
  • mysqlプロファイルを見つけ、
     sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
    
        bind-address=127.0.0.1    
    
  • を変更します.
  • mysqlにログインし、コマンド
      mysql -hlocalhost -uroot -p
    
  • を実行します.
  • パスワードの入力を求める
  • データベース文
        :grant all privileges on *.* to 'root'@'%' identified by 'mysql' with grant option;
    
        :flush privileges;
    
    mysql>   grant all privileges on . to ‘root’@’%’ identified by ‘  ’;
    
    mysql>   flush privileges;
    
  • を実行
  • ログイン後quitまたはexitはmysql
  • を終了する
  • 仮想マシン
  • を再起動
    データベース整合性
  • データベースは完全なビジネスユニットであり、複数のテーブルを含むことができ、データはテーブルに格納される
  • である.
  • テーブルでは、より正確にデータを格納するために、データの正確かつ有効性を保証するために、テーブルの作成時に、データフィールドのタイプ、制約
  • を含む、テーブルに強制的な検証を追加することができる.
    フィールドタイプ
  • mysqlに含まれるデータ型は多く、ここでは主によく使われるいくつかの
  • が列挙されています.
  • 数字:tinyint,int,decimal
                                                     
      TINYINT                                  1   
      INT(INTEGER)                           4   
      DECIMAL(M,D)          “  ”              M>D M+2   ,   D+2
    
  • 文字列:char,varchar,text
                                                     
      CHAR(M)                             M  ,1<=M<=255
      VARCHAR(L)                            L+1  
      TEXT                                  L+2  ,  L<2^16
    
  • 注意
  • 1:VARCHAR(10)列に格納できる最大長さは10文字の1文字列であり、実際の格納には必要な文字列の長さLに1バイトを加えて文字列の長さを記録し、文字「abcd」に対してLは4であり、格納要件は5バイトである.
  • 2:CHAR(M)は固定長文字列で、定義時に文字列列列長を指定します.保存するときは、右側にスペースを入力して指定した長さにします.Mは指定された長さを表し、Mの値範囲は0~255文字である.例えば、CHAR(4)は、固定長の文字列列を定義する.文字列の数は最大4.CHAR値を取得すると、末尾のスペースが削除されます.

  • 日付:datetime
  • ブール:bit
  • Bitはビットデータ型と呼ばれ、そのデータには0と1の2つの値があり、長さは1ビットである.0以外の値を入力すると、システムは1として扱われます.このデータ型は、真、偽、またははい、Noなどの2値選択を表す論理変数としてよく使用されます.
    拘束
  • プライマリ・キーprimary key
  • プライマリ・キーは、プライマリ・コードとも呼ばれ、テーブル内の1つまたは複数のカラムの組合せです.プライマリ・キー制約では、プライマリ・キー列のデータが一意であり、空であることは許可されません.プライマリ・キーは、テーブル内のレコードを一意に識別し、外部キーと組み合わせて異なるデータ・テーブル間の関係を定義し、データベース・クエリーの速度を速め、データベース・クエリーの速度を速めることができます.プライマリ・キーとレコードの関係は、身分証明書と人の関係のように、一つ一つ対応しています.プライマリ・キーには、単一フィールド・プライマリ・キーとマルチフィールド・コンビネーション・プライマリ・キーの2つのタイプがあります.
  • 非空not null
  • 空以外の制約は、フィールドの値を空にすることはできません.空でない制約が使用されているフィールドの場合、ユーザーがデータを追加するときに値を指定しない場合、データベース・システムはエラーを報告します.
  • 唯一unique
  • 一意性制約では、カラムが一意で、空にできるようにしますが、空の値は1つしか表示されません.ユニークな制約により、1つまたは複数のカラムに重複値が表示されないようにします.
  • デフォルトdefault
  • デフォルトコンストレイントは、カラムのデフォルト値を指定します.男性の同級生が多い場合、性別は「男性」とデフォルトで設定できます.新しいレコードを挿入したときにこのフィールドに値を割り当てなかった場合、システムは自動的にこのフィールドに「男」を割り当てます.
  • 外部キーforeign key
  • データベース・アプリケーションでは、新しいレコードを挿入するたびに、フィールドのプライマリ・キー値が自動的に生成されることがよくあります.テーブルマスターにauto_を追加できます.incrementキーワードで実現します.デフォルト、MySQLでauto_incrementの初期値は1で、新しいレコードを追加するたびに、フィールドは自動的に1を追加します.1つのテーブルにauto_を使用するフィールドは1つしかありませんincrementコンストレイントで、このフィールドはプライマリ・キーの一部である必要があります.auto_increment制約のフィールドは、任意の整数タイプ(TINYINT、SMALLIN、INT、BIGINTなど)であってもよい.
    コマンド接続の使用
  • コマンドの操作方法は、作業中により多く使用されるため、熟練度
  • に達する必要があります.
  • 端末を開き、コマンド
    mysql -uroot -p
    
  • を実行する.
    車に戻ってからパスワードを入力し、現在設定されているパスワードはmysqlです.
  • ログオン
    quit exit
    
  • を終了する.
  • ログインに成功すると、次のコマンドを入力して効果を表示します.
    リモート接続
  • 一般的に会社の開発では、データベースを1台のサーバに統合して構築する可能性があります.すべての開発者は、自分のコンピュータにデータベース
  • を構成するのではなく、1つのデータベースを共有します.
  • 実行コマンド
         :select version();
    
           :select now();
    
        :          ;
    
  • -h接続するホストipアドレス
  • を後に書く
  • -u後に書き込み接続のユーザ名
  • -p車に戻ってからパスワード
  • を書きます
    データベース操作
  • データベース
    mysql -hip   -uroot -p
    
  • を作成
  • データベース
    create database      charset=utf8;
    
  • を削除
  • データベース
    drop database     ;
    
  • を切り替える
  • 現在選択されているデータベースを表示する
    use     ;
    
  • テーブルアクション
  • 現在のデータベース内のすべてのテーブル
    select database();
    
  • を表示
  • show tables;
    
  • を作成
  • 修正表
     auto_incremeaa      
    
  • 削除テーブル
     alter table    add|change|drop      ;
    
        eg: alter table students add birthday datetime;
    
  • 表構造
    drop table   ;
    
  • を参照
  • テーブル名
    desc   ;
    
  • を変更
  • テーブルの作成文を表示する
    rename table     to    ;
    
  • データ操作
  • クエリー
    show create table '  ';
    
  • 増加
    select * from   
    
  • 主キー列は自動的に増加するが、全列挿入時に占有が必要であり、通常は0を用いる、挿入に成功した後は実際のデータを基準とする
  • である.
  • 修正
        :insert into    values(...)
    
        :insert into   ( 1,...) values( 1,...)
    
            :insert into    values(...),(...)...;
    
                    insert into   ( 1,...) values( 1,...),( 1,...)...;
    
  • 削除
    update    set  1= 1,... where   
    
  • 論理削除、本質は修正操作update
    delete from    where   
    
  • である.
  • 削除が必要な場合は
    alter table students add isdelete bit default 0;
    
  • .
    バックアップとリカバリ
    データバックアップ
  • スーパーアドミニストレータ
      update students isdelete=1 where ...;
    
  • にアクセス
  • mysqlライブラリディレクトリ
    sudo -s
    
  • にアクセス
  • mysqldumpコマンド
    cd /var/lib/mysql
    
  • を実行
    ヒントを押してmysqlのパスワードを入力します
    データ・リカバリ
  • mysqlに接続し、データベース
  • を作成
  • 接続を終了する、次のコマンド
    Mysql dump –uroot –p      > ~/Desktop/    .sql;
    
  • を実行する.
    ヒントに基づいてmysqlパスワードを入力
    終わりの言葉
    この文章に何か意見やアドバイスがあれば、私と議論してください.もしあなたが悪くないと思ったら~私を励ましてくれるのが好きですよ.私と一緒に勉強したいなら、けちけちしないで私を信じてください.