Mysql數據庫——增刪改查CRUD

文章目錄

    • 一、數據庫的基礎命令
    • 二、創建表
    • 三、增(create)
    • 四、查詢(retrieve)
    • 五、條件查詢(where)
    • 六、修改(update)
    • 七、刪除(delete)

一、數據庫的基礎命令

1.使用客戶端連接服務器
mysql -u root -p
2. 使用net命令啟動和關閉MYSQL服務器
打開服務:net start mysql版本號
關閉服務:net stop mysql版本號
例如:net start mysql80
3.退出服務器
quit;或者\q;
4.使用“status:”命令查看MySQL的狀態信息。
status
5.查看數據庫
show databases;
6.創建數據庫
create database 庫名;
字符集和排序規則都是數據庫默認的。
create database [if not exists] 庫名;
括號里面的判斷可以省略,加上就是判斷一下數據庫里面有沒有你當前創建的庫名。
沒有就創建成功,有點話創建失敗給出一條警告信息。
或自己設置字符集和排序規則的建庫方式
例如:創建一個庫名為test的數據庫,并指定字符集和排序規則。
create database if not exists test character set utf8mb4 collate utf8mb4_0900_ai_ci;
7.查看警告信息。
show warnings;
8.查看當前數據庫默認字符集
show variables like ‘%character%’;
9.切換數據庫。
use 庫名;
10.查看當前選擇的數據庫名。
select database();
11.刪除數據庫。
drop database 庫名;
接下來開始步入正題。增刪改查都是基于表的操作首先需要創建表。

二、創建表

1.創建一張新表
create table 表名 (數據類型 字段名,[數據類型 字段名…]);
例如:創建考試成績表
CREATE TABLE exam (
id bigint,
name VARCHAR(20),
chinese DECIMAL(3,1),
math DECIMAL(3,1),
english DECIMAL(3,1)
);
大小寫都可以,MySQL中不區分大小寫。
2.查看表結構
describe 表名;
或 desc 表名;

3.刪除表
drop table [if exists] 表名;
4.向表中增加新的字段名
alter table 表名 add column 字段名 數據類型;
例如:向表中增加入學時間屬性列,其列名為rxsj,數據類型為datetime型。
alter table xs add column rxsj datetime;
5.修改表中字段名的 類型
alter table 表名 modify 字段名 數據類型;
例如:將表xs中nl(年齡)列數據類型改為int.
alter table xs modify nl int;
6.修改字段名。
alter table 表名 change 舊的字段名 新的字段名 數據類型;
例如:修改cj列名為mark
alter table kc change cj mark char(4);
7.刪除列。
alter table 表名 drop column 字段名;
例如:刪除mark列
alter table kc drop column mark;
8.修改表名。
alter table 舊的表名 rename to 新的表名;

三、增(create)

insert into 表名 [(字段名,字段名)] values(值1,值1),(值2,值2);
字段名必須和表中的相符,可以是一個或者多個
值的類型必須和字段的類型一致并且要和前面指定的字段名相對應。
字符類型需要用單引號引起來。
字段名省略不寫的時候默認是全列插入,所有的列都需要插入值,插入值的順序和表中字段名的順序一致。
添加的值可以是一個或者多個。
例如:INSERT INTO exam (id,name, chinese, math, english) VALUES
(1,‘唐三藏’, 67, 98, 56),
(2,‘孫悟空’, 87.5, 78, 77),
(3,‘豬悟能’, 88, 98, 90),
(4,‘曹孟德’, 82, 84, 67),
(5,‘劉玄德’, 55.5, 85, 45),
(6,‘孫權’, 70, 73, 78.5),
(7,‘宋公明’, 75, 65, 30);

四、查詢(retrieve)

1.全列查詢
select * from 表名;
例如:select * from student;
*代表所有的列。
指定列查詢
select 字段名,字段名…from 表名;
例如:select id,name from student;
2.表達式查詢
例如:select id,name chinese+math+english from score;
查詢語文數學英語成績的總和。
3.as關鍵字
例如:select id,name chinese+math+english as ‘總分’ from score;
as可以為表達式或者字段取別名。如果是字符需要用單引號引起來。as也可以省略。
4.distinct
例如:select distinct math from student;
distinct作用是去重。去掉相同的元組。distinct去重標準是兩條數據所有的字段都必須一樣才會被認為是相同是數據。
5.order by
例如:select * from exam order by math asc;
在exam表中按照數學成績按照從小到大排列。
order by:排序的作用。asc是升序排序,desc是降序排序。沒有寫排序規則默認是升序排序。
null值排序視為比任何值都小,升序在最上面,降序在最下面。
5.1使用表達式排序
例如:select id,name,chinese+math+english as ‘總分’ from exam order ‘總分’ by desc;
5.3多級排序
select id,name,chinese,math,english from exam order by chinese desc,math asc,english desc;
先按語文降序排序,再按數學升序排序,再按英語降序排序。

