day 28データベース

6851 ワード

1.概要とインストール
  • データベースは、大量のデータのいずれかを操作することができる
  • .
  • データベースはデータベース管理システム管理データ
  • を必要とする.
  • mysql無料オープンソースは6以前のバージョンで、中小型
  • Oracle有料、大中型
  • mysqlは1台のサーバーで、データ倉庫を格納して、ユーザーは倉庫の中で1つの自分で使うその中に含む倉庫を作成して、最終的にデータを格納するのは表
  • です.
  • クラス対応表、メンバー変数対応列、各行データはクラスオブジェクト
  • である.
  • インストール時に2つのパスを変更する必要があります.最初と最後(インストールとデータストレージの位置)でないと、
  • がアンインストールされません.
    2.コマンド
  • 端末でリンクサービスを開始するには、net start mysql(管理者権限が必要かもしれない)またはservices.msc再手動オープン
  • オープンコマンドmysql-u root-pパスワード
  • exit終了
  • グラフィックス操作ツールsqlyog
  • sql操作コマンド大文字小文字を区別しない
  • タイプint double varchar(可変文字型)date(日付は年月日のみ)
  • 3.データテーブルの作成
    /*
             
        create database     ;
    */
    CREATE DATABASE mybase;
    /*
           
      use     
    */
    USE mybase;
    /*
                  
           create table   (
                1        ,
                2        ,
                3        
          );
               ,    ,  ,     
              ,       ,         ,   
          primary key AUTO_INCREMENT
                ,      
    */
     CREATE TABLE users (
         uid INT PRIMARY KEY AUTO_INCREMENT ,
         uname VARCHAR(20),
         uaddress VARCHAR(200)
     );
    /*show tables         
    desc  users          
    drop table users      
    */
    

    4.データの修正
    /*
                
                  
         :
         update    set  1= 1, 2= 2 where   
         where   :        
    */
    
    --       ,     15999
    UPDATE product SET price = 15999 WHERE id=2
    
    --       ,         ,  ,100
    UPDATE product SET pname='     ', price=100 WHERE id = 6
    
    /*
               
        id=6
        id<>6
        id<=6  
             && || !
        && and
        || or 
        ! not
        
        id in (1,3,4,5,6)   
    */
    --        ,      ,     2000
    UPDATE product SET price = 2000 WHERE id = 1 OR id = 7;
    
    /*
             
        :
        delete from    where   
        
        drop table           
    */
    --      
    DELETE FROM product WHERE id=8;
    
    

    5.表の構造の変更
     CREATE TABLE users (
         uid INT PRIMARY KEY AUTO_INCREMENT,
         uname VARCHAR(20),
         uaddress VARCHAR(200)
     );
     /*
           ,    
        alter table    add           
     */
      ALTER TABLE users ADD tel INT ;
      
      /*
           ,         
            ,        
        alter table    modify           
      */
      ALTER TABLE users MODIFY tel VARCHAR(50);
      
      /*
             
         alter table    change                
      */
      ALTER TABLE users CHANGE tel newtel DOUBLE;
      
      /*
           
        alter table    drop     
      */
      ALTER TABLE users DROP newtel;
      
      /*
             
         rename table    to    
      */
      RENAME TABLE users TO newusers
      
    

    6.データの追加
    CREATE TABLE product(
       --    ,    
       id INT PRIMARY KEY AUTO_INCREMENT,
       --     ,    ,  
       pname VARCHAR(100) NOT NULL,
       --      ,double
       price DOUBLE
    );
    
    /*
                 insert
         :
         insert into   (  1,  2,  3) values ( 1, 2, 3)
           :
              ,    
                ,
               ,    
    */
    
    INSERT INTO product (id,pname,price) VALUES (1,'   ',5555.99);
    INSERT INTO product (id,pname,price) VALUES (2,'    ',9999);
    
    /*
             ,     
         :
         insert into    (  ) values ( )
    */
    INSERT INTO product (pname,price) VALUES('   ',800);
    /*
             ,      
         :
         insert into    values (   )
    */
    INSERT INTO product VALUES (4,'   ',300.25);
    
    /*
             ,    
         :
         insert into    (  1,  2,  3) values ( 1, 2, 3),( 1, 2, 3)
    */
    INSERT INTO product (pname,price) VALUES 
    ('     ',25999.22),
    ('    ',1250.36),
    ('  ',5899.02)
    -- insert into product (pname,price) values ('   ',485.02)
    -- INSERT INTO product (id,pname,price) VALUES (7,'  ',485.02)
    

    7.データテーブル照会
    CREATE TABLE zhangwu (
      id INT PRIMARY KEY AUTO_INCREMENT, --   ID
      zname VARCHAR(200), --     
      zmoney DOUBLE --   
    );
    INSERT  INTO zhangwu(id,zname,zmoney) VALUES (1,'    ',247);
    INSERT  INTO zhangwu(id,zname,zmoney) VALUES (2,'    ',12345);
    INSERT  INTO zhangwu(id,zname,zmoney) VALUES (3,'    ',1000);
    INSERT  INTO zhangwu(id,zname,zmoney) VALUES (4,'    ',325);
    INSERT  INTO zhangwu(id,zname,zmoney) VALUES (5,'    ',8000);
    INSERT  INTO zhangwu(id,zname,zmoney) VALUES (6,'     ',8000);
    INSERT  INTO zhangwu(id,zname,zmoney) VALUES (7,NULL,5000);
    
    
    /*
               
         :
         select   1,  2 from   
    */
    SELECT zname,zmoney FROM zhangwu;
    
    /*
              
        :
        select * from   
    */
    SELECT * FROM zhangwu;
    
    /*
               
       DISTINCT         
    */
    SELECT  DISTINCT zname FROM zhangwu
    
    /*
             
      as    
    */
    SELECT zname AS 'name' FROM zhangwu 
    
    /*
           ,        
              
    */
    SELECT zname,zmoney+1000 AS'sum' FROM zhangwu
    
    --          
    SELECT * FROM zhangwu WHERE zname='    '
    
    --       1000
    SELECT * FROM zhangwu WHERE zmoney>1000
    
    --      2000 5000   
    SELECT * FROM zhangwu WHERE zmoney >= 2000 AND zmoney <= 5000
    --    between and   
    SELECT * FROM zhangwu WHERE zmoney BETWEEN 2000 AND 5000
    
    --       1000,3500,5000     
    SELECT * FROM zhangwu WHERE zmoney = 1000 OR zmoney=3500 OR zmoney=5000
    --    in  
    SELECT * FROM zhangwu WHERE zmoney  IN (1000,3500,5000)
    
    
    -- like           
    --        
    SELECT * FROM zhangwu WHERE zname LIKE '%  %'
    
    
    --       ,     
    SELECT * FROM zhangwu WHERE zname LIKE'_____'
    
    --      ,    
    SELECT * FROM zhangwu WHERE zname IS NOT NULL
    
    SELECT * FROM zhangwu WHERE   NOT ( zname IS NULL)
    
    

    8.クエリーのソート
    /*
        ,        
        ,  ,      
      order by    [desc][asc]
      desc   
      asc      ,    
    */
    --      ,      
    SELECT * FROM zhangwu ORDER BY zmoney ASC
    
    --      ,      
    SELECT * FROM zhangwu ORDER BY zmoney DESC
    
    --      ,       ,       
    --       where         
    SELECT * FROM zhangwu WHERE zname LIKE'%  %' ORDER BY zmoney DESC
     
    

    9.グループクエリー
    ]/*
               
                 
                 
                 
                 
                   
        
            :  group by       
                
        select      ,     ,    select       
    */
      SELECT SUM(zmoney),zname FROM zhangwu GROUP BY zname
      
    --  zname          ,      
    SELECT SUM(zmoney)AS 'getsum',zname FROM zhangwu WHERE zname LIKE'%  %'
    GROUP BY zname
    ORDER BY getsum DESC
    
    --  zname          ,      ,       5000
    --          ,      ,    where,        ,    having
    SELECT SUM(zmoney)AS 'getsum',zname FROM zhangwu WHERE zname LIKE'%  %'
    GROUP BY zname HAVING getsum>5000
    

    10.集約関数
    /*
                 
    */
    
    -- count   ,             count(  )
    --         ,        
    SELECT COUNT(*)AS'count' FROM zhangwu
    
    -- sum  ,             sum(  )
    --       ,          
    SELECT SUM(zmoney) FROM zhangwu
    --   ,          
    SELECT SUM(zname) FROM zhangwu WHERE zname LIKE'%  %'
    
    INSERT INTO zhangwu (zname) VALUES ('    ')
    
    -- max   ,     ,     
    SELECT MAX(zmoney) FROM zhangwu
    
    -- avg   ,             
    SELECT AVG(zmoney)FROM zhangwu