您好,登錄后才能下訂單哦!
這篇文章主要介紹“數(shù)據(jù)庫(kù)的基本知識(shí)點(diǎn)有哪些”,在日常操作中,相信很多人在數(shù)據(jù)庫(kù)的基本知識(shí)點(diǎn)有哪些問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”數(shù)據(jù)庫(kù)的基本知識(shí)點(diǎn)有哪些”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!
數(shù)據(jù)庫(kù)基本概念
命令結(jié)束符:“\g”或是“;”
Mysql支持?jǐn)?shù)據(jù)類型:
數(shù)值型
整數(shù)類型
Tinyint、smallint、mediumint、int和bigint
Ddl語(yǔ)句(命令大小寫都可以)
創(chuàng)建數(shù)據(jù)庫(kù)
Create database 數(shù)據(jù)庫(kù)名
選擇要操作的數(shù)據(jù)庫(kù):use數(shù)據(jù)庫(kù);對(duì)于要操作的數(shù)據(jù)庫(kù)我們需要使用use來(lái)選擇
查看數(shù)據(jù)庫(kù)中的所有數(shù)據(jù)表show tables
刪除數(shù)據(jù)庫(kù)
Drop database 數(shù)據(jù)庫(kù)名稱
創(chuàng)建表(在某個(gè)數(shù)據(jù)庫(kù)里面創(chuàng)建表,需要先使用use選擇到要操作的數(shù)據(jù)庫(kù)里)
Create table 表名(
字段1名字 字段1類型 列的約束條件,
字段2名字 字段2類型 列的約束條件,
創(chuàng)建完表之后可以查看表單定義
Desc 表名;
查看創(chuàng)建表的SQL語(yǔ)句
Show create table 表名\G(\G選項(xiàng)使得記錄能按照字段豎向排列,一遍更好展示內(nèi)容較長(zhǎng)的記錄,\G之后不需要加分號(hào))
刪除表
Drop table 表名;
修改表字段類型
Alter table 表名 modify [colimn] 字段定義 [first|after字段名];
增加表字段
Alter table 表名 add [colimn] 字段定義 [first|after字段名];
刪除表字段
Alter table 表名 change [colimn] 舊的字段名 字段定義 [first|after字段名];
注:change與modify都可以修改表的定義,不同的是change后面需要解兩次列名,不是特別方便,優(yōu)點(diǎn)是change可以修改字段名
修改字段排列排序
[first|after字段名]這個(gè)選擇可以用來(lái)修改字段在表中的位置,新增字段默認(rèn)是加載在表中最后位置,而change/modify默認(rèn)不會(huì)改變字段位置
注:change/first|after 字段名 這些關(guān)鍵字都是屬于mysql在標(biāo)準(zhǔn)sql上的擴(kuò)展,在其他數(shù)據(jù)庫(kù)上不一定適用
更改表名
After table 表名 rename [to] 新的表名
Dml語(yǔ)句
插入記錄
Insert into 表名(字段1,字段2, ...,字段n) values(值1,值2,... ,值n);
可以不用指定字段名,但是values后面的順序應(yīng)該與字段排序一致
一次性插入多條記錄
Insert into 表名(字段1,字段2, ...,字段n)
Values
(值1,值2,... ,值n),
(值1,值2,... ,值n)
;
查詢記錄
select * from 表名 where 條件;(*代表你查詢表里的所有字段,如果我們查詢某一字段,只需要將*改成那一字段即可。)
查詢不重復(fù)的記錄
Select distinct 字段1,字段2 from 表名;(只要字段1,字段2任何一個(gè)字段有不同就會(huì)被選擇,一般用于distinct,只篩選一個(gè)字段)
條件查詢
注:條件查詢比較符號(hào):=,<,>,>=,<=,!=等比較運(yùn)算符,多個(gè)條件之間可以使用or and等
排序和限制
排序:
asc:由低到高,也是默認(rèn)值select * from 表名 order by 字段名 asc;
desc:由高到底select * from 表名 order by字段名 desc;
多個(gè)字段排序select * from 表名 order by 字段名 desc,id desc;
數(shù)字1代表從第幾條記錄開始取(是從0開始的),數(shù)字2代表取幾條!
聚合
用戶需要進(jìn)行一些匯總操作,這就需要sql聚合操作。
①sum求和select sum(字段名) from 表名;
②count記錄總數(shù)select count(*|字段名) from 表名;
③max最大值select max(字段名) from 表名;
④min最小值select min(字段名) from 表名;
⑤GROUP BY分類聚合select department,sum(salary) from employee group by department;
⑥WITH ROLLUP分類聚合后的結(jié)果進(jìn)行再匯總select sum(salary) from employee group by department with rollup;
⑦HAVING
注意:having和where的區(qū)別在于,having是對(duì)聚合后的結(jié)果進(jìn)行條件過(guò)濾,而where是在聚合前就對(duì)記錄進(jìn)行過(guò)濾,應(yīng)該盡可能的對(duì)記錄進(jìn)行先過(guò)濾!
select sum(salary) from employee group by department having sum(salary)>1000;
在一起使用:select sum(id),max(id),min(id),count(*) from a1;
表連接(顯示多個(gè)表中字段時(shí)可以使用)
連接分類
內(nèi)連接:選取兩張表中相互匹配的記錄(select 表.字段,.... from 表1名,表2名,... where [匹配的條件比如 表1.字段=表2.字段];)
select 語(yǔ)句可以給字段起別名!直接寫在需要查詢顯示的字段的后面就行,也可以給表起別名
外連接:不僅僅選取兩張相互匹配的記錄,其他不匹配的記錄也會(huì)查詢出來(lái)
左連接
包含左邊表中的所有記錄(包括右表中沒有和它匹配的記錄)select * from 表1 left join 表2 on 表1.字段=表2.字段;
包含右邊表中的所有記錄(包括左表中沒有和它匹配的記錄)
左連接和右連接是可以相互轉(zhuǎn)換的!
子查詢(一個(gè)查詢需要另外一個(gè)查詢的結(jié)果參與的時(shí)候)
用于子查詢的關(guān)鍵字:
in在..里面(注意點(diǎn) in后面的子語(yǔ)句必須只返回一個(gè)字段,若查詢結(jié)果唯一(只有一條)可以使用=代替in,not in與in相反)
語(yǔ)法:select * from 表名1 where 字段1 in(select 字段2 from 表2);
Exists(后面那個(gè)子語(yǔ)句有沒有查詢出記錄來(lái),如果查詢出記錄來(lái)返回true,否則就是false,并且查詢出來(lái)的記錄的具體的值是NULL也可以,也是返回true.)
語(yǔ)法:select語(yǔ)句 where exists(select 語(yǔ)句);
not exits(與exists相反)
記錄聯(lián)合(我們常常會(huì)碰到需要將兩個(gè)表或者多個(gè)表的數(shù)據(jù)按照一定的查詢條件查詢出來(lái)后,將結(jié)果合并到一起顯示這是就需要用到記錄聯(lián)合)
多個(gè)select 語(yǔ)句用UNION或者UNION ALL隔開即可實(shí)現(xiàn)
區(qū)別: 前者會(huì)將多個(gè)查詢結(jié)果合并后并且進(jìn)行去除重復(fù)后返回,后者 則直接合并并不去除重復(fù)
聯(lián)合的條件:查詢的列個(gè)數(shù)要相等
更新記錄
更新一個(gè)表
Update 表名 set 字段1=值1,字段2=值2,...,字段n=值n[where條件];
更新多個(gè)表中數(shù)據(jù)
Update 表1,表2,...表n set 表1.字段1=表達(dá)式1,...,表n.字段n=表達(dá)式n[where條件];
注:多表更新更多是用在根據(jù)一個(gè)標(biāo)的字段來(lái)動(dòng)態(tài)更新另一表的字段
到此,關(guān)于“數(shù)據(jù)庫(kù)的基本知識(shí)點(diǎn)有哪些”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。