五、條件查詢(where)

1.比較運算符
1.1 >,>=,=,<=>,<,<=,!=,between a0 and a1,in(option),is null,is not null,like
分別是大于,大于等于,等于(null不安全)等于(null安全),小于,小于等于。不等于,范圍匹配,如果是option中某一個返回true,是空值,不是空值,模糊匹配。
1.2<=>區別=
<=>把 NULL 當成一個“確定的值”來比較。兩邊同為 NULL 返回 1;一邊 NULL、另一邊非 NULL 返回 0;兩邊都非 NULL 時按普通數值/字符串比較。
。=如果兩邊任意一邊為 NULL,結果直接是 NULL(既不是 0 也不是 1)。只有兩邊都非 NULL 且值相等時才返回 1,不等時返回 0。
因此,當你需要“把 NULL 視為普通值”來做比較(常見于 JOIN 條件或 WHERE 過濾)時,用 <=>;否則用普通 = 即可。
between a0 and a1
between a0 and a1是一個閉區間運算符支持數值,日期,字符串。
例如:SELECT * FROM products WHERE price BETWEEN 10 AND 20;
查詢價格在[10,20]區間的產品。
– 日期
WHERE hire_date BETWEEN ‘2024-01-01’ AND ‘2024-12-31’;
– 字符串(按字典序)
WHERE name BETWEEN ‘Alice’ AND ‘Bob’;
in
in是一個用于判斷某個值是否在一組給定值中的運算符
WHERE 列名 IN (值1, 值2, 值3, …);
例如:select * from exam where math in(90,91,92);
從 exam 表中選出 math 字段的值為 90、91 或 92 的所有記錄。
like

通配符含義示例匹配結果
%0 個或多個字符'A%'Apple, A, ABC…
_單個字符'A_'An, At, A1(僅2位)

一個_就可以匹配一個字符兩個_ 就可以匹配兩個字符以此類推。
– 1. 查找以 A 開頭的名字
SELECT * FROM users WHERE name LIKE ‘A%’;
– 2. 查找名字是 4 個字符且以 A 開頭
SELECT * FROM users WHERE name LIKE 'A
__'; – 3 個下劃線
– 3. 查找包含字母 B 的名字
SELECT * FROM users WHERE name LIKE ‘%B%’;
邏輯運算符

運算符含義示例說明
AND與(兩邊都為真才真)WHERE age > 18 AND gender = 'F'年齡>18 且 性別為女
OR或(任意一邊為真即真)WHERE city = 'BJ' OR city = 'SH'城市是北京 或 上海
NOT非(取反)WHERE NOT (score < 60)分數不低于 60

limit分頁查詢

參數含義
偏移量 (offset)從第幾條開始取(第一條是 0)
行數 (rows)取多少條

例如:SELECT * FROM exam ORDER BY id LIMIT 2 OFFSET 0;
或SELECT * FROM exam ORDER BY id LIMIT 0, 2;
按 id 升序排序,從第 0 條開始取 2 條記錄(即第 1、2 條)。

六、修改(update)

UPDATE 表名
SET 列1 = 新值1,
列2 = 新值2,

[WHERE 條件]; – 不寫 WHERE 會更新整張表!
例如:把學號為 1001 的學生數學成績改為 95:
update student set math=95 where id=1001;

七、刪除(delete)

目的示例
刪除某一行DELETE FROM exam WHERE id = 1001;
刪除多行DELETE FROM exam WHERE math < 60;
清空整張表(保留結構)DELETE FROM exam;
刪除前 N 條(MySQL 擴展)DELETE FROM exam WHERE math < 60 LIMIT 10;

例如:DELETE FROM student WHERE id = 1001;
總結:
在這里插入圖片描述
完結。

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

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

相關文章

關于pytorch虛擬環境及具體bug問題修改

