MySQL-04-CRUD补充
5、CRUD補充
增:
create table t122(
id int auto_increment primary key,
name varchar(32),
gender char(2)
)engine=innodb default charset=utf8;
-
insert into table (屬性名···) values(對應的值1),(對應值2);
-
可以在查詢中插入
- insert into t11 (name, gender) select name, gender from t12;直接寫select 不用謝values了
刪
delete from table; :全部刪除
- 條件刪除:
delete from table where id > 10;
刪掉姓李的并且id > 10
delete from table where id > 10 or name like 李%;
- where后的限定詞:
不等於:
id != 10
id <> 10
在集合裏:
id in (1,2,10);
不在集合裏:
id not int (1,2,3,41,19);
在區間之間:
id between 1 and 10;注意這個是閉區間:兩邊都有!
改
update table set 屬性=?,屬性=? where 限定;
查
查的種類就比較多了,
1、通配符之模糊查詢
%:表示不定數量個
_:表示一個
select * from t11 where name like '冰%'; 冰開頭的
select * from t11 where name like '冰_';
必須是兩個字的!
2、分頁查詢
這個索引像是數組的索引
select * from table limit 開始的索引,每頁顯示的個數;
- 有個計算開始的位置的公式:開始的索引 = (page - 1)*每頁顯示的條數;
3、限制查詢
記住limit 後面的是顯示的個數,而不是索引:
比如説:limit 10,3;表示從第十個開始顯示三個
4、查詢排序
關鍵字:order by 根據的那一列 desc;降序;asc升序;
可以和limit結合來差前十條或者后十條!
可以加多個排序,默認先判斷第一個,如果相等則再用後面的排!
5、分組查詢加聚合函數
- 分組查詢關鍵字:group by 根據某一列進行分組,相同的根據聚合函數分組
select count(sid), student_id from score group by student_id having count(sid) > 1;
聚合函數:爲什麽叫聚合函數:就是用來聚合某一列的
- count:求個數
- sum:求某類和
- max:最大值
- min:最小值
6、鏈表查詢
有兩個方式:
不推薦:
1、select * from 表1,表2··· where 條件;
推薦的方式:
2、select * from 表1 left/right join 表2 也是多張表 on條件;
join 必須寫條件 也會是 join on成對出現!
left和right 的區別:
無論是left還是right 都是前面的表的數據顯示在前面,不同的是是否會顯示全部數據
left顯示左邊表的全部數據
right顯示右邊表的全部數據

浙公网安备 33010602011771号