Mac環境でのMySQLのインストールと基本コマンドの使用

29454 ワード

  • 原文ブログアドレス:Mac環境におけるMySQLのインストールと基本コマンドの使用
  • MySQLは、すべてのデータを大きな倉庫に置くのではなく、異なるテーブルにデータを保存するリレーショナル・データベース管理システムです.これにより、速度が向上し、柔軟性が向上します.
  • MySQLで使用されるSQL言語は、データベースにアクセスするために最も一般的な標準化言語です.
  • は、体積が小さく、速度が速く、全体的な所有コストが低いため、特にオープンソースという特徴のため、多くの中小規模のウェブサイトがウェブサイトの全体的な所有コストを削減するためにMySQLをウェブサイトデータベースとして選択しています.
  • MySQLは、マルチユーザ、マルチスレッドの関係型データベース管理システムである.ワークモードは、クライアント/サーバ構造に基づいています.現在、ほとんどのオペレーティングシステム
  • をサポートしています.
  • 簡単に言えば、MySQLは、オープン、高速、マルチスレッド、マルチユーザのSQLデータベースサーバ
  • である.
    一.MySQLのインストールMySQLを研究するには、まずMySQLをインストールします.ここでは、Mac環境でのインストールとデータベース操作だけを紹介します.
    1.ダウンロードMySQLMySQLの公式サイトのダウンロードページを直接開いて、mac OSシステムを選んだ後に、DMGフォーマットを選んでソフトウェアをダウンロードします
    次に、次のページにジャンプします.ログインしないか、直接ダウンロードすればいいだけです(もちろん登録してログインすることもできます)
  • ダウンロード後、dmgpkgファイルに従ってインストールすればいいのですが、注意が必要なのは
  • 最後から2番目のステップを除いてデフォルト通りにインストールすれば
  • です.
  • 最後から2番目のステップでは、管理者のパスワードを設定するプロセスがあります.設定したら、必ずパスワードを覚えておいてください.後期リンクデータベースには
  • が必要です.
  • 最後にシステムプリファレンス設定を開き、最後にMySQLのアイコン
  • が表示されます.
  • が開くMySQLはデフォルトが開いている(インストール時にデフォルト設定でインストールされている場合)
  • が表示されます.
    ここまでMySQLは基本的にインストールが完了しており、構成を変更する必要はありません.
    取付Navicat for MySQL
  • Navicat for MySQLは、MySQL専用の高性能データベース管理および開発ツール
  • です.
  • それは任意のバージョン3.21以上のMySQLデータベースサーバ
  • に使用することができる.
  • は、トリガ、ストレージ・プロシージャ、関数、イベント、ビュー、管理ユーザーなど、
  • の最新バージョンの機能の大部分をサポートします.
  • 正規版ダウンロードアドレスですが、正規版は14日間の試用時間
  • しかありません.
  • インストール後、下の図に従って配置を完備すればよく、接続名は任意で、パスワードはMySQL環境をインストールするときに設定されたパスワード
  • である.
    二.MySQLの基本命令
    1.基本コマンド
  • は、まず端末を開く(MySQLのうちWindows)、以下のコマンドはいずれも端末で
  • を実行する.
  • 起動/停止サービスはcmdシステムでのみ実行する必要があり、Windows環境では
  • は必要ない.
    1-1. サービスの開始/停止
    //     
          :net start     
          :net start titansql
    
    //     
          :net stop     
          :net stop titansql

    1-2. データの接続
      :mysql -u     -p
      :mysql -u root -p
    //           (      )

    1-3. リモート接続
  • 他者または他のサーバをリンクするデータベース
  • フォーマット:Mac
  • 相手方mysql -h ip -u -pパスワード
  • を入力

    1-4. その他のコマンド
    以下のすべてのコマンドのうち、末尾にセミコロン(mysql)がある場合は省略できません.そうしないと、完全なコマンドではありません.コマンドの入力を続行するよう求められます.
    //     (       )
    select version();
    
    //      (       )
    select now();
    
    //    (    )
    quit exit

    2.データベース操作
    // 1、     
          :create database      charset=utf8;create database titansql charset=utf8;
    // 2、     
          :drop database     ;drop database titansql;
    // 3、     
          :use     ;
          :use titansql;
    // 4、          
        select database();
    

    作成完了覚えリフレッシュ;3.表の操作
    // 1、           
        show tables;
    
    // 2、   
          :create table   (    );
          :
            //id, name, age:      
            //auto_increment:         
            //primary key:       
            //int, varchar(20):       , 20        
            //not null:      
            //default:       
          :create table student(id int auto_increment primary key, name varchar(20) not null, age int not null, gender bit default 1, address varchar(20), isDelete bit default 0);
    
    
    // 3、   
          :drop table   ;drop table student;
    
    // 4、     
          :desc   ;
          :desc student;
    
    // 5、      
          :show create table   ;show create table student;
    
    // 6、     
          :rename table     to    ;rename table car to newCar;
    
    // 7、   
          :alter table    add|change|drop      ;alter table newcar add isDelete bit default 0

    4.データ操作
    1、 
        a、    
              :insert into    values(...);
              :        ,            ,    0,             
              :insert into student values(0, "tom", 19, 1, "  ", 0);
        b、    
              :insert into   ( 1, 2,……) values( 1, 2,……);insert into student(name, age, address) values("titan", 19, "  ");
        c、        
              :insert into    values(...),(...),……
              :insert into student values(0, "jun", 18, 0, "  ", 0), (0, "poi", 22, 1, "  ", 0), (0, "coder", 20, 0, "   ", 0);
    2、 
          :delete from    where   ;delete from student where id=4;
          :         ,  
    3、 
          :update    set  1= 1, 2= 2,…… where   ;update student set age=16 where id=7;  
          :           ,  
    4、 
          :         
          :select * from   ;select * from student;
    

    5.クエリーデータ
    1、基本文法
  • フォーマット:Navicat for MySQL
  • 説明:
  • select * from ;キーワードの後ろにテーブル名があり、データがこのテーブル
  • に由来ことを示す.
  • fromの後に表の列名を書きます.もし*が結果セットに表のすべての列を表示する
  • であれば.
  • selectの後の列名部分は、結果セット
  • に表示するselectを使用して列名に別名を付けることができる.
  • 複数のカラムをクエリーする場合は、カンマで
  • を区切ります.
  • 例:
  • //      
    select * from student;
    
    //      
    select name, age from student;
    
    //         
    select name as a, age from student;

    重複行の削除
  • asの後の列の前にselectを使用すると、重複する行
  • を除去することができる.
  • 例:
  • select gender from student;
    select distinct gender from student;

    条件クエリー
    // 1、  
        select * from    where   
    
    // 2、     
                      =
                      >
                      <
                    >=
                    <=
                     != <>
          :  id   8select * from student where id>8;
    
    // 3、     
            and      
            or       
            not     
    
          :  id   7select * from student where id>7 and gender=0;
    
    // 4、    (like)
            %:           
            _:         
    
          :       
          :
            select * from student where name like " %";
            select * from student where name like " _";
    
    // 5、    
            in                            
            between...and...81012select * from student where id in (8,10,12);
          :     6 8select * from student where id between 6 and 8;
    
    // 6、   null ""    
               :is null
                : is not null
    
          :         
          :select * from student where address is null;
          :        
          :select * from student where address is not null;
    
    // 7、   notand oror,    ()   

    集約アクション
  • 統計データを迅速に待つために、5つの集約関数を提供します.
  • distinct:合計行数を計算することを示し、カッコに*とカラム名を書くことができる
  • count(*):この列の最大値を求める
  • を表す.
  • max( ):この列の最小値を求める
  • を表す.
  • min( ):この列を求める和
  • を表す
  • sum( ):この列を求める平均値
  • を示す.
    //  :      
    select count(*) from student;
    
    //  :          
    select max(id) from student where gender=0;
    
    //  :          
    select min(id) from student where gender=0;
    
    //  :          
    select sum(age) from student;
    
    //  :            
    select avg(age) from student;

    グループ化
  • は、フィールドに従ってグループ化され、このフィールドと同じデータが1つのセットに格納されることを示す.
  • パケット化すると、同じデータ列しかクエリーできず、差異のあるデータ列は結果セット
  • に表示できない.
  • は、パケット化後のデータを統計し、集約演算
  • を行うことができる.
  • 構文:
  • avg( )

  • 需要:男女合計
  • を検索
  • 例:
  • select gender,count(*) from student group by gender;
    select name,gender,count(*) from student group by gender,age;

    グループ化されたデータのフィルタ:
    select  1, 2,  …… from    group by  1, 2, 3,…… having  1,……  ……;select gender,count(*) from student group by gender having gender;
    select 1, 2, …… from group by 1, 2, 3,……;whereの違い:-havingwhereの後に指定されたテーブルをフィルタリングし、元のデータに対するフィルタリングに属する-fromhavingの結果をフィルタリングする
    ツールバーの
  • 構文:group by
  • 説明:
  • は、カラム1に従ってデータをソートし、あるカラム1の値が同じである場合、カラム2に従って
  • をソートする.
  • デフォルトでは、小さい順に
  • がソートされます.
  • select * from order by 1 asc|desc, 2 asc|desc , ……;:昇順
  • asc:降順
  • //  :              
    select * from student where isDelete=0 order by age desc;
    select * from student where isDelete=0 order by age desc, id desc;

    ページング
  • 構文:desc
  • 説明:select * from limit start,count;インデックス0から
  • 例:
  • select * from student limit 0,3;
    select * from student limit 3,3;
    select * from student where gender=1 limit 0,3;

    関連付け
    //     :
        1、create table class(id int auto_increment primary key, name varchar(20) not null, stuNum int not null);
    
        2、create table students(id int auto_increment primary key, name varchar(20) not null, gender bit default 1, classid int not null, foreign key(classid) references class(id));
    
    
    //       
        select * from students;
    
    
        /*     :
          :
        1、 A inner join  B:
             A  B            
        2、 A left join  B:
             A  B            ,   A      ,        null  
        3、 A right join  B:
             A  B            ,   B      ,        null  
        */
    select students.name,class.name from class inner join students on class.id=students.classid;
    
    select students.name,class.name from class left join students on class.id=students.classid;
    
    select students.name,class.name from class right join students on class.id=students.classid;
    

    これで、startでよく使われるコマンドラインのいくつかも基本的に紹介されました.次に、MySQLMySQLがどのように相互作用しているかを見てみましょう.PythonMySQLのインタラクション
  • Python Pythonデータベースを操作するには、MySQLモジュール
  • を導入する必要がある.
  • pymysqlは、pymsqlにおいて動作Pythonのモジュールであり、MySQLpymysqlバージョン
  • をサポートする.
  • まずpython3.xをインストールし、端末は文
  • を実行する.
    pip3 install pymysql

    1.データベース接続の作成
    #      
    #   1:mysql       IP(   IP  ,        localhost)
    #   2:   
    #   3:  
    #   4:        
    
    db = pymysql.connect('localhost', 'root', 'titanjun', 'titansql')
    
    
    #     ,            
    cursor = db.cursor()
    
    #   sql  
    sql = "select version()"
    
    #   sql  
    cursor.execute(sql)
    
    #        
    data = cursor.fetchone()
    print(data)
    
    #     
    cursor.close()
    
    #      
    db.close()
    

    2.テーブルの作成
    import pymysql
    
    db = pymysql.connect('localhost', 'root', 'jun.0929', 'titansql')
    
    #     ,            
    cursor = db.cursor()
    
    #   
    #              ,        
    cursor.execute("drop table if exists userinfo")
    
    #    
    try:
        sql = "create table userinfo(id int auto_increment primary key, age int not null)"
        cursor.execute(sql)
        print('    ')
    except:
        print('     ')
    
    
    cursor.close()
    db.close()

    3.テーブルにデータを挿入する
    
    import pymysql
    
    db = pymysql.connect('localhost', 'root', 'jun.0929', 'titansql')
    
    cursor = db.cursor()
    
    #           
    sql = 'insert into userinfo values'
    
    for i in range(10, 20):
        ageStr = "(0, %d)" % i
        addsql = sql + ageStr
    
        try:
            cursor.execute(addsql)
            #       ,                
            db.commit()
            print('      ')
        except:
            #                 ,             
            db.rollback()
            print('      ')
    
    cursor.close()
    db.close()

    4.データの変更/更新/削除
    import pymysql
    
    db = pymysql.connect('localhost', 'root', 'jun.0929', 'titansql')
    cursor = db.cursor()
    
    #   /         
    sql = 'update userinfo set age=30 where id=4'
    #          
    # sql = 'delete from userinfo where age=16'
    
    try:
        cursor.execute(sql)
        db.commit()
        print('      ')
    except:
        db.rollback()
        print('      ')
    
    cursor.close()
    db.close()

    5.クエリーデータ
  • pymysql:次のクエリ結果セットを取得します.結果セットはオブジェクト
  • です.
  • fetchone:すべての戻り行
  • を受信する.
  • fetchall:読み取り専用属性であり、rowcountメソッドの影響を返す行数
  • を返します.
    import pymysql
    
    db = pymysql.connect('localhost', 'root', 'jun.0929', 'titansql')
    cursor = db.cursor()
    
    #        
    sql = 'select * from userinfo where age>16'
    
    try:
        cursor.execute(sql)
    
        #         
        print(cursor.fetchone())
        print('   -%d-   ' % cursor.rowcount)
    
        result = cursor.fetchall()
        for row in result:
            print('%d--%d' % (row[0], row[1]))
    
        print('      ')
    
    except:
        print('      ')
    
    cursor.close()
    db.close()

    これで、PythonとMySQLのインタラクションの最も基本的な最も簡単な使用も紹介しました.