本篇博客包含對于虛擬環境概念的講解和代碼實現過程中相關bug的解決關于虛擬環境我的pytorch虛擬環境在D盤&#xff0c;相應python解釋器也在D盤&#xff08;一起&#xff09;&#xff0c;但是我的pycharm中的項目在C盤&#xff0c;使用的是pytorch的虛擬環境&#xff0c;這是為…

U盤量產工具與性能優化完全指南

本文還有配套的精品資源&#xff0c;點擊獲取 簡介&#xff1a;U盤量產工具是IT行業中的專業軟件&#xff0c;用于批量生產或修復U盤。安國和銀燦是兩個提供U盤量產工具的主控芯片制造商&#xff0c;提供初始化、格式化、分區管理、性能優化、故障修復、個性化定制、固件升級…

Golang http開發實戰:構建RESTful API保姆級教程

目錄 章節1:RESTful API的精髓與Go的Web開發哲學 RESTful API的設計原則 Go的http包核心組件 實戰:第一個RESTful API端點 章節2:設計優雅的RESTful路由 路由設計的注意事項 使用Gorilla Mux實現動態路由 章節3:請求與響應的藝術:解析與格式化 解析請求數據 統一…

UGUI 性能優化系列:第一篇——基礎優化與資源管理

UGUI 性能優化系列&#xff1a;第一篇——基礎優化與資源管理 UGUI 性能優化系列&#xff1a;第二篇——Canvas 與 UI 元素管理 在 Unity 游戲中&#xff0c;用戶界面&#xff08;UI&#xff09;是玩家與游戲交互的核心。然而&#xff0c;不當的 UGUI 使用常常成為游戲性能的…

多端協同的招聘系統源碼開發指南:小程序+APP一體化設計

當下&#xff0c;很多企業選擇搭建屬于自己的多端協同招聘平臺&#xff0c;尤其是中大型人力資源公司、連鎖品牌企業&#xff0c;以及同城服務平臺&#xff0c;更是將“小程序APP”一體化招聘系統視為提升效率、降低用工成本的利器。 今天&#xff0c;筆者將從源碼開發的角度&a…

Maven 配置文件核心配置:本地倉庫、鏡像與 JDK 版本

Maven 配置文件核心配置&#xff1a;本地倉庫、鏡像與 JDK 版本 在 Maven 項目開發中&#xff0c;合理配置 settings.xml 文件能顯著提升依賴管理效率。本文將聚焦本地倉庫、鏡像加速和 JDK 版本這三個核心配置&#xff0c;結合 IDEA 環境詳細講解配置方法與作用。 一、Maven 配…

【時時三省】(C語言基礎)通過指針引用字符串

山不在高&#xff0c;有仙則名。水不在深&#xff0c;有龍則靈。 ----CSDN 時時三省如在printf函數中輸出一個字符串。這些字符串都是以直接形式&#xff08;字面形式&#xff09;給出的&#xff0c;在一對雙撇號中包含若干個合法的字符。使用字符串的更加靈活方便的方法——通…

【Linux驅動-快速回顧】一文快速理解GIC內部寄存器對中斷的控制

第一部分&#xff1a;GIC的功能和組成 1. GIC要解決的根本問題 在一個復雜的片上系統&#xff08;SoC&#xff09;中&#xff0c;有非常多的硬件模塊&#xff08;如定時器、串口、按鍵、DMA等&#xff09;&#xff0c;它們都需要在完成任務或遇到特定事件時通知CPU。同時&#…

【IoTDB 線上小課 17】開源 ≠ 免費,3 分鐘總結開源商用指南

【IoTDB 視頻小課】第十七期&#xff0c;解答你最關心的開源商業使用問題&#xff01;關于 IoTDB&#xff0c;關于物聯網&#xff0c;關于時序數據庫&#xff0c;關于開源...一個問題重點&#xff0c;3-5 分鐘&#xff0c;我們講給你聽&#xff1a;原來開源商業化有這么多規則開…

VUE項目學習筆記 v-for綁定數據,該數據異步獲取,同時需要對v-for的DOM節點進行js操作

問題描述&#xff1a;項目里有一個輪播圖&#xff0c;輪播圖的圖片數據從服務器獲取&#xff0c;用v-for生成DOM在頁面中顯示&#xff0c;輪播圖插件會通過new Swiper給DOM添加CSS、事件等&#xff0c;實現輪播效果。在這里存在操作順序問題&#xff1a;當服務器返回圖片數據后…

