IBM公司開發(fā)的eclipse
Oracle是做數(shù)據(jù)庫起家的。
Oracle收購了 MySQL AB公司跛蛋。
常見的有哪些數(shù)據(jù)庫管理系統(tǒng)呢熬的?
Oracle MySQL DB2 Sybase “MS SqlServer支持標準sql的數(shù)據(jù)庫管理系統(tǒng)”
登陸mysql
mysql -uroot -p密碼
如果我不希望別人看到密碼:
mysql -uroot -p回車
然后輸入密碼
MySQL端口號是3306(默認)
怎么卸載能卸載干凈?
1赊级、雙擊安裝包押框,點擊下一步,然后點擊remove理逊。卸載橡伞。
2、手動刪除Program Files中的MysQL目錄晋被。
3兑徘、手動刪除ProgramData目錄(這個目錄是隱藏的)中的MysQL。
MySQL中字符串類型是varchar
sql墨微、DB道媚、DBMS分別是什么,他們之間的關系
DB:DataBase(數(shù)據(jù)庫翘县,數(shù)據(jù)庫實際上在硬盤上以文件的形式存在)
DBMS:DataBase Management System(數(shù)據(jù)庫管理系統(tǒng)最域,常見的有:MySQL Oracle DB2 Sybase SqlServer...)
SQL:結(jié)構(gòu)化查詢語言,是一門標準通用的語言锈麸。標準的sql適合于所有的數(shù)據(jù)庫產(chǎn)品镀脂。
SQL屬于高級語言。只要能看動英語單詞的忘伞,寫出來的sql語句薄翅,可以讀懂什么意思。
SQL語句在執(zhí)行的時候氓奈,實際上內(nèi)部也會先進行編譯翘魄,然后再執(zhí)行sql。(sql語句的編譯由DBMS完成舀奶。)
DBMS負責執(zhí)行sql語句暑竟,通過sql語句來操作DB當中的數(shù)據(jù)。
DBMS -(執(zhí)行)-> SQL -(操作)-> DB
什么是表
表:table
表table是數(shù)據(jù)庫的基本組成單元育勺,所有的數(shù)據(jù)都以表格的形式組織但荤,目的是可讀性強。
一個表包括行和列:
行:被稱為數(shù)據(jù)/記錄(data)
列:被稱為字段(column)
每個字段應該包括哪些屬性涧至?
字段名腹躁、數(shù)據(jù)類型、相關的約束南蓬。
對SQL語句的分類
學習MySQL主要還是學習通用的SQL語句纺非,那么SQL語句包括增刪改查哑了,SQL語句怎么分類呢?
DQL(數(shù)據(jù)查詢語言): 查詢語句铐炫,凡是select語句都是DQL垒手。
DML(數(shù)據(jù)操作語言): insert delete update,對表當中的數(shù)據(jù)進行增刪改倒信。
DDL(數(shù)據(jù)定義語言): create drop alter科贬,對表結(jié)構(gòu)的增刪改。
TCL(事務控制語言): commit提交事務鳖悠,rollback回滾事務榜掌。(TCL中的T是Transaction)
DCL(數(shù)據(jù)控制語言): grant授權、revoke撤銷權限等乘综。
導入數(shù)據(jù)
第一步:登錄mysql數(shù)據(jù)庫管理系統(tǒng)
dos命令窗口:
mysql -uroot -p密碼
第二步:查看有哪些數(shù)據(jù)庫
show databases;(這個不是SQL語句憎账,屬于MySQL的命令)
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
第三步:創(chuàng)建屬于我們自己的數(shù)據(jù)庫
create database bjpowernode(庫名);(這個不是SQL語句,屬于MySQL的命令)
第四步:使用bjpowernode(庫名)數(shù)據(jù)
use bjpowernode(庫名);(這個不是SQL語句卡辰,屬于MySQL的命令)
第五步:查看當前使用的數(shù)據(jù)庫中有哪些表胞皱?
show tables;(這個不是SQL語句,屬于MySQL的命令)
第六步:初始化數(shù)據(jù)
source 文件路徑(也可以直接把文件拖過來)(這是一個sql文件)
對SQL腳本的理解
文件以sql結(jié)尾九妈,這樣的文件被稱為“sql腳本”反砌。
什么是sql腳本呢?
當一個文件的擴展名是.sql萌朱,并且該文件中編寫的大量的sql語句宴树,我們稱這樣的文件為sql腳本。
注意:直接使用source命令可以執(zhí)行sql腳本晶疼。
sql腳本中的數(shù)據(jù)量太大的時候酒贬,無法打開,請使用source命令完成初始化翠霍。
刪除數(shù)據(jù)庫:
drop database bjpowernode(庫名)锭吨;
查看表結(jié)構(gòu):
desc 表名;
表中的數(shù)據(jù):
select * from 表名;
MySQL常用命令
創(chuàng)建數(shù)據(jù)庫:
create database 數(shù)據(jù)庫名稱寒匙;
查詢當前使用的數(shù)據(jù)庫:
select database();
查看數(shù)據(jù)庫版本:
select version();
終止一條語句(結(jié)束一條語句):
\c
退出mysql:
\q或quit或exit
查看創(chuàng)建表的語句
show create table 表名;
簡單的查詢語句(DQL)
語法格式:
select 字段名1,字段名2,字段名3,...... from 表名;
提示:
1.任何一條sql語句以“;”結(jié)尾耐齐。
2.sql語句不區(qū)分大小寫。
字段可以參與數(shù)學運算蒋情。
例如,我emp表中有月薪sal耸携,我想查年薪
select sal * 12 from emp;
給查詢結(jié)果的列重命名
select sal * 12 as yearsal from emp;
別名中有中文怎么辦棵癣?
select sal * 12 as '年薪' from emp;
注意:在數(shù)據(jù)庫中寫字符串的時候建議使用單引號,不要使用雙引號夺衍,因為有些其它數(shù)據(jù)庫中不支持雙引號的字符串狈谊。
注意:標準sql語句中要求字符串使用單引號括起來。雖然mysql支持雙引號,盡量別用河劝。
as關鍵字可以省略
select sal * 12 yearsal from emp;
查詢所有字段
select * from emp;
開發(fā)中不建議這么寫壁榕,影響效率。在實際開發(fā)中不建議使用*赎瞎,效率較低牌里。
條件查詢
語法格式:
select
字段,字段.....
from
表名
where
條件;
執(zhí)行順序:先from,然后where务甥,最后select
運算符
= 等于
大于
< 小于
= 大于等于
<= 小于等于
<>或!= 不等于(這倆都行)
between...and... 兩個值之間牡辽,等同于>= and <=
between ...and... 是閉區(qū)間
一定是左邊是小數(shù)字,右邊是大數(shù)字
between and 在使用的時候必須是左小右大
between and 除了可以使用在數(shù)字方面之外敞临,還可以使用在字符串方面(左閉右開)态辛。
在數(shù)據(jù)庫當中,NULL不是一個值挺尿,代表什么也沒有奏黑,為空。
空不是一個值编矾,不能用等號衡量熟史。
必須使用 is null 或者 is not null
and 并且
or 或者
and的優(yōu)先級高于or
注意:當運算符的優(yōu)先級不確定的時候加小括號。
in 等同于or
in后面的值洽沟,不是區(qū)間以故,是具體的值。
not in 不在這幾個值當中
like 模糊查詢裆操,支持%或下劃線匹配
在模糊查詢當中怒详,必須掌握兩個特殊的符號,一個是%踪区,一個是_
%代表任意多個字符昆烁,_代表任意一個字符。
%和_都是由特殊含義缎岗,但是不排除静尼,我們需要模糊查找時,找?guī)в羞@兩個字符的传泊,所以這時候就需要 \ 轉(zhuǎn)義字符了鼠渺。
數(shù)據(jù)排序
order by ???;
通過某某某排序
注意:默認是升序排列
怎么指定升序或者降序呢?
asc表示升序眷细,desc表示降序拦盹。
例子:按照工資的降序排列,當工資相同時溪椎,再按照名字的升序排列普舆。
select ename,sal from emp order by sal desc,ename asc;
注意:多個字段恬口,越靠前的字段越能起到主導作用,只有當前面的字段無法完成排序的時候沼侣,才會啟用后面的字段祖能。
order by后面也可以跟數(shù)字,跟的是幾就表示按照第幾列來排蛾洛。
不建議這樣使用养铸。
分組函數(shù)
count 計數(shù)
sum 求和
avg 平均值
max 最大值
min 最小值
記住:所有的分組函數(shù)都是對“某一組”數(shù)據(jù)進行操作的雅潭。
分組函數(shù)一共5個揭厚。分組函數(shù)還有另一個名字:多行處理函數(shù)。
多行處理函數(shù)的特點:輸入多行扶供,最終輸出結(jié)果是一行筛圆。
分組函數(shù)自動忽略NULL。
什么是單行處理函數(shù)椿浓?
輸入一行太援,輸出一行。
重點:所有數(shù)據(jù)庫都是這樣規(guī)定的扳碍,只要有NULL參與的運算結(jié)果一定是NULL提岔。
ifnull()空處理函數(shù)
ifnull(可能為NULL的數(shù)據(jù),被當做什么處理) 屬于單行處理函數(shù)笋敞。
SQL語當中有一個語法規(guī)則碱蒙,分組函數(shù)不可以直接使用在where子句當中。
因為group by 是在where執(zhí)行之后才會執(zhí)行的夯巷。
(不用迷茫赛惩,你沒錯過,group by 在下面寫著呢趁餐,往下看E缂妗!)
count所有和count某個字段的區(qū)別:
count(*):不是統(tǒng)計某個字段中數(shù)據(jù)的個數(shù)后雷,二十統(tǒng)計總記錄條數(shù)季惯。(和某個字段無關)
count(某個字段):表示統(tǒng)計某個字段中不為NULL的數(shù)據(jù)總數(shù)量。
分組函數(shù)也能組合起來用:
select count(*),sun(sal),avg(sal),max(sal),min(sal) from emp;
fgroup by 和 having
group by :按照某個字段或者某些字段進行分組臀突。
having : having是對分組之后的數(shù)據(jù)進行再次過濾勉抓。
案例:找出每一個工作崗位的最高薪資。
select max(sal) from group by job;
注意:分組函數(shù)一般都會和group by 一起使用候学,這也是為什么它被稱為分組函數(shù)的原因琳状。
并且任何一個分組函數(shù)(count sum avg max min )都是再group by 語句執(zhí)行結(jié)束之后才會執(zhí)行的。
當一條sql語句沒有group by的話盒齿,整張表的數(shù)據(jù)會自成一組念逞。
記住一個規(guī)則:當一條語句中有group by 的話,select后面只能跟分組函數(shù)和參與分組的字段边翁。
多個字段能不能聯(lián)合起來一塊分組呢翎承?
案例:找出每個部門不同工作崗位的最高薪資。
select deptno,job,max(sal) from emp group by deptno,job;
案例:找出每個部門的最高薪資符匾,要求薪資大于2900的數(shù)據(jù)叨咖。
第一步:找出每個部門的最高薪資
select max(sal),deptno from emp group by deptno;
第二步:找出薪資大于2900
max(sal),depton from emp group by deptno having max(sal) > 2900;//這種方式效率很低
select max(sal),deptno from emp where sal > 2900 group by deptno;//這種方式效率較高,建議能夠使用where過濾的盡量使用where啊胶。
案例:找出每個部門平均薪資甸各,要求薪資大于2000的數(shù)據(jù)。
第一步:找出每個部門的平均薪資
select deptno,avg(sal) from emp group by deptno;
第二步:要求薪資大于2000的數(shù)據(jù)
select deptno,avg(sal) from emp group by deptno having avg(sal) > 2000;
那有人就要問了:為什么上邊能用where焰坪,這就不能用呢趣倾?
where后面不能使用分組函數(shù),所以這種情況只能使用having過濾某饰。
總結(jié)一個完整的DQL語句怎么寫
書寫順序不能變H辶怠!黔漂!
通過from查詢表诫尽,
經(jīng)過where條件過濾篩選,篩選出有價值的數(shù)據(jù)之后炬守,
再進行group by分組牧嫉,分完組之后,
再having進行篩選减途,篩選出有價值的數(shù)據(jù)酣藻,
然后我們把它select查出來,
最后order by排序輸出观蜗。
關于查詢結(jié)果集的去重
在需要查詢的字段前加一個distinct關鍵字
例如:select distinct job from emp;
注意:distinct只能出現(xiàn)在所有字段的最前面臊恋。distinct出現(xiàn)在最前面表示后面的字段聯(lián)合起來去重
連接查詢
什么是連接查詢?
在實際開發(fā)中墓捻,大部分的情況下都不是從單表中查詢數(shù)據(jù)抖仅,一般都是多張表聯(lián)合查詢?nèi)〕鲎罱K的結(jié)果。
在實際開發(fā)中砖第,一般一個業(yè)務都會對應多張表撤卢,
比如:學生和班級,起碼兩張表梧兼。
學生和班級信息存儲到一張表中放吩,數(shù)據(jù)會存在大量的重復,導致數(shù)據(jù)的冗余羽杰。
連接查詢怎么分類
根據(jù)語法出現(xiàn)的年代來劃分的話渡紫,包括:
SQL92(一些老的DBA科恩那個還在使用這種語法足删。DBA:DataBase Administrator,數(shù)據(jù)庫管理員)
SQL99(比較新的語法)
根據(jù)表的連接方式來劃分月趟,包括:
內(nèi)連接:
等值連接
非等值連接
自連接
外連接:
左外連接(左連接)
右外連接(右連接)
全連接(很少用)
笛卡爾積現(xiàn)象
在表的連接查詢方面有一種現(xiàn)象被稱為:笛卡爾積現(xiàn)象嫌拣。(笛卡爾乘積現(xiàn)象)
案例:找出每一個員工的部門名稱,要求顯示員工名和部門名唧喉。
笛卡爾積現(xiàn)象:如果兩張表連接的話捣卤,沒有任何條件限制,最終的查詢結(jié)果條數(shù)是兩張表中的記錄條數(shù)的乘積八孝。
select ename,dname from emp,dept;
關于表的別名:
select e.ename,d.dname from emp e,dept d;
表的別名有什么好處董朝?
第一:執(zhí)行效率高。
第二:可讀性好干跛。
怎么避免笛卡爾積現(xiàn)象呢子姜?當然是加條件進行過濾。
避免了笛卡爾積現(xiàn)象驯鳖,會減少記錄的匹配次數(shù)么闲询?
不會,次數(shù)不變浅辙,只不過顯示的是有效記錄扭弧。
案例:找出每一個員工的部門名稱,要求顯示員工名和部門名记舆。
select e.ename,d.dname from emp e,dept d where e.deptno = d.deptno;//SQL92語法鸽捻,以后不用
內(nèi)連接之等值連接
最大的特點是:條件是等量關系。
案例:找出每一個員工的部門名稱泽腮,要求顯示員工名和部門名
SQL92(太老了御蒲,不用):
select
e.ename,d.dname
from
emp e,dept d
where
e.deptno = d.deptno;
SQL99(常用的):
select
e.ename,d.dname
from
emp e
inner join
dept d
on
e.deptno = d.deptno;
語法:
...
A
inner join
B
on
連接條件
where
...
inner可以省略的,帶著inner目的是可讀性好一些诊赊。
SQL99語法結(jié)構(gòu)更清晰一些厚满,表的連接條件和后來的where條件分離了。
內(nèi)連接之非等值連接
最大的特點是:連接條件中的關系是非等量關系碧磅。
案例:找出每個員工的工資等級碘箍,要求顯示員工名、工資鲸郊、工資等級丰榴。
select
e.ename,e.sal,s.grade
from
emp e
inner join
salgrade s
on
e.salbetween s.losal and s.hisal
自連接
最大的特點是:一張表看做兩張表。自己連接自己
案例:找出每個員工的上級領導秆撮,要求顯示員工名和對應的領導名四濒。
select
a.ename as '員工名',b.ename as '領導名'
from
emp a
inner join
emp b
on
a.mgr = b.empno
外連接
什么是外連接,和內(nèi)連接有什么區(qū)別?
內(nèi)連接:
假設A表和B表進行連接盗蟆,使用內(nèi)連接的話戈二,凡是A表和B表能夠匹配上的記錄查詢出來,這就是內(nèi)連接喳资。
AB兩張表沒有主副之分挽拂,兩張表是平等的。
外連接:
假設A表和B表進行連接骨饿,使用外連接的話,AB兩張表有一張表是主表台腥,一張表是副表宏赘,主要查詢主表中的數(shù)據(jù),捎帶著查詢副表黎侈。當副表中的數(shù)據(jù)沒有和主表中的數(shù)據(jù)匹配上察署,副表自動模擬出NULL與之匹配。
外連接的分類:
左外連接(左連接):表示左邊的這張表是主表峻汉。
右外連接(右連接):表示右邊的這張表是主表贴汪。
左連接有右連接的寫法,右連接也會有對應的左連接的寫法
案例:找出每個員工的上級領導
左連接:
select
a.ename as '員工名',b.ename as '領導名'
from
emp a
left outer join
emp b
on
a.mgr = b.empno
右連接:
select
a.ename as '員工名',b.ename as '領導名'
from
emp b
right outer join
emp a
on
a.mgr = b.empno
outer是可以省略休吠。
在以后的實際開發(fā)中扳埂,外連接使用居多。
3張以上表怎么連接查詢
...
A
join
B
join
C
on
...
表示:A表和B表先進行表連接瘤礁,連接之后A表繼續(xù)和C表進行連接阳懂。
案例:找出每一個員工的部門名稱以及工資等級。
select
e.ename,d.dname,s.grade
from
emp e
join
dept d
on
e.deptno = d.deptno
join
salgrade s
on
e.sal between s.losal and s.hisal;
e表先和d表連接柜思,連接條件是e.deptno = d.deptno岩调,然后e表和s表連接,條件是 e.sal between s.losal and s.hisal;
子查詢
什么是子查詢赡盘?子查詢都可以出現(xiàn)在哪里号枕?
select語句當中嵌套select語句,被秦韜的select語句是子查詢陨享。
子查詢可以出現(xiàn)在哪里葱淳?
where子句中使用子查詢
案例:找出高于平均薪資的員工信息。
第一步:找出平均薪資
select avg(sal) from emp;
得到一個平均值
第二步:where過濾
select * from emp where sal > 那個值;
第一步和第二步合并:
select * from emp where sal > (select avg(sal) from emp);
from后面嵌套子查詢
案例:找出每個部門平均薪水的薪資等級霉咨。
第一步:找出每個部門平均薪水(按照部門編號分組蛙紫,求sal的平均值)
select deptno,avg(sal) from emp group by deptno;
第二步:將以上的查詢結(jié)果當作臨時表t,讓t表和salgrade s表連接途戒,條件是:t.avgsal between s.losal and s.hisal
select t.*,s.grade from (select deptno,avg(sal) from emp group by deptno) t join s on t.avgsal between s.losal and s.hisal;
案例:找出每個部門平均的薪水等級
第一步:找出每個員工的薪水等級坑傅。
select e.ename,e.sal,e.deptnno,s.grade from emp e join salgrade s on e.sal between s.losal and s.hisal;
第二步:基于以上結(jié)果,繼續(xù)按照deptno分組喷斋,求grade平均值唁毒。
select e.deptno,avg(s.grade) from emp e join salgrade s on e.sal between s.losal and s.hisal group by e.deptno;
在select后面嵌套子查詢
案例:找出每個員工所在的部門名稱蒜茴,要求顯示員工名和部門名。
union(可以將查詢結(jié)果集相加)
案例:找出工作崗位是SALESMAN和MANAGER的員工
第一種:select ename,job from emp where job = 'MANAGER' or job = 'SALESMAN';
第二種:select ename,job from emp where job in( 'MANAGER' , 'SALESMAN');
第三種:
select ename,job from emp where job = 'MANAGER'
union
select ename,job from emp where job = 'SALESMAN';
兩張不相干的表中的數(shù)據(jù)拼接在一起顯示浆西,就得使用union了粉私。
union在用的時候有一個特點,就是你第一個查詢結(jié)果的這個列的數(shù)量近零,必須跟第二個查詢結(jié)果的這個列的數(shù)量一致诺核。
limit(重點中的重點)
以后分頁查詢?nèi)克?/p>
limit是MySQL特有的,其他數(shù)據(jù)庫沒有久信,不通用窖杀。(Oracle中有一個相同的機制,叫做rownum)
limit取結(jié)果集中的部分數(shù)據(jù)裙士,這是它的作用入客。
語法機制:
limit startIndex,length
startIndex 表示起始位置
length 表示取幾個
案例:取出工資前五名的員工(思路:降序取前五個)
排序:
select ename,sal from emp order by sal desc;
取前五個:
select ename,sal from emp order by sal desc limit 0,5;
select ename,sal from emp order by sal desc limit 5;
limit是sql語句最后執(zhí)行的一個環(huán)節(jié):
案例:找出工資排名在第4到第9名的員工
select ename,sal from emp order by sal desc limit 3,6;
每頁顯示pageSize條記錄:
第pageNo頁:(pageNo - 1),pageSize
pageSize:每頁顯示多少條記錄
pageNo:顯示第幾頁
表的創(chuàng)建
建表語句的語法格式:
create table 表名(
字段名1 數(shù)據(jù)類型,
字段名2 數(shù)據(jù)類型,
字段名3 數(shù)據(jù)類型,
......
);
關于MySQL當中字段的數(shù)據(jù)類型:(以下只說常見的)
int 整數(shù)型(java中的int)
bigint 長整型(java中的long)
float 浮點型(java中的float double)
char 定長字符串(String)
varchar 不定長字符串/可變長字符串(StringBuffer/StringBuilder)
date 日期類型(對應Java中java.sql.Date類型)
BLOB 二進制大對象(存儲圖片、視頻等流媒體信息)Binary Large OBject (對應java中的Object)
CLOB 字符大對象(存儲較大文本腿椎,比如桌硫,可以存儲4G的字符串)Character Large OBject (對應java中的Object)
......
char和varchar怎么選擇?
在實際的開發(fā)中啃炸,當某個字段中的數(shù)據(jù)長度不發(fā)生改變的時候铆隘,是定長的,例如:性別肮帐、生日等都是采用char咖驮。
當一個字段的數(shù)據(jù)長度不確定,例如:簡介训枢、姓名等都是采用varchar托修。
表名在數(shù)據(jù)庫當中一般建議以:t_或者tbl_開始。
向表中插入數(shù)據(jù)
語法格式:
insert into 表名(字段名1,字段名2,字段名3,......) values (值1,值2,值3,......);
要求:字段的數(shù)量和值的數(shù)量相同恒界,并且數(shù)據(jù)類型要對應相同睦刃。
可以顛倒順序?qū)?br> 可以只寫幾個,只寫幾個字段的意思是十酣,只給這幾個字段賦值涩拙,其他為NULL
刪除表:
drop table if exists 表名;
注意:當一條insert語句執(zhí)行成功之后,表格中必然會多一行記錄耸采。即使多的這一行記錄當中某些字段是NUL兴泥,后期也沒有辦法執(zhí)行insert語句插入數(shù)據(jù)了,只能使用update進行更新虾宇。
字段可以省略不寫搓彻,但是后面的value對數(shù)量和順序都有要求。
一次插入多行數(shù)據(jù)
insert into 表名(字段名1,字段名2,字段名3,......) values (值1,值2,值3,......),(值1,值2,值3,......);
表的復制及批量插入
create table 表名 as select語句;
將查詢結(jié)果當作表創(chuàng)建出來。
同樣可以把查詢結(jié)果插入到一張表中旭贬。
修改數(shù)據(jù):update
語法格式:
update 表名 set 字段名1=值1,字段名2=值2...... where 條件;
注意:沒有條件整張表數(shù)據(jù)全部更新怔接。
注意:中間用逗號隔開。
刪除數(shù)據(jù)
語法格式:
delete from 表名 where 條件;
注意:沒有條件全部刪除稀轨。
怎么刪除大表中的數(shù)據(jù)(重點)?
truncate table 表名;//表被截斷扼脐,不可回滾。永久丟失奋刽。
這個刪完瓦侮,數(shù)據(jù)就恢復不了了。給客戶刪數(shù)據(jù)佣谐,一定要再三確認脏榆。
對于表結(jié)構(gòu)的修改,使用工具完成即可台谍,因為在實際開發(fā)中表一旦設計好之后,對表結(jié)構(gòu)的修改是很少的吁断,修改表結(jié)構(gòu)就是對之前的設計進行了否定趁蕊,即使需要修改表結(jié)構(gòu),我們也可以直接用用工具操作仔役。修改表結(jié)構(gòu)的語句不會出現(xiàn)在java代碼當中掷伙。出現(xiàn)在Java代碼當中的sql包括:insert delete update select(這些都是對表中的數(shù)據(jù)操作。)
增刪改查有一個術語:CRUD操作
Create(增) Retrieve(檢索) Update(修改) Delete(刪除)