1. 程式人生 > 其它 >MySQL表的增刪改查基礎操作

MySQL表的增刪改查基礎操作

文章目錄

 

✨增添

語法:insert into 表名 values(值,值,值....)

增加後我們查詢我們的表,那就是這樣子的:

✨查詢
✨1.全列查詢

最基礎的查詢,全列查詢,直接把一個表所有的列,和所有的行都查詢出來~
語法:select * from 表名

* 叫做"萬用字元",表示一個表的所有列


把一個表裡面的所有行和所有列都查找出到,查詢的結果是一個“臨時表”,之前我們說的 資料庫 的表都是在硬碟上的,而此處的這個查詢結果 臨時表 ,不是在硬碟上,而是在記憶體中,隨著進行了輸出之後,資料也就被釋放了~
注意:

select * from 表名 這個操作也是一個 危險操作!
如果在生產環境的伺服器上,執行,很可能帶來災難!所以我們以後出去工作的時候一i的那個要注意!!!

✨2.指定列查詢

語法:select 列名,列名.... from 表名;

✨3.指定查詢欄位為表示式

在查詢的時候,同時進行一些運算操作

例如:期望查詢的結果中的語文成績比真實的多10分

查詢一下每個同學的總分(語文+數學+英語)

注意: 臨時表中的結果的資料型別不一定和原始的表的資料型別完全一致,臨時表的型別會自動的適應,保證計算結果是i正確的

✨4.查詢欄位指定別名

查詢欄位指定別名,相當於是給查詢的結果的臨時表,指定新的列名

省略 as 之後 :

雖然執行結果完全相同,但是這裡 total 這個別名和前面的表示式區別不明顯,稍微一眼花,就把 total 當成資料庫自身的一列。

✨5.針對查詢結果去重

語法select distinct 列名 from 表名;


**注意:**如果針對多個列來進行去重,就得多個列的值都相同的時候才視為重複~

✨6.排序,針對查詢結果(臨時表)進行排序

語法select 列名... from 表名 order by 列名 asc/desc;

例如:針對數學成績進行升序排序~

降序排序~

有的資料庫記錄中是帶有NULL值的,像這樣的 NULL 認為是最小


排序也可以依據表示式或者別名來進行排序
依據 表示式 排序

依據 別名 排序

還可以通過 order by 來指定多個列 進行排序
先按照數學排序,如果數學成績相同,再按照語文排序。

✨7.select中的條件查詢

selcet 的後面加上一個where 字句,後面跟上一個具體的篩選條件
語法;select 列名 from 表名 where 條件;

(>,>=,<,<=)這一組是比較熟悉的大小操作,= 表示比較相等,而不是賦值。注意:NULL = NULL 結果仍然是 NULL,條件是不成立的。
<=>)也是比較相等,用法和 = 基本一直,只是 使用 <=> 比較空值結果是 真。NULL <=> NULL 進行比較,結果就是真。




舉幾個 列子,便於大家理解:

1.查詢英語不及格的同於及英語成績(<60)

2.查詢語文成績好於英語成績的同學

3.查詢總分在 200 分 已下的同學

注意:where 語句不能使用別名

4.查詢語文成績大於80,或英語成績大於80的同學

注意:AND 的優先順序高於 OR,表示式裡如果同時右 AND 和 OR ,先計算 AND 後 計算 OR,如果想要打破優先順序,就需要加()

5.查詢語文成績在[80,90]分的同學及語文成績

6.查詢數學成績是 58 或者59 或者 98 或者 99 的同學及數學成績

✨8.模糊匹配

like 搭配萬用字元來使用,只要對方的字串符合你此處的描述的一個形式就行.
% 代表任意個任意字元~
_ 代表任意一個字元

例如:查詢姓孫的同學的成績

此處這裡的'孫%'就能匹配到任意 開頭的字串,其他的型別於這樣的名字也能匹配到.
比如: ,或者 孫sadsadasda
但是類似於 這種就匹配不到:aaa孫aaa,bbb孫

_ 只能匹配帶一個任意字元的

比如 只有一個 _:

有兩個 _

✨ 9.查詢語句中,和NULL進行比較

語法:select 列名 from 表名 where 條件
查詢語文成績為空的同學資訊:

注意:這裡 比較 NULL 是不能用 = 的, = 是無法比較的,結果是 假,如果要比較空 只能用 <=> 比較

或者 這樣寫 也可以

✨10.分頁查詢

SQL中可以通過 limit 來實現分頁查詢
語法:select 列名 from 表名 limt 值(數字)

注意:畫紅線的位置!!!

✨修改操作

語法:update 表名 set 列名 = 值,列名 = 值 where 條件
注意:這裡的 set不能省略的,where 條件—指的是針對哪些進行修改,符合條件的就會修改,不符合條件的就不變,如果這裡的 where 省略了,就是修改所有記錄.
update 是會修改資料庫 伺服器 上面原始資料的!

舉幾個例子:

將孫悟空同學的數學成績變更為 80分

將曹孟德同學的數學成績變為 60 分,語文成績更變為 70分.

將總成績倒數前三的 3 位同學的數學成績加上 30分.

將所有同學的語文成績 更新為原來的 2倍


注意:這裡 超出範圍了,修改失敗.
如果把每個同學的語文成績都減少兩倍 就可以成功,因為沒有超出資料範圍.

✨刪除操作

sql 一般使用 delete 語句 進行刪除
語法: delete from 表名 where 條件;

轉自:https://www.dianjilingqu.com/