MySQL表的增刪查改【基礎部分】

數據表的操作

新增

普通插入

insert into 表名 values(值,值...)

注意: 此處的值要和表中的列相匹配

使用’‘單引號或者”“雙引號來表示字符串

mysql> insert into student values(123,'zhangsan');
Query OK, 1 row affected (0.02 sec)

指定列插入

insert into 表名(列名,列名..)values(值,值..);
后面的值要與前面的列相對應
mysql> insert into student(name) values('lisi');
Query OK, 1 row affected (0.00 sec)

在這里插入圖片描述
注意: 當我們指定列插入的時候,沒有被指定的那一行(即沒有插入數據的那一行則被填充為默認值;此處默認值為null

一次插入多行

insert into 表名 values(值,值...),(值,值...);
mysql> insert into student values(3,'天天'),(4,'多多');
Query OK, 2 rows affected (0.01 sec)
Records: 2  Duplicates: 0  Warnings: 0

注意: 一次插入多行記錄,相比于一次插入一行,分多次插入要快很多

DATETIME類型插入

(1)
可以是用一個固定格式的字符串,來表示時間日期

insert into student values(1,'zhangsan','2002-01-01 12:00:00');

(2)直接獲取當前的時間

mysql> insert into student values(1,'zhangsan',now());
Query OK, 1 row affected (0.01 sec)

直接使用now()

查詢

null參與任何運算以后,結果還是null

全列查詢

select*from 表名;

把表中的所有行和所有列都查詢出來

mysql> select*from student;
+------+----------+---------------------+
| id   | name     | birthday            |
+------+----------+---------------------+
|    1 | zhangsan | 2024-05-08 13:20:22 |
+------+----------+---------------------+
1 row in set (0.01 sec)

指定列查詢

 select 列名,列名..from 表名;

比全列查詢更加高效

查詢字段為表達式

一邊查詢一邊計算,在查詢的時候,寫作由列名構成的表達式,把這一列中的所有行都帶入表達式中參與運算
(1)
在這里插入圖片描述
(2)計算每個同學的總成績
在這里插入圖片描述
(3)注意: 表達式查詢是列和列之間的運算,把每一行都帶入到這樣的運算中,不是行與行之間的運算

查詢的時候給列/表達式/表指定別名

select 表達式/列名 as 別名 from 表名;

as也可以省略,但是我們一般不建議省略
在這里插入圖片描述

去重

distinct 修飾某個列/多個列值相同的行,只會保留一個

select distinct 列名 from 表名;

在這里插入圖片描述
==注意:==如果distinct有多個列時,只有當它這兩列對應的行信息完全相同時才會去重

查詢的時候排序

把行進行排序
明確排序規則
(1)針對哪個列作為比較規則
(2)排序的時候是升序還是降序

select 列名 from 表名 order by 列名 asc/desc;

PS:(1)order by 列名,這塊的列名是指定某個列進行排序;
asc表示升序排序,desc表示降序排序,如果沒有寫這兩個,那么默認為升序排序

(2)mysql是一個客戶端服務器結構的程序,把請求發給服務器之后,服務器進行查詢數據,并且把查詢到的結果進行排序之后,再組織成響應數據返回客戶端**(排序仍然是針對臨時數據來展開的,此處的排序不影響原有數據在mysql服務器上存儲的順序)**
在這里插入圖片描述
(3)在這里插入圖片描述(4)根據表達式進行排序
在這里插入圖片描述
PS:在使用表達式的時候可以使用別名
在這里插入圖片描述
(5)指定多個列來排序(重要),即order by后面有多個列,多個列之間使用,來分割開
在這里插入圖片描述
多個列之間排序是有優先級的,寫在前面的先排序,后面的依次

條件查詢(重要)

會指定具體的條件,按照條件針對數據進行篩選

select 列名 from 表名 where 條件;

遍歷這個表的每一行記錄,把每一行的數據分別帶入到條件中,如果條件成立,這個記錄會被放入結果集合中;如果條件不成立,這個記錄會被pass
(1)比較運算符
在這里插入圖片描述
(2)邏輯運算符
在這里插入圖片描述
PS:不能使用別名來匯總表達式將其使用在比較查詢中(不能在where語句中使用別名)
(3)like詳細說明
like模糊匹配:使用通配符,就是一些特殊的字符來表示一些特定的含義;
%:代指任意個任意字符;_:代指一個任意字符
在這里插入圖片描述
PS:【1】0個字符也可以被%匹配出來,如下圖所示
在這里插入圖片描述
【2】%的使用:孫%:查詢以 孫 開頭的內容;%孫: 查詢以 孫 結尾的內容;%孫%: 查詢包含孫的.

總結: 此處模糊查詢的功能是有限的,就像沒有辦法查詢名字中帶兩個孫的這樣的列及內容;
但在計算機中,進行模糊匹配字符串還有‘正則表達式’,通過這樣的方式實現,但是正則表達式匹配速度很慢

正則表達式: javaSE中String的一個方法split,參數其實就是一個正則表達式;比如按照 . 來切分,就需要寫作 “\.”;如果是有原始字符串,就可以寫簡單了

分頁查詢(LIMIT)

select*這樣的查詢方式太危險了,一次性查詢出來的東西太多了,所以我們使用分頁查詢(limit)去限制這次最多查詢出多少個結果
(1)此時就是只查詢3條數據,這塊也可以寫成limit 3 offest 0;在這里插入圖片描述(2)我們使用offest來達到查詢3條下面的3條(4、5、6)和3條再下面的3條(7、8、9);offest是一個偏移量,一個下標此時就是只查詢3條數據

修改

普通修改

update 表名 set列名=值 where 條件;

注意: update后面不加任何條件,就是針對所有行進行修改(即不添加where條件)

mysql> select*from user;
+------+--------+--------+
| ID   | accout | amount |
+------+--------+--------+
|   45 |    123 |   2000 |
|  355 |    246 |    900 |
|  199 |    145 |   4000 |
|  123 |   NULL |   2000 |
+------+--------+--------+
4 rows in set (0.00 sec)
mysql> update user set ID=66 where accout=123 and amount=2000;
Query OK, 0 rows affected (0.00 sec)
Rows matched: 1  Changed: 0  Warnings: 0mysql> select*from user;
+------+--------+--------+
| ID   | accout | amount |
+------+--------+--------+
|   66 |    123 |   2000 |
|  355 |    246 |    900 |
|  199 |    145 |   4000 |
|  123 |   NULL |   2000 |
+------+--------+--------+
4 rows in set (0.00 sec)

where條件來限制我們修改哪些行數據,它的用法和select里面的where用法是相同的,我們直接可以看上面的筆記

一次修改多個列

update 表名 set列名=值,列名=... where條件;

這里的=就不是比較相等了,是賦值的作用

mysql> update user set ID=67,accout=124 where amount=2000;
Query OK, 2 rows affected (0.01 sec)
Rows matched: 2  Changed: 2  Warnings: 0
mysql> select*from user;
+------+--------+--------+
| ID   | accout | amount |
+------+--------+--------+
|   67 |    124 |   2000 |
|  355 |    246 |    900 |
|  199 |    145 |   4000 |
|   67 |    124 |   2000 |
+------+--------+--------+
4 rows in set (0.00 sec)

PS:mysql> select * from exam result order by chinese + math + english limit 3;
這樣的寫法表示的是倒數后三行的信息,我們可以使用order by和limit來達到這樣的效果

刪除

普通刪除

delete from 表名 where條件/order by/limit;

刪除整張表

不指定任何條件,就是刪除整張表

delete from 表名;

PS:(1)drop table 表名是刪除了表和表中的所有數據,這個表徹底不存在了
(2)delete from 表名只是刪除了表里面的數據,但是表依然是存在的,只是我們得到的就是一張空表了

總結

(1)delete和update都是很危險的操作,delete一旦刪除的條件沒有設置好,就可能把不該刪的數據刪掉
(2)這的刪除/修改都是持久生效的,都會影響到數據庫服務器硬盤中的數據

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/12272.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/12272.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/12272.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

2024年3月 電子學會 青少年等級考試機器人理論真題五級

202403 青少年等級考試機器人理論真題五級 第 1 題 下圖程序運行后,串口監視器顯示的結果是?( ) A:0 B:1 C:3 D:4 第 2 題 下列選項中,關于74HC595移位寄存器芯片的…

微信小程序開發【Coffee Shopping】(1)

1.環境準備 微信開發者工具:https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html 前端常用網站集合:http://www.wwp666.cn/ 微信小程序開發文檔:https://developers.weixin.qq.com/miniprogram/dev/framework/quicksta…

數據結構之二叉樹詳解[1]

在前面我們介紹了堆和二叉樹的基本概念后,本篇文章將帶領大家深入學習鏈式二叉樹。 1.預備知識 2.二叉樹結點的創建 3.二叉樹的遍歷 3.1前序遍歷 3.2中序遍歷 3.3 后序遍歷 4.統計二叉樹的結點個數 5.二叉樹葉子結點的個數 6.二叉樹第k層的結點個數 7.總結 …

鴻蒙ArkUI開發:常用布局【相對布局】

相對布局(RelativeContainer) 相對布局可以讓子元素指定兄弟元素或父容器作為錨點,基于錨點做位置布局必須為RelativeContainer及其子元素設置ID,用于指定錨點信息。未設置ID的子元素不會顯示RelativeContainer ID為“__containe…

增程SUV價格即將崩盤?買車一定要再等等!

文 | AUTO芯球 作者 | 雷歌? 真是“離譜”啊,車圈真是逗比歡樂多, 我這兩天看一個博主連續40多小時開車直播,充電口、油箱蓋全部封死,全程視頻直播沒斷過, 就為了測試這兩天剛上市的星際元ET續航有多遠。 另一個…

Docker 創建網絡

問題: 1.需要將多個容器添加到同一個網絡. 2.docker-compose.yaml 如果不指定,默認會重新創建一個網卡. 創建網卡 docker network create -d bridge mynet ##-d 指定模式(默認橋接)查看自定義網絡信息 docker inspect mynet…

NSSCTF Web方向的例題和相關知識點(二)

[SWPUCTF 2021 新生賽]Do_you_know_http 解題: 點擊打開環境,是 提示說請使用wLLm瀏覽器訪問 我們可以更改瀏覽器信息,在burp重放器中發包后發現是302重定向,但是提示說success成功,說明 我們修改是成功的&#xff…

HTML特殊字符

特殊字符 有特殊含義的字符成為字符實體 對于有特殊含義的字符,需要通過轉移字符來表示 <span> <br><a href"http://www.atguigu.com">我 愛 前端</a> <br>&amp;amp; 效果

Element-UI 快速入門指南

文章目錄 一、安裝 Element-UI1.1 使用 npm 安裝1.2 使用 yarn 安裝 二、引入 Element-UI三、使用 Element-UI 組件3.1 按鈕組件3.2 輸入框組件3.3 表單組件3.4 表格組件3.5 彈框組件 四、自定義主題4.1 安裝主題工具4.2 初始化變量文件4.3 編譯主題 五、總結 &#x1f389;歡迎…

刷題之最長連續序列

哈希表 class Solution { public:int longestConsecutive(vector<int>& nums) {//set記錄并且去重nums中的數unordered_set<int>set;for(int i0;i<nums.size();i){set.insert(nums[i]);}int result0;//遍歷所有數for(auto iset.begin();i!set.end();i){//如…

服務的war包已經丟在tomcat中但是還是沒法訪問,如何排查?

問題出現的現象是我已經將 XWiki 的 WAR 包放置在 Tomcat 的 webapps目錄下但仍然無法訪問&#xff0c;反思之后可以從下面以下幾個方面來診斷和解決問題&#xff1a; 1. 確認 Tomcat 正在運行 首先&#xff0c;確保 Tomcat 服務正在正常運行。可以使用以下命令檢查 Tomcat 的…

鑒源論壇·觀通丨軌交軟件測試技術詳述

作者 | 劉艷青 上海控安安全測評部測試經理 版塊 | 鑒源論壇 觀通 社群 | 添加微信號“TICPShanghai”加入“上海控安51fusa安全社區” 01 集成測試技術要求 1.1 總體要求 對軟件集成測試進行靜態測試應先于動態測試&#xff1b; 集成過程是動態進行的&#xff0c;在測…

圖紙加密軟件是如何實現共享服務器圖紙防泄密?Cad圖紙防泄密廣州廠家

現在企業網絡數據安全的問題已經在社會的發展過程中引起了關注&#xff0c;尤其對研發制造類企業而言&#xff0c;企業設計圖紙的防泄密問題是這些企業在日后工作管理中的重中之重。在當今的互聯網發展形勢下&#xff0c;廣州的制造類設計企業為不讓單位圖紙泄露&#xff0c;也…

CVHub | CVPR 2024 | 英偉達發布新一代視覺基礎模型: AM-RADIO = CLIP + DINOv2 + SAM

本文來源公眾號“CVHub”&#xff0c;僅用于學術分享&#xff0c;侵權刪&#xff0c;干貨滿滿。 原文鏈接&#xff1a;CVPR 2024 | 英偉達發布新一代視覺基礎模型: AM-RADIO CLIP DINOv2 SAM 標題&#xff1a;《AM-RADIO: Agglomerative Vision Foundation Model Reduce Al…

vscode 之 output 輸出中文亂碼,終端輸出中文正常

# 1. 背景 因為沒錢買正版的軟件&#xff0c;所以轉戰 vscode 編譯器。 在編譯 python 文件時&#xff0c;發現直接右鍵 runner code&#xff0c;輸出中文亂碼。 但是在 teiminal 終端 執行py test.py 時&#xff0c;輸出正常&#xff0c;中文正常。 output 輸出中文樣式(中文…

java相等忽略音調

來自百度,親測可用 java相等忽略音調 在Java中&#xff0c;如果你想比較兩個字符串而忽略它們的音調符號&#xff0c;你可以使用java.text.Collator類來進行區域敏感的字符串比較。Collator類提供了根據特定區域的規則進行字符串比較的能力&#xff0c;可以設置忽略音調的選項…

Go微服務: Prometheus性能監控與Grafana平臺的搭建

Prometheus 概述 promethues 是一套開源的監控&報警&時間序列數據庫的組合基本原理是通過http協議周期性抓取被監控組件的狀態適合Docker、Kubernetes環境的監控系統 Promethues 整體架構 一、抓取數據的兩種方式 1 &#xff09;Short-lived jobs 短暫的任務 不會提…

RedisTemplate操作Redis詳解之連接Redis及自定義序列化

連接到Redis 使用Redis和Spring時的首要任務之一是通過IoC容器連接到Redis。為此&#xff0c;需要java連接器&#xff08;或綁定&#xff09;。無論選擇哪種庫&#xff0c;你都只需要使用一組Spring Data Redis API&#xff08;在所有連接器中行為一致&#xff09;&#xff1a;…

面對.halo勒索病毒,如何有效防范與應對?

導言&#xff1a; 隨著網絡技術的不斷發展&#xff0c;網絡安全問題也日益凸顯。其中&#xff0c;勒索病毒作為一種極具破壞性的網絡攻擊手段&#xff0c;近年來在全球范圍內頻發。其中&#xff0c;.halo勒索病毒作為勒索病毒家族中的一員&#xff0c;其危害性和傳播性不容忽視…

StNet: Local and Global Spatial-Temporal Modeling for Action Recognition 論文閱讀

StNet: Local and Global Spatial-Temporal Modeling for Action Recognition 論文閱讀 Abstract1 Introduction2 Related Work3 Proposed Approach4 Experiments5 Conclusion 文章信息&#xff1a; 原文鏈接&#xff1a;https://ojs.aaai.org/index.php/AAAI/article/view/4…