Science | 如何利用“T細胞+組蛋白乙酰化”兩大國自然熱點?T細胞耗竭機制與代謝-表觀遺傳調控的新范式

CD8?T細胞耗竭&#xff08;T cell exhaustion&#xff09;是腫瘤免疫治療的核心瓶頸&#xff0c;其表觀遺傳重塑機制&#xff08;如組蛋白修飾&#xff09;是當前國自然重點資助的前沿方向。耗竭T細胞&#xff08;TEX&#xff09;是指在慢性感染&#xff08;如持續性病毒感染&…

Logback 配置的利器:深入理解<property>與<variable>

在構建現代 Java 應用程序時&#xff0c;日志是不可或缺的一部分。一個健壯的日志系統不僅能幫助我們監控應用程序的運行狀態&#xff0c;還能在問題發生時提供關鍵的診斷信息。Logback 作為 SLF4J 的一個流行實現&#xff0c;以其高性能和靈活的配置而廣受開發者喜愛。 然而&a…

Java中excel字典轉換

? 背景說明EasyExcel 原生的 ExcelProperty 注解不支持 dictType&#xff08;不像那樣有 Excel(dictType"xxx")&#xff09;&#xff0c;所以如果你想實現字典翻譯功能&#xff0c;就需要自己實現 Converter 接口&#xff0c;比如 DictConvert。? 什么是 DictConve…

數據結構-3(雙向鏈表、循環鏈表、棧、隊列)

一、思維導圖二、雙向循環鏈表的判空、尾插、遍歷(反向)、尾刪class Node:def __init__(self, data):self.data dataself.next Noneself.prior Noneclass circularDoublyLinkedList():def __init__(self):self.head Noneself.tail Noneself.size 0def isEmpty(self):retu…

IDEA運行Tomcat一直提示端口被占用(也查不到該端口)

首先查看是否是因為Java程序異常終止&#xff0c;進程沒有完全釋放導致。打開資源管理器&#xff0c;找到所有的java.exe&#xff0c;強制結束任務。如果仍然不行&#xff0c;那就極可能還是開啟了hyper-V虛擬化&#xff0c;查看排除的tcp端口范圍端口號沒被占用卻提示占用&…

AWS Lambda 最佳實踐:構建高效無服務器應用的完整指南

引言 AWS Lambda 作為無服務器計算的核心服務,讓開發者能夠專注于業務邏輯而無需管理服務器。本文將通過實際案例和代碼示例,分享 Lambda 開發中的關鍵最佳實踐。 1. 函數設計原則 單一職責原則 每個 Lambda 函數應該只做一件事,這樣更容易測試、維護和擴展。 # ? 不推…

29、鴻蒙Harmony Next開發:深淺色適配和應用主題換膚

目錄 應用深淺色適配 應用跟隨系統的深淺色模式 應用主動設置深淺色模式 系統默認判斷規則 使用建議與限制 設置應用內主題換膚 概述 自定義主題色 設置應用內組件自定義主題色 設置應用局部頁面自定義主題風格 設置應用頁面局部深淺色 系統缺省token色值 應用深淺…

源鑒SCA4.9︱多模態SCA引擎重磅升級,開源風險深度治理能力再次進階

SCA技術已成為數字供應鏈開源治理的關鍵入口。源鑒SCA深度融合懸鏡原創專利級AI智能代碼疫苗技術&#xff0c;是國內首款集源碼組件成分分析、代碼成分溯源分析、制品成分二進制分析、容器鏡像成分掃描、運行時成分動態追蹤及開源供應鏈安全情報預警分析等六大核心引擎為一體的…

Git語義化提交規范及提交模板設置

Git語義化提交規范&#xff08;Conventional Commits&#xff09; &#x1f4da; 常見的語義化提交類型包括&#xff1a;類型含義說明feat? 新增功能&#xff08;feature&#xff09;fix&#x1f41b; 修復 bugdocs&#x1f4da; 修改文檔&#xff08;如 README&#xff09;st…

用TensorFlow進行邏輯回歸(五)

Softmax分類#List3-50%matplotlib inlineimport numpy as npimport tensorflow as tfimport matplotlib.pyplot as pltx1_label0 np.random.normal(1, 1, (100, 1))x2_label0 np.random.normal(1, 1, (100, 1))x1_label1 np.random.normal(5, 1, (100, 1))x2_label1 np.ran…