🔥 และในวันนี้ แอดจะพาเพื่อน ๆ มาทำความรู้จักกับอีกหนึ่งคำสั่งเจ๋ง ๆ ใน SQL นั่นก็คือเจ้า EXPLAIN นั่นเองจ้าาา ~~
.
👉 เจ้านี่มันคืออะไร มีรายละเอียดและวิธีการใช้งานยังไง ถ้าพร้อมแล้วมาอ่านกันเลยยย !!
.
✨ EXPLAIN - เป็นคำสั่งที่ใช้บอกรายละเอียดในการ Query ข้อมูล เพื่อใช้วัดประสิทธิภาพในการ Query ข้อมูลนั่นเอง
.
👨💻 Syntax
EXPLAIN (QUERY Statement) ; /* ONLY TAKES COMMAND AS PARAMETER */
.
เจ้า EXPLAIN สามารถใช้นำหน้าคำสั่ง SELECT, UPDATE, INSERT และ DELETE ได้
.
📑 วิธีการใช้งาน
🔸 Query ปกติ
SELECT * FROM demo_table WHERE demo_column = 'Demo Value';
.
🔸 Query โดยใช้ EXPLAIN
EXPLAIN SELECT * FROM demo_table WHERE demo_column = 'Demo Value';
.
จะได้ผลลัพธ์ ดังนี้
id: 1
select_type: SIMPLE
table: demo_table
partitions: NULL
type: const
possible_keys: PRIMARY
key: PRIMARY
key_len: 4
ref: const
rows: 1
filtered: 100.00
Extra: NULL
.
🔸 id - id ของ Query EXPLAIN
🔸 select_type - แสดงความซับซ้อนของ Query ผลลัพธ์ด้านบนจะอยู่ในระดับ SIMPLE
🔸 table - แสดงชื่อของตาราง
🔸 partitions - แสดง Partitions ของตารางที่ใช้ใน Query
🔸 type - ระบุประเภทของการ Join
🔸 possible_keys - แสดง Key ที่ใช้
🔸 key - แสดงความยาวของ Key ที่ใช้
🔸 ref - การอ้างอิงที่ใช้ใน Query เมื่อทำการ Comparing Columns
🔸 rows - แสดงจำนวนแถว
🔸 filtered - แสดงเปอร์เซ็นต์ของแถวตามเงื่อนไขที่ระบุ
🔸 Extra - ข้อมูลเพิ่มเติมของ Query
.
🌟 ประโยชน์
- ใช้เพื่อแสดงข้อมูลเกี่ยวกับการ Query
- มีประโยชน์มากในการออกแบบ Schema และ Index
- ใช้ตรวจสอบคำสั่ง Query ว่ามีประสิทธิภาพหรือไม่ เช่น วัดความเร็วในการ Query, ตรวจสอบการแบ่ง - Partition ของตาราง เป็นต้น
- ช่วยเพิ่มประสิทธิภาพในการ Query ข้อมูลใน Database
.
💥 Source : https://arctype.hashnode.dev/mysql-understanding-explain , https://www.geeksforgeeks.org/explain-in-sql/
.
borntoDev - 🦖 สร้างการเรียนรู้ที่ดีสำหรับสายไอทีในทุกวัน
同時也有21部Youtube影片,追蹤數超過12萬的網紅prasertcbs,也在其Youtube影片中提到,การใช้ Python ในการเรียกใช้ชุดคำสั่ง SQL ของ SQLite เนื้อหาครอบคลุมการทำงานพื้นฐาน 4 อย่าง (CRUD)ในตารางของฐานข้อมูลอันได้แก่ 1) Create หรือ Insert เ...
「update select sql」的推薦目錄:
- 關於update select sql 在 BorntoDev Facebook
- 關於update select sql 在 BorntoDev Facebook
- 關於update select sql 在 91 敏捷開發之路 Facebook
- 關於update select sql 在 prasertcbs Youtube
- 關於update select sql 在 prasertcbs Youtube
- 關於update select sql 在 吳老師教學部落格 Youtube
- 關於update select sql 在 SQL Tutorial #24 - How to Update Data in SQL - YouTube 的評價
- 關於update select sql 在 How To Update Existing Records In SQL Table ... - YouTube 的評價
update select sql 在 BorntoDev Facebook 八卦
🔥 สวัสดีค่ะเพื่อนๆ ทุกคน วันนี้แอดไปเจอเว็บที่รวบรวม SQL Cheatsheet มาให้เพื่อนๆ ไปศึกษาและใช้งานกันจ้า
.
📚 สำหรับใครที่รู้เพียงแค่คำสั่งพื้นฐาน เช่น Select, Update, Delete เว็บนี้รวบรวมคำสั่งที่ Advance ขึ้นไว้ให้หมดแล้ว แถมยังบอกวิธีการใช้งานอย่างละเอียดด้วยนะ ดีมากๆ เลยค่ะ
.
💥 หากพร้อมแล้ว จิ้มลิงค์ไปดูกันได้เลย >> https://dev.to/thevnomad/sql-cheatsheet-most-common-commands-5mj
.
หวังว่าจะเป็นประโยชน์กับเพื่อนๆ นะคะ 😍
.
borntoDev - 🦖 สร้างการเรียนรู้ที่ดีสำหรับสายไอทีในทุกวัน
update select sql 在 91 敏捷開發之路 Facebook 八卦
有在使用 MS SQL server 的朋友,如果有需要找到 identity 跳號的資料,可以參考一下新的寫法,查詢成本省很大。
#長知識
【SQL Tips】之【了解為何identity會發生不連續號碼與快速找出那些號碼是跳號】20171224
**identity保證唯一,不保證連續**
**使用SARG規則與SET BASED方式找出不連續號碼**
**最後那三種找出不連續的技巧,成本比如下
50%(SELF JOIN搭配NOT IN) : 32%(SELF JOIN搭配 OFFSET 函數) : 18%(LAG 函數) **
許多SQL Server開發人員經常會使用identity自動產生連續編號,然而該identity卻有一個特質是發生交易退回(rollback)則會產生跳號的狀況,以下的狀況就是identity碰到交易退回後所產生的跳號情況。
***
use tempdb
go
if object_id('tblNum') is not null
drop table tblNum
go
create table tblNum
(c1 int identity ,
c2 nvarchar(30) unique --防止重複
)
go
insert into tblNum(c2) values ('lewis1')
insert into tblNum(c2) values ('lewis2')
insert into tblNum(c2) values ('lewis3')
insert into tblNum(c2) values ('lewis3') --重複姓名就發生跳號
insert into tblNum(c2) values ('lewis5')
insert into tblNum(c2) values ('lewis5') --重複姓名就發生跳號
insert into tblNum(c2) values ('lewis5') --重複姓名就發生跳號
insert into tblNum(c2) values ('lewis8')
insert into tblNum(c2) values ('lewis9')
insert into tblNum(c2) values ('lewis10')
go
select * from tblNum
GO
--結果
c1 c2
1 lewis1
2 lewis2
3 lewis3
5 lewis5 <--發生跳號
8 lewis8 <--發生跳號
9 lewis9
10 lewis10
***
基本上單一執行INSERT UPDATE DELETE 就是一種隱性交易,上述的範例就是因為條件約束(constraint)的unique緣故,當輸入的文字發生重複的時候,就會自動退回交易,緊接著identity也隨之發生跳號的狀況。
當瞭解identity會有發生跳號的特質之後,接下來分享三種從SQL Server 2005開始使用的抓取跳號的範例,以及從SQL Server 2012開始支援的Windows Offset函數抓取跳號的技巧。這三種技巧都是使用set-based的方式,不使用WHILE迴圈去比對資料的連續性,值得一試。
**從SQL Server 2005支援的抓取跳號的技巧
--使用自我查詢產生搭配CTE
--使用SET BASED技巧取代迴圈處理
WITH DS AS (
SELECT DS1.* FROM tblNum as DS1 JOIN
tblNum as DS2
on DS1.c1 = DS2.c1+1 )
SELECT * FROM tblNum
WHERE c1 NOT IN (SELECT TOP(1) c1 FROM tblNum ORDER BY c1)
EXCEPT
SELECT * FROM DS
GO
**從SQL Server 2012支援的抓取跳號的技巧
--使用自我查詢產生搭配OFFSET
--使用SET BASED技巧取代迴圈處理
WITH DS AS (
SELECT DS1.* FROM tblNum as DS1 JOIN
tblNum as DS2
on DS1.c1 = DS2.c1+1 ),
DS2 AS (SELECT * FROM tblNum ORDER BY 1 OFFSET 1 ROW )
SELECT * FROM DS2
EXCEPT
SELECT * FROM DS
GO
**從SQL Server 2012支援的抓取跳號的技巧
--使用自我查詢產生搭配LAG的Windows Offset技巧
--使用SET BASED技巧取代迴圈處理
WITH DIFF AS (
select *,LAG(c1, 1,0) OVER ( ORDER BY c1) as previous
,c1 - LAG(c1, 1,0) OVER ( ORDER BY c1) as diff
from tblNum
)
SELECT c1,c2 FROM DIFF WHERE diff>1
GO
--結果就是 5/8 之前就發生跳號
c1 c2
5 lewis5
8 lewis8
最後那三種找出不連續的技巧,成本比如下
50%(SELF JOIN搭配NOT IN) : 32%(SELF JOIN搭配 OFFSET) : 18%(LAG)
update select sql 在 prasertcbs Youtube 的評價
การใช้ Python ในการเรียกใช้ชุดคำสั่ง SQL ของ SQLite
เนื้อหาครอบคลุมการทำงานพื้นฐาน 4 อย่าง (CRUD)ในตารางของฐานข้อมูลอันได้แก่
1) Create หรือ Insert เพื่อทำการเพิ่มข้อมูลเข้าในตาราง
2) Read หรือ Select เพื่อทำการอ่านข้อมูลในตาราง
3) Update เพื่อทำการปรับปรุงแก้ไขค่าในตาราง
4) Delete เพื่อแถวข้อมูลจากตาราง
=== ดาวน์โหลดไฟล์ตัวอย่างได้ที่ https://goo.gl/XARwZP
เชิญสมัครเป็นสมาชิกของช่องนี้ได้ที่ https://www.youtube.com/subscription_center?add_user=prasertcbs
► สอน Python 3 การติดต่อกับฐานข้อมูล https://www.youtube.com/watch?v=2n2SLFET-GU&list=PLoTScYm9O0GEdZtHwU3t9k3dBAlxYoq59
► สอน Python https://www.youtube.com/playlist?list=PLoTScYm9O0GH4YQs9t4tf2RIYolHt_YwW
► สอน Python OOP https://www.youtube.com/playlist?list=PLoTScYm9O0GEIZzlTKPUiOqkewkWmwadW
► สอน Python GUI https://www.youtube.com/playlist?list=PLoTScYm9O0GFB1Y3cCmb9aPD5xRB1T11y
► สอน Microsoft SQL Server https://www.youtube.com/playlist?list=PLoTScYm9O0GH8gYuxpp-jqu5Blc7KbQVn
► สอน MySQL https://www.youtube.com/playlist?list=PLoTScYm9O0GFmJDsZipFCrY6L-0RrBYLT
► สอน PostgreSQL https://www.youtube.com/playlist?list=PLoTScYm9O0GGi_NqmIu43B-PsxA0wtnyH
► สอน SQLite https://www.youtube.com/playlist?list=PLoTScYm9O0GHjYJA4pfG38M5BcrWKf5s2
► การเชื่อมต่อกับฐานข้อมูล (SQL Server, MySQL, PostgreSQL, SQLite) ด้วย Python ► https://www.youtube.com/playlist?list=PLoTScYm9O0GEdZtHwU3t9k3dBAlxYoq59
#prasertcbs_SQL #prasertcbs #prasertcbs_python
update select sql 在 prasertcbs Youtube 的評價
-- command
create user alpha with encrypted password '1234';
\c demo
grant select on table public.benjerry to alpha;
grant select, insert, update, delete on table public.menu to alpha;
grant select, insert, update, delete on all tables in schema public to alpha;
revoke all privileges on all tables in schema public from alpha;
grant all privileges on all tables in schema public to alpha;
ดาวน์โหลด saturn database (saturn.tar) ได้ที่ ► http://bit.ly/2E2uY7a
เชิญสมัครเป็นสมาชิกของช่องนี้ได้ที่ ► https://www.youtube.com/subscription_center?add_user=prasertcbs
สอน PostgreSQL ► https://www.youtube.com/playlist?list=PLoTScYm9O0GGi_NqmIu43B-PsxA0wtnyH
สอน MySQL ► https://www.youtube.com/playlist?list=PLoTScYm9O0GFmJDsZipFCrY6L-0RrBYLT
สอน Microsoft SQL Server 2012, 2014, 2016, 2017 ► https://www.youtube.com/playlist?list=PLoTScYm9O0GH8gYuxpp-jqu5Blc7KbQVn
สอน SQLite ► https://www.youtube.com/playlist?list=PLoTScYm9O0GHjYJA4pfG38M5BcrWKf5s2
สอน SQL สำหรับ Data Science ► https://www.youtube.com/playlist?list=PLoTScYm9O0GGq8M6HO8xrpkaRhvEBsQhw
การเชื่อมต่อกับฐานข้อมูล (SQL Server, MySQL, SQLite) ด้วย Python ► https://www.youtube.com/playlist?list=PLoTScYm9O0GEdZtHwU3t9k3dBAlxYoq59
การใช้ Excel ในการทำงานร่วมกับกับฐานข้อมูล (SQL Server, MySQL, Access) ► https://www.youtube.com/playlist?list=PLoTScYm9O0GGA2sSqNRSXlw0OYuCfDwYk
#prasertcbs_SQL #prasertcbs #prasertcbs_PostgreSQL
update select sql 在 吳老師教學部落格 Youtube 的評價
中央從Python程式到網路爬蟲應用第7次SQLite建立資料庫與新增資料&匯入會員資料的50個會員到資料庫中&改用format產生SQL語法與寫入資料&用executemany&&用select查詢資料表&刪除資料與自訂函數&Update修改資料&會員編號與文字關鍵字與日期查詢
上課內容:
01_重點回顧與SQLite建立資料庫與新增資料
02_修改為自動增號與迴圈自動輸入
03_匯入會員資料的50個會員到資料庫中
04_改用format產生SQL語法與寫入資料
05_改用executemany大量輸入資料
06_修改list2的第五欄資料與大量新增資料
07_用select查詢資料表
08_SQL刪除資料與自訂函數
09_Update修改資料與查詢結果
10_會員編號與文字關鍵字與日期查詢
11_全省郵局地址轉入資料庫與查詢作業說明
完整影音
http://goo.gl/aQTMFS
教學論壇(之後課程會放論壇上課學員請自行加入):
https://groups.google.com/forum/#!forum/ncu_python_2019
懶人包:
EXCEL函數與VBA http://terry28853669.pixnet.net/blog/category/list/1384521
EXCEL VBA自動化教學 http://terry28853669.pixnet.net/blog/category/list/1384524
TQC+Python證照目錄:
Python 第1類:基本程式設計
技能內容:變數與常數、指定敘述、標準輸入輸出、運算式、算術運算子、數學函式的應用、格式化的輸出Python 第2類:選擇敘述
技能內容:if、if...else、if…elif
Python 第3類:迴圈敘述
技能內容:while、for…in
Python 第4類:進階控制流程
技能內容:常用的控制結構、條件判斷、迴圈
Python 第5類:函式(Function)
技能內容:函式使用、傳遞參數、回傳資料、內建函式、區域變數與全域變數
Python 第6類:串列(List)的運作(一維、二維以及多維)
技能內容:串列的建立、串列的函式、串列參數傳遞、串列應用
Python 第7類:數組(Tuple)、集合(Set)以及詞典(Dictionary)
技能內容:數組、集合、詞典的建立、運作及應用
Python 第8類:字串(String)的運作
技能內容:字串的建立、字串的庫存函式、字串的應用
Python 第9類:檔案與異常處理
技能內容:文字I/O、檔案的建立、寫入資料與讀取資料、二進位I/O、編碼(Encoding)、異常處理
課程簡介:入門
建置Python開發環境
基本語法與結構控制
迴圈、資料結構及函式
VBA重要函數到Python
檔案處理
資料庫處理
課程簡介:進階
網頁資料擷取與分析、Python網頁測試自動化、YouTube影片下載器
處理 Excel 試算表、處理 PDF 與 Word 文件、處理 CSV 檔和 JSON 資料
實戰:PM2.5即時監測顯示器、Email 和文字簡訊、處理影像圖片、以 GUI 自動化來控制鍵盤和滑鼠
上課用書:
參考書目
Python初學特訓班(附250分鐘影音教學/範例程式)
作者: 鄧文淵/總監製, 文淵閣工作室/編著
出版社:碁峰? 出版日期:2016/11/29
吳老師 108/3/9
Python,中央大學資工系,福建師範大學,EXCEL,VBA,函數,程式設計,線上教學,PYTHON安裝環境,網路爬蟲
update select sql 在 How To Update Existing Records In SQL Table ... - YouTube 的八卦
SQL Update Query Tutorial | How To Update Existing Records In SQL Table? | SQL Tutorial | SimpliCode. Watch later. Share. Copy link. ... <看更多>
update select sql 在 SQL Tutorial #24 - How to Update Data in SQL - YouTube 的八卦
You can use UPDATE statement for updating data in single or multiple ... in sql, update column sql, update query,learn sql for beginners, sql ... ... <看更多>