5、mysql表の内容操作

2600 ワード

[toc]
表の内容操作
1、増加
  • insert intoテーブル(カラム名、カラム名...)values(値、値、値...)
  • insert intoテーブル(カラム名、カラム名...)values(値、値、値...)、(値、値、値...)
  • insert intoテーブル(カラム名、カラム名...)select(カラム名、カラム名...)fromテーブル
  • 2、削除
  • delete fromテーブル
  • delete fromテーブルwhere id=1 and name='alex'
  • 3、変更
  • updateテーブルset name='alex'where id>1
  • 4、調べる
  • select*fromテーブル
  • select*fromテーブルwhere id>1
  • select nid,name,gender as gg fromテーブルwhere id>1
  • 5、その他
    a、条件
  • select*fromテーブルwhere id>1 and name!='alex' and num = 12;
  • select*fromテーブルwhere id between 5 and 16;
  • select*fromテーブルwhere id in(11,22,33)
  • select*fromテーブルwhere id not in(11,22,33)
  • select*fromテーブルwhere id in(select nid fromテーブル)
  • b、ワイルドカード
    ale先頭のすべて(複数文字列)
  • select*fromテーブルwhere name like'ale%'
  • ale先頭のすべて(1文字)
  • select*fromテーブルwhere name like'ale_'

  • c、制限
    最初の5行
  • select*fromテーブルlimit 5;

  • 4行目から5行目
  • select*fromテーブルlimit 4,5;

  • 4行目から5行目
  • select*fromテーブルlimit 5 offset 4
  • d、並べ替え
    「列」に従って小さいものから大きいものに並べる
  • select*fromテーブルorder by列asc
  • [列](Columns)に従って大から小へ並べ替えます.
  • select*fromテーブルorder by列desc
  • 「列1」に従って大から小へ並べ替え、同じ場合は列2に従って小から大へ並べ替える
  • select*fromテーブルorder by列1 desc、列2 asc
  • e、グループ
    ==groupbyはwhereの後、order byの前でなければなりません==
    ==条件文関数を含むwhereは使用できません.having==のみ使用できます.
  • select num fromテーブルgroupby num
  • select num,nid fromテーブルgroup by num,nid
  • select num,nid fromテーブルwhere nid>10 group by num,nid order nid desc
  • select num,nid,count(*),sum(score),max(score),min(score)fromテーブルgroup by num,nid
  • select num fromテーブルgroupby num having max(id)>10
  • f、連結表
    A、B表にあるものはすべて表示されます
    select A.num, A.name, B.name
    from A,B
    Where A.nid = B.nid
    

    A、B表のみ表示されます
    ==inner join==
    select A.num, A.name, B.name
    from A inner join B
    on A.nid = B.nid
    

    A表すべて表示、Bに対応関係がない場合null
    ==left join==
    select A.num, A.name, B.name
    from A left join B
    on A.nid = B.nid
    

    B表すべて表示、Bに対応関係がない場合null
    ==right join==
    select A.num, A.name, B.name
    from A right join B
    on A.nid = B.nid
    

    g、組み合わせ
    コンビネーション
    ==union==
    select nickname
    from A
    union
    select name
    from B
    

    コンビネーション
    ==union all==
    select nickname
    from A
    union all
    select name
    from B
    

    h、集約関数
  • カウント:count
  • 最大値:max
  • 最小値:min
  • 合計:sum
  • 平均値:avg