溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

數(shù)據(jù)庫(kù)的基本知識(shí)點(diǎn)有哪些

發(fā)布時(shí)間:2021-06-16 17:03:06 來(lái)源:億速云 閱讀:206 作者:chen 欄目:編程語(yǔ)言

這篇文章主要介紹“數(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í)用的文章!

向AI問(wèn)一下細(xì)節(jié)

免責(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)容。

AI