柚子快報邀請碼778899分享:mysql對數(shù)據(jù)庫的增刪改
柚子快報邀請碼778899分享:mysql對數(shù)據(jù)庫的增刪改
目錄
DML語句:
增加數(shù)據(jù)(insert語句)
增加數(shù)據(jù)(insert into select)
修改數(shù)據(jù)(update語句)
?【where 子句條件】
刪除數(shù)據(jù)(delete語句)
刪除數(shù)據(jù)(truncate語句)
-- delete truncate drop 區(qū)別
DQL語言
查詢語句語法規(guī)則
where 子句:
like 關(guān)鍵字:
in關(guān)鍵字
null值查詢
常用的聚合函數(shù)
例子:
group by 和having 分組
group by :
having :?
Order by
limit關(guān)鍵字
limit實現(xiàn)分頁顯示的方式
擴(kuò)展了解
DML語句:
數(shù)據(jù)刪除:delete 主要功能是刪除數(shù)據(jù)庫中已有的記錄,可以依照條件去做修改
數(shù)據(jù)增加:insert 主要功能是給數(shù)據(jù)庫表增加記錄
數(shù)據(jù)修改:update 主要功能是修改數(shù)據(jù)庫表中已有的記錄,可以根據(jù)條件去修改
增加數(shù)據(jù)(insert語句)
insert into 表名 (字段名,字段名,...,字段名)??values/value (值,...,值)
其中:
“()” 包含的內(nèi)容可以省略;
? 字段或值之間用英文逗號隔開;
? 可同時插入多條數(shù)據(jù),values 后用英文逗號隔開;
? values和value的方式均可。
增加數(shù)據(jù)(insert into select)
insert into select?語句從一個表復(fù)制數(shù)據(jù),然后把數(shù)據(jù)插入到一個已存在的表中。目標(biāo)表中任何已存在的行都不會受影響。
insert into newstu(xingming,xingbie,classid) select sname,ssex,classid from student;
create table select :被插入表不能存在 ,被插入表沒有任何約束
create table stu1 select sid,sname,birthday from student;
修改數(shù)據(jù)(update語句)
update 表名 set 字段名=值,字段名=值,...,字段名=值
?【where 子句條件】
?where 子句 中的條件是對表中每一條數(shù)據(jù)進(jìn)行判斷,
?判斷成立該數(shù)據(jù)的父句執(zhí)行,
判斷不成立該數(shù)據(jù)的父句不執(zhí)行
刪除數(shù)據(jù)(delete語句)
?delete from 表名 【where 子句】
刪除數(shù)據(jù)(truncate語句)
清空表 、截斷表????:?truncate 表名
功能:清空某一張表內(nèi)的全部數(shù)據(jù),重置自增計數(shù)器;
特點:由于沒有條件約束,所以速度快,而且效率高
-- delete truncate drop 區(qū)別
-- delete 只刪數(shù)據(jù)
-- truncate 不僅把數(shù)據(jù)刪掉,還刪除了索引
-- drop 不僅把數(shù)據(jù)刪掉,還刪除了索引,表結(jié)構(gòu)也刪了
DQL語言
DQL(Data Query Language 數(shù)據(jù)查詢語言)。用途是查詢數(shù)據(jù)庫數(shù)據(jù),如SELECT語句。是SQL語句中最核心、最重要的語句,也是使用頻率最高的語句。其中,可以根據(jù)表的結(jié)構(gòu)和關(guān)系分為單表查詢和多表聯(lián)查。?
所有的查詢都會得到一張?zhí)摂M表
最簡單查詢:select 123; ????select ‘a(chǎn)dc’; ?????select 1+1;
查詢語句語法規(guī)則
select [distinct] {*\表.*} from 表1 ?[left\right\inner join 表2 on 表之間關(guān)系] [where] [group by] [having] [order by] [limit {[位置偏移量]行數(shù)}]
distinct:設(shè)定可以去掉重復(fù)記錄
as:表名或者字段名過長時,可以用AS關(guān)鍵字起別名,方便操作。
group by:按組分類顯示查詢出的數(shù)據(jù)。
having:GROUP BY分組時依賴的分組條件。
order by:將查詢出來的結(jié)果集按照一定順序排序完成。
limit:限制顯示查詢結(jié)果的條數(shù)。
where 子句:
select * from 表名 where 條件
條件:為篩選條件,如不指定則修改該表中的所有數(shù)據(jù)
like 關(guān)鍵字:
select * from 表名 where 字段 like 條件;
where 子句中,使用like關(guān)鍵字進(jìn)行模糊查詢
% 任意多的任意字符
?_ 一個任意字符
select * from student where sname like '%楊%'
select * from student where sname like '楊_'
in關(guān)鍵字
select * from 表名 where 字段 in (值1,值2...);
查詢的字段的值,至少與IN 后的括號中的一個值相同;
null值查詢
select * from 表名 where 字段 is null | not null;
NULL代表“無值”
須使用 IS NULL 或 IS NOT NULL 比較操作符去比較
常用的聚合函數(shù)
函數(shù)名 返回值 AVG(col) 返回指定列的平均值 COUNT(col) 返回指定列中非NULL值的個數(shù) MIN(col) 返回指定列的最小值 MAX(col) 返回指定列的最大值 SUM(col) 返回指定列的所有值之和
例子:
select count(*) from student;
select sum(score) from sc;
select avg(score) from sc;
select max(score) from sc;
select min(score) from sc;
group by 和having 分組
group by :
1、對所有的數(shù)據(jù)進(jìn)行分組統(tǒng)計;
2、分組的依據(jù)字段可以有多個,并
依次分組
having :?
與GROUP BY結(jié)合使用,進(jìn)行分組 后的數(shù)據(jù)篩選
select sid, sum(score),avg(score) from sc group by sid
having 對分組聚合后的數(shù)據(jù)進(jìn)行條件篩選
select sid, sum(score),avg(score) from sc ?
where score < 60
group by sid
having avg(score) < 60
Order by
select * from 表名 order by 字段 desc(降序) | asc(升序);
ORDER BY 表示對SELECT語句查詢得到的結(jié)果,按字段名進(jìn)行排序;
limit關(guān)鍵字
select * from 表名 limit n,m
LIMIT關(guān)鍵字是MySQL特有關(guān)鍵字;
LIMIT限制SELECT返回結(jié)果的行數(shù);
n 表示第一條記錄的偏移量,m 表示顯示記錄的數(shù)量;
limit實現(xiàn)分頁顯示的方式
擴(kuò)展了解
在mysql中使用limit關(guān)鍵字,而且需要放在select語句的最后面,如果是oracle 需要基于rownum來統(tǒng)計行數(shù)
Select rownum,name,salary from employees where rownum<5 order by salary desc;
柚子快報邀請碼778899分享:mysql對數(shù)據(jù)庫的增刪改
好文閱讀
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。
轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。