สมัครเรียนโทร. 085-350-7540 , 084-88-00-255 , ntprintf@gmail.com

Tutorial Python MySQL

LM29PYTHON MYSQL LM30PYTHON MYSQL CREATE DATABASE LM31PYTHON MYSQL CREATE TABLE LM32PYTHON MYSQL INSERT INTO TABLE LM33PYTHON MYSQL SELECT FROM LM34PYTHON MYSQL WHERE LM35PYTHON MYSQL ORDER BY LM36PYTHON MYSQL DELETE FROM BY LM37PYTHON MYSQL DROP TABLE LM38PYTHON MYSQL UPDATE TABLE LM39PYTHON MYSQL LIMIT LM40PYTHON MYSQL JOIN

Python MySQL Where

เรียนเขียนโปรแกรมง่ายๆกับ Expert Programming Tutor ในบท Python MySQL Where
ใน MySQL เรายังจะได้เรียนรู้เกี่ยวกับการเลือกด้วยการกรอง จะเป็นอย่างไรมาเรียนรู้กันเลย
การเลือกด้วยการกรอง
เมื่อเลือกระเบียนจากตารางนักเรียนสามารถกรองการเลือกโดยใช้คำสั่ง "WHERE"
ตัวอย่าง
เลือกบันทึกที่ที่อยู่คือ "Park Lane 38" : ผลลัพธ์

import mysql.connector
mydb = mysql.connector.connect(
  host="localhost",
  user="root",
  passwd="",
  database="myept"
)
mycursor = mydb.cursor()
sql = "SELECT * FROM customers WHERE address ='Park Lane 38'"
mycursor.execute(sql)
myresult = mycursor.fetchall()
for x in myresult:
  print(x)

ผลลัพธ์
ผลลัพธ์การหาชื่อ Idle
เเสดงผลลัพธ์ ใน SQL

C:\Users\My Name>D:/PYTHON/LM34_01.py
(11, 'Ben', 'Park Lane 38')

การใช้อักขระตัวแทน(Wildcard Characters)
นอกจากนี้นักเรียนยังสามารถเลือกระเบียนที่เริ่มต้นรวมหรือสิ้นสุดด้วยตัวอักษรหรือวลีที่กำหนด ใช้% เพื่อแทนอักขระตัวแทน
ตัวอย่าง
เลือกระเบียนที่ที่อยู่มีคำว่า "way"

import mysql.connector
mydb = mysql.connector.connect(
  host="localhost",
  user="root",
  passwd="",
  database="myept"
)
mycursor = mydb.cursor()
sql = "SELECT * FROM customers WHERE address LIKE '%way%'"
mycursor.execute(sql)
myresult = mycursor.fetchall()
for x in myresult:
  print(x)

ผลลัพธ์
ผลลัพธ์แสดงชื่อใน idle
แสดงชื่อผลลัพธ์ใน SQL

C:\Users\My Name>python demo_mysql_where_wildcard.py
(1, 'John', 'Highway 21')
(9, 'Susan', 'One way 98')
(14, 'Viola', 'Sideway 1633')

SQL Injection 
เป็นเทคนิคที่ใช้ประโยชน์จากส่งคำสั่ง SQL ผ่านทางเว็บแอพพลิเคชันเพื่อไปโจมตีระบบฐานข้อมูลหลังบ้าน โดยอาศัยช่องโหว่ของการใส่ข้อมูล input ของผู้ใช้ที่สามารถตรวจสอบรูปแบบการโจมตีได้อย่างจำกัด แฮ็คเกอร์รู้ดีว่านักเขียนโปรแกรมจะนำข้อมูลที่ผู้ใช้ input ลงไป ไปใช้เป็นส่วนหนึ่งของคำสั่ง SQL เพื่อส่งไปยังระบบฐานข้อมูล จึงได้แอบฝังคำสั่ง SQL บางอย่างลงไปใน input เหล่านั้นด้วย ส่งผลให้แฮ็คเกอร์สามารถดึงข้อมูลหรือเปลี่ยนแปลงแก้ไขข้อมูลในระบบฐานข้อมูลตามคำสั่ง SQL ที่แอบฝังลงไปได้ทันที
โมดูล mysql.connector มีวิธีการยกเว้นค่าการสืบค้น
ตัวอย่าง
ยกเว้นค่าเคียวรีโดยใช้เมธอด placholder% s

import mysql.connector
mydb = mysql.connector.connect(
  host="localhost",
  user="root",
  passwd= "",
  database="myept"
)
mycursor = mydb.cursor()
sql = "SELECT * FROM customers WHERE address = %s"
adr = ("Yellow Garden 2", )
mycursor.execute(sql, adr)
myresult = mycursor.fetchall()
for x in myresult:
  print(x)

ผลลัพธ์
แสดงผลลัพธ์ใน idle

C:\Users\My Name>python demo_mysql_where_escape.py
(10, 'Vicky', 'Yellow Garden 2')

แปลจากhttps://www.w3schools.com/python/python_mysql_where.asp



บทความนี้อาจจะมีที่ผิด กรุณาตรวจสอบก่อนใช้

หากมีข้อผิดพลาด/ต้องการพูดคุยเพิ่มเติมเกี่ยวกับบทความนี้ กรุณาแจ้งที่ http://m.me/Expert.Programming.Tutor

ไม่อยากอ่าน Tutorial อยากมาเรียนเลยทำอย่างไร?

สมัครเรียน ONLINE ได้ทันทีที่ https://elearn.expert-programming-tutor.com

หรือติดต่อ

085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM

แผนที่ ที่ตั้งของอาคารของเรา

C Article


C++ Article


Java Article


C#.NET Article


VB.NET Article


Python Article


Golang Article


JavaScript Article


Perl Article


Lua Article


Rust Article


Article


Python


Python Numpy


Python Machine Learning



แผนผังการเรียนเขียนโปรแกรม

Link อื่นๆ

Allow sites to save and read cookie data.
Cookies are small pieces of data created by sites you visit. They make your online experience easier by saving browsing information. We use cookies to improve your experience on our website. By browsing this website, you agree to our use of cookies.

Copyright (c) 2013 expert-programming-tutor.com. All rights reserved. | 085-350-7540 | 084-88-00-255 | ntprintf@gmail.com

ติดต่อเราได้ที่

085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM
แผนที่ ที่ตั้งของอาคารของเรา