網(wǎng)站首頁 編程語言 正文
今天我們了解一下數(shù)據(jù)庫基本增刪改查語法和多表鏈接查的方式
目錄
一. INSERT 新增
二. DELETE 刪除
? ? ? ? 1.整表刪除
? ? ? ? 2.帶條件刪除?
? ? ? ? 3. DELETE , TRUNCATE , DROP 區(qū)別
三. UPDATE 修改
? ? ? ? 1.全部修改
?????????2. 帶條件的修改
? ? ? ? 3.多條件的修改
四. SELECT 查詢?
五.多表鏈接查詢
1.內(nèi)聯(lián)查詢
2.外連查詢?
? ? ? ? ① LEFT JOIN ON:
?????????② RIGHT JOIN ON:
? ? ? ? ?③ INNER JOIN ON:
3. UNION
4. UNION ALL
一. INSERT 新增
? ? ? ? 主要功能: 給數(shù)據(jù)庫表增加記錄
? ? ? ? 語法:
INSERT INTO `表名` [(字段,字段,字段......)]
VALUE/VALUES (值1,值2,值3) , [(值1,值2,值3)]
# value:只能插入一條數(shù)據(jù)
# values:能插入多條數(shù)據(jù)
? ? ???不建議的寫法:
INSERT INTO `表1` SELECT 字段 FROM `表2`
# 注:查詢表和插入表都要存在
CREATE TABLE `表1` SELECT ... FROM `表2`
# 注:查詢表存在,插入表不能存在
二. DELETE 刪除
????????主要功能: 刪除已有記錄,可以依照條件去做刪除
? ? ? ? 1.整表刪除
? ? ? ? ? ? ? ? 語法:
DELETE FROM `表`
? ? ? ? 2.帶條件刪除?
? ? ? ? ? ? ? ? 語法:
DELETE FROM `表` WHERE 子句(條件)
? ? ? ? 3. DELETE , TRUNCATE , DROP 區(qū)別
? ? ? ? ? ? ? ? ①.DELETE 可以刪除數(shù)據(jù),不能清空索引的自增? 是DML
? ? ? ? ? ? ? ? ②.TRUNCATE 在DELETE的基礎(chǔ)上可以清空主鍵的索引自增? 是DML
? ? ? ? ? ? ? ? ③.DROP 是直接刪除對(duì)應(yīng)的 表 / 表結(jié)構(gòu) / 數(shù)據(jù)庫 是DDL
三. UPDATE 修改
? ? ? ? 主要功能: 修改已有的記錄, 可以依照條件去做修改
? ? ? ? 1.全部修改
UPDATE `表名` SET 字段名 = 值, 字段名 = 值, 字段名 = 值, 字段名 = 值
?????????2. 帶條件的修改
UPDATE `表名` SET 字段名 = 值 WHERE 條件
? ? ? ? 3.多條件的修改
UPDATE `表名` SET 字段名 = 值 WHERE 條件 AND / OR 條件 ......
四. SELECT 查詢?
? ? ? ? 主要功能: 對(duì)已有數(shù)據(jù)的查詢,可以單表查詢也可以多表聯(lián)查,可以依照條件去做查詢
? ? ? ? 語法:
SELECT [DISTINCT]
{*|
表1.*|
[ 表1.字段1 [as 字段別名1]]
[, 表1.字段2[as 字段別名2]]
[, …]}
FROM 表1 [ as 表別名 ]
[ left|right|inner join 表2 on 表之間的關(guān)系 ]
[ WHERE ]
[ GROUP BY ]
[ HAVING]
[ ORDER BY]
[ LIMIT {[ 位置偏移量,] 行數(shù) }] ;
DISTINCT設(shè)定DISTINCT可以去掉重復(fù)記錄。AS表名或者字段名過長(zhǎng)時(shí),可以用AS關(guān)鍵字起別名,方便操作。GROUP BY按組分類顯示查詢出的數(shù)據(jù)。HAVINGGROUP BY分組時(shí)依賴的分組條件。ORDER BY將查詢出來的結(jié)果集按照一定順序排序完成。LIMIT限制顯示查詢結(jié)果的條數(shù)。
五.多表鏈接查詢
1.內(nèi)聯(lián)查詢
? ? ? ? 等值查詢
? ? ? ? SELECT * FROM 表1, 表2? WHERE 表1.字段1 =?表2.字段2
? ? ? ? 非等值查詢(笛卡爾積)
????????SELECT * FROM 表1, 表2?
? ? ? ? ?其中:
? ? ? ? 1. 與單表查詢相似(SELECT)
? ? ? ? 2. 多個(gè)表放在 FROM 后, 用逗號(hào)隔開
? ? ? ? 3. 可以用 AS 取別名,方便引用
? ? ? ? 4. 如無重名查詢字段,則可省略數(shù)據(jù)表的指定
2.外連查詢?
? ? ? ? 語法:
SELECT * FROM `表1`
left|right|inner join 表2 on 表之間的關(guān)系(條件)
? ? ? ? ① LEFT JOIN ON:
從左表(表1)中返回所有的記錄,即便右(表2)中無匹配的行, 如下圖:
?????????② RIGHT JOIN ON:
從右(表2)中返回所有的記錄,即便左表(表1)中無匹配的行, 如下圖:
?
? ? ? ? ?③ INNER JOIN ON:
在兩張表中至少一條數(shù)據(jù)匹配時(shí),則返回記錄, 如下圖:
?
3. UNION
????????1.求的是兩個(gè)查詢的并集
? ? ? ? 2.合并的是結(jié)果集,不區(qū)分表,所以能合并多張表
? ? ? ? 語法:
SELECT A.FIELD1 FROM <TABLE> A
UNION
SELECT B.FIELD2 FROM <TABLE> B
? ? ? ? 注:
????????1.列名不一致時(shí),會(huì)以第一張表的表頭為準(zhǔn),并對(duì)齊欄目
????????2.會(huì)將重復(fù)的行進(jìn)行過濾
? ? ? ? 3.如果查詢的表的列數(shù)量不相等時(shí)會(huì)報(bào)錯(cuò)
? ? ? ? 4.在每個(gè)子句的排序中是沒有意義的,MySQL在合并時(shí)會(huì)忽略
? ? ? ? 5.如果子句中的排序和limit進(jìn)行結(jié)合是有意義的
? ? ? ? 6.可以對(duì)合并后的整表進(jìn)行排序
4. UNION ALL
? ? ? ? 與 UNION 不同, UNION ALL 不回去重,而是全部顯示
原文鏈接:https://blog.csdn.net/annotation_PLZ/article/details/126838998
相關(guān)推薦
- 2022-07-10 laravel 中 distinct() 的使用方法與去重
- 2023-07-05 Redis性能瓶頸:如何優(yōu)化大key問題?
- 2022-09-29 React路由攔截模式及withRouter示例詳解_React
- 2022-05-23 Go語言特點(diǎn)及基本數(shù)據(jù)類型使用詳解_Golang
- 2022-08-14 Nginx安裝配置詳解_nginx
- 2023-02-18 減少react組件不必要的重新渲染實(shí)現(xiàn)方法_React
- 2022-06-18 Android?ScrollView實(shí)現(xiàn)滾動(dòng)超過邊界松手回彈_Android
- 2022-09-25 創(chuàng)建的對(duì)象如何在堆區(qū)分配內(nèi)存
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡(jiǎn)單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對(duì)象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支