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 條件;