mysqlデータベース実験8

10837 ワード

-今回の実験では、ビューと簡単な操作について説明します.
  • ビューは、定義されると、テーブルのようにクエリー、変更、削除、更新されます.だから私たちも追加削除操作を行うことができます.
  • select文:ビューを作成するために使用され、SELECT文で複数のテーブルまたはビューをクエリーできます.
  • WITH CHECK OPTION:更新可能ビューでの変更はselect_に適合することを指摘statementで指定した制限条件により、データが変更されても、変更されたデータがビューで表示されるようにします.
  • OR REPLACE:OR REPLACE句が与えられ、文は既存の同名ビューを置き換えることができる.

  • 3.現在のデータベースがYGGLであると仮定し、xscjデータベース上のcs_を作成するkcビューには、通信工学科の学生の学号、名前、選択したカリキュラム番号、成績が含まれています.このビューの変更が、「通信エンジニアリング」という専門的な条件に合致することを保証します.show文を使用して作成したビューをクエリーし、select文を使用してビューの内容をクエリーします.
    create or replace view xscj.cs_kc
    as
    select xs.  ,  ,   ,  
    from xscj.xs,xscj.xs_kc
    where xs.  =xs_kc.   and xs.   ='    '
    with check option;
    
    show tables from xscj;
    
    select * from cs_kc;
    

    4.ビューcs_kcでは学生番号と平均成績を検索します.
    select   ,avg(  )
    from cs_kc
    group by    ;
    

    5.xscjデータベース上の通信工学専攻学生の選択科目ドア数ビューcs_を作成するkc_cは、学号(ビュー内の列名num)とカリキュラムゲート数(ビュー内の列名kc_c)を含み、クエリービューで結果を検証します.
    use xscj
    create view cs_kc_c(num,kc_c)
    as
    select   ,count(   )
    from cs_kc
    group by   ;
    
    select * from cs_kc_c;
    

    6.ビューcs_を作成するxs、ビューに生年月日1994の学生情報が含まれ、cs_xsビューに記録を挿入します:(‘081256’,‘張三’,‘通信工事’,1,‘1994-10-21’,50,NULL,NULL).select文を使用して、ビューと元のテーブルの内容をクエリーします.
    create or replace view cs_xs
    as
    select *
    from xs
    where      regexp '^1994'
    with check option;
    
    insert into cs_xs
    values('081256','  ','    ',1,'1994-10-21',50,NULL,NULL);
    
    select * from cs_xs;
    select * from xs;
    

    7.平均成績が85点以上の学生の学号と平均成績を調べる.
    create view xs_kc_avg ( num,score_avg )
    as 
    select   , avg(  )
    from xs_kc
    group by   ;
    

    8.cs_をkcビュー中学校番号081220の学生の成績は90に変更され、名前は王五となり、select文を使用して結果を検証した.
    update cs_kc
    set   =90
    where   ='081220' ;
    
    update cs_kc
    set   ='  '
    where   ='081220' ;
    
    select * from cs_kc;
    

    9.cs_を削除xsにおける張三同級生(学号’081256’)の記録.
    delete from cs_xs
    where    = '081256';
    
    

    10.cs_をxsビューは、通信工学専攻の学生の学号、名前、単位の3列のみを含むように変更されました.
    alter view cs_xs
    as
    select   ,  ,   
    from xs
    where     = '    ';
    

    11.ビューcs_を削除xs.
    drop view cs_xs;
    

    12.YGGLデータベース上のビューds_の作成view、ビューにはdepartmentsテーブルのすべての列が含まれています.
    create or replace view yggl.ds_view
    as
    select *
    from yggl.departments
    with check option;
    

    13.ビューemployeesの作成view、ビューには従業員の番号、名前、実際の収入が含まれています.
    create view employees_view(    ,  ,    )
    as
    select employees.employeeid,name,(inCome-outCome) 
    from employees,salary
    where employees.employeeid=salary.employeeid;
    

    14.ビューemployeesの作成all_viewは、従業員の番号、名前、所在する部門名、実際の収入を含む.
    create view employees_all_view(    ,  ,    ,    )
    as
    select employees.employeeID,name,departmentName,(inCome-outCome)
    from employees,salary,departments
    where employees.employeeID=salary.employeeID
    and employees.departmentID=departments.departmentID;
    

    15.ビューds_からviewで部門番号4の部門名を検索します.
    select departmentname from ds_view
    where departmentid='4';
    

    16.ビューからemployees_viewでは「李麗」という名前の従業員の実際の収入を調べた.
    select      from employees_view
    where   ='  ';
    

    17.ビューds_viewに1行のデータを挿入します:6、財務部、財務管理.
    .insert into ds_view values('6','   ','    ');
    

    18.ビューds_の変更view、部門5の部門名を「生産部」に変更
    update ds_view set departmentname='   '
    where departmentid='5';
    

    19.ビューの変更employees_viewの番号が000001の従業員の名前は「王五」です.
    update employees_view 
    set    ='  '
    where     ='000001';