天天看點

5、mysql表内容操作表内容操作

[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開頭的所有(一個字元)

  • select * from 表 where name like 'ale_'

c、限制

前5行

  • select * from 表 limit 5;

從第4行開始的5行

  • select * from 表 limit 4,5;
  • select * from 表 limit 5 offset 4

d、排序

根據 “列” 從小到大排列

  • select * from 表 order by 列 asc

根據 “列” 從大到小排列

  • select * from 表 order by 列 desc

根據 “列1” 從大到小排列,如果相同則按列2從小到大排序

  • select * from 表 order by 列1 desc,列2 asc

e、分組

==group by 必須在where之後,order by之前==
==條件語句包含函數的不能用where,隻能用having==
  • select num from 表 group by 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 表 group by 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

繼續閱讀