Python සහ MySQL ඒකාබද්ධ කිරීමේ මාර්ගෝපදේශය: සැකසුම, සම්බන්ධතාවය, සහ මූලික කරුණු

目次

1. Python සහ MySQL ඒකාබද්ධ කිරීම: හැඳින්වීම

Python යනු ඉතා නම්‍යශීලී ක්‍රමගත කිරීමේ භාෂාවකි, එය විවිධ database management systems (DBMS) සමඟ වැඩ කළ හැකිය. MySQL, විශේෂයෙන්ම, විවෘත මූලාශ්‍ර සබඳතා database ලෙස ව්‍යාප්ත වූවකි, සහ Python සමඟ ඒකාබද්ධ කළ විට, එය බලවත් දත්ත කළමනාකරණය සක්‍රිය කරයි.

මෙම ලිපියේදී, අපි Python භාවිතයෙන් MySQL වෙත සම්බන්ධ වීම සහ දත්ත ඇතුළත් කිරීම, ලබාගැනීම, යාවත්කාලීන කිරීම සහ මකා දැමීම වැනි මූලික database ක්‍රියාකාරකම් සිදු කිරීම තක්සේරු කරන්නෙමු.

2. Python සහ MySQL ඒකාබද්ධ කිරීම සඳහා අවශ්‍ය පරිසර සැකසුම

පළමුව, Python සහ MySQL ඒකාබද්ධ කිරීම සඳහා පරිසර සූදානම් කිරීම අවශ්‍ය වේ. මෙම කොටසෙහි, අවශ්‍ය මෘදුකාංග ස්ථාපනය කිරීම සහ සකස් කිරීම තක්සේරු කර ඇත.

2.1 MySQL ස්ථාපනය කිරීම

MySQL සඳහා ස්ථාපන ක්‍රියාවලිය operating system අනුව වෙනස් වේ. පහත දැක්වෙන්නේ එක් එක් OS සඳහා සරල ස්ථාපන ක්‍රමයි.

  • Windows සඳහා : නිල MySQL වෙබ් අඩවියෙන් installer බාගන්නා සහ ස්ථාපන මාර්ගෝපදේශය අනුගමනය කරන්න.
  • macOS සඳහා : Homebrew භාවිතයෙන් MySQL ස්ථාපනය කළ හැකි වන අතර, brew install mysql command භාවිතා කරන්න.
  • Linux සඳහා : Debian-අඩඋනු operating systems වලදී, sudo apt-get install mysql-server භාවිතා කරන්න .

2.2 Python පරිසරය සැකසීම

ඊළඟට, Python පරිසරයේදී අවශ්‍ය libraries ස්ථාපනය කරන්න. Python වෙතින් MySQL වෙත සම්බන්ධ වීම සඳහා, පහත libraries වලින් එකක් අවශ්‍ය වේ.

  • mysql-connector-python : Oracle විසින් සපයන නිල MySQL connector library.
  • PyMySQL : MySQLdb සමඟ සමගිය ඇති සම්පූර්ණ-Python library.

ස්ථාපනය සරලයි—පහත command ධාවනය කරන්න.

pip install mysql-connector-python

අනෙක් අතට, PyMySQL භාවිතා කිරීමට අපේක්ෂා කරන්නේ නම්, පහත command ධාවනය කරන්න.

pip install pymysql

2.3 Libraries අතර වෙනස්කම්

mysql-connector-python යනු නිල MySQL library වන අතර, එය ශක්තිමත් කාර්ය සාධනය සහ පුළුල් සහාය ලබා දෙයි. අනෙක් අතට, PyMySQL යනු ලේසි වර්ගයේ වන අතර, MySQLdb-සමගිය ලක්ෂණ අවශ්‍ය වන විට සුදුසුය. ඔබේ ව්‍යාපෘති අවශ්‍යතා අනුව library තෝරා ගත යුතුය.

3. Python භාවිතයෙන් MySQL වෙත සම්බන්ධ වීමේ මූලික පියවර

Python භාවිතයෙන් MySQL වෙත සම්බන්ධ වීම ඉතා සරලය. මෙම කොටසෙහි, MySQL වෙත සම්බන්ධ වීම සහ database තුළ tables ක්‍රියාකාරී කිරීම තක්සේරු කර ඇත.

3.1 MySQL Database එකකට සම්බන්ධ වීම

පහත දැක්වෙන්නේ mysql-connector-python භාවිතයෙන් MySQL වෙත සම්බන්ධ වන මූලික උදාහරණ code එකකි.

import mysql.connector

# Connection information for the MySQL server
conn = mysql.connector.connect(
    host='localhost',
    user='root',
    password='password',
    database='test_db'
)

# Verify the connection
if conn.is_connected():
    print("Successfully connected to the MySQL server!")

මෙම code එකේදී, mysql.connector.connect() function භාවිතා කරමින් දේශීය MySQL server එකකට සම්බන්ධ වේ. සම්බන්ධතාවය සාර්ථක නම්, තහවුරු කිරීමේ පණිවිඩයක් පෙන්වයි.

3.2 සම්බන්ධතා අසාර්ථකත්වයන් troubleshoot කිරීම

සම්බන්ධතාවය අසාර්ථක වන්නේ නම්, පහත වැනි වර්ගයේ errors ඇති විය හැක.

  • Authentication error : username හෝ password වැරදි විය හැක.
  • Host connection error : server නිවැරදිව ධාවනය වන බව පරීක්ෂා කරන්න සහ firewall settings තහවුරු කරන්න.

program එක අනපේක්ෂිතව අවසන් නොවීම වැළැක්වීම සඳහා, try-except statement භාවිතයෙන් errors handle කළ හැක.

try:
    conn = mysql.connector.connect(...)
except mysql.connector.Error as err:
    print(f"Error: {err}")

4. මූලික SQL ක්‍රියාකාරකම්

MySQL වෙත සාර්ථකව සම්බන්ධ වූ පසු, මූලික SQL ක්‍රියාකාරකම් සිදු කළ හැක. මෙම කොටසෙහි, දත්ත ඇතුළත් කිරීම, ලබාගැනීම, යාවත්කාලීන කිරීම සහ මකා දැමීම තක්සේරු කර ඇත.

4.1 දත්ත ඇතුළත් කිරීම

table එකකට නව දත්ත ඇතුළත් කිරීම සඳහා, පහත වැනි SQL statement භාවිතා කරන්න.

cursor = conn.cursor()

# Insert data query
insert_query = "INSERT INTO users (username, email) VALUES (%s, %s)"
data = ("user1", "user1@example.com")

# Execute the query
cursor.execute(insert_query, data)

# Commit the changes
conn.commit()

4.2 දත්ත ලබාගැනීම

දත්ත ලබා ගැනීමට, SELECT ප්‍රකාශනය භාවිතා කරන්න. පහත උදාහරණය සියලු පරිශීලක රෙකෝඩ් ලබා ගනී.

cursor.execute("SELECT * FROM users")
rows = cursor.fetchall()

# Display the results
for row in rows:
    print(row)

4.3 දත්ත යාවත්කාලීන කිරීම

පවත්නා දත්ත යාවත්කාලීන කිරීමට, UPDATE ප්‍රකාශනය භාවිතා කරන්න.

update_query = "UPDATE users SET email = %s WHERE username = %s"
cursor.execute(update_query, ("new_email@example.com", "user1"))
conn.commit()

4.4 දත්ත මකා දැමීම

අවශ්‍ය නොවන දත්ත ඉවත් කිරීමට, DELETE ප්‍රකාශනය භාවිතා කරන්න.

delete_query = "DELETE FROM users WHERE username = %s"
cursor.execute(delete_query, ("user1",))
conn.commit()

5. උසස් මෙහෙයුම්

ඊළඟට, ගනුදෙනු කළමනාකරණය සහ සූදානම් ප්‍රකාශන වැනි උසස් මෙහෙයුම් පිළිබඳව අපි විස්තර කරමු.

5.1 ගනුදෙනු කළමනාකරණය

ඔබට බහු දත්ත සමුදා මෙහෙයුම් එකක් ලෙස ක්‍රියාත්මක කර අවශ්‍ය නම් ඒවා ආපසු හැරවීමට, ගනුදෙනු භාවිතා කරන්න.

try:
    cursor.execute("...")
    conn.commit()  # Commit if completed successfully
except:
    conn.rollback()  # Roll back if an error occurs

5.2 සූදානම් ප්‍රකාශන භාවිතය

SQL ඉන්ජෙක්ශන් ප්‍රහාර වලින් රැකගැනීමට, සූදානම් ප්‍රකාශන භාවිතා කිරීම සුපිරි ය.

stmt = "SELECT * FROM users WHERE username = %s"
cursor.execute(stmt, ("user1",))

6. Python සහ MySQL භාවිතයේ ප්‍රායෝගික උදාහරණ

Python සහ MySQL එකතු කිරීමෙන්, ඔබට විවිධ ප්‍රායෝගික යෙදුම් සංවර්ධනය කළ හැක. මෙම කොටසේ, Python සහ MySQL භාවිතය සවිස්තරාත්මක උදාහරණ සමඟ පැහැදිලි කරමු.

6.1 පරිශීලක කළමනාකරණ පද්ධතියක් ගොඩනැගීම

පරිශීලක කළමනාකරණ පද්ධතියක් Python සහ MySQL සමඟ සාමාන්‍ය උදාහරණයකි. පහත සරල පරිශීලක කළමනාකරණ පද්ධතියක් සඳහා මූලික සැලැස්මක් ඇත.

පියවර 1: පරිශීලක වගුව සෑදීම

පළමුව, SQL CREATE TABLE ප්‍රකාශනය භාවිතා කර පරිශීලක තොරතුරු ගබඩා කිරීම සඳහා වගුවක් සෑදන්න.

CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(50) NOT NULL,
    email VARCHAR(100) NOT NULL,
    password VARCHAR(255) NOT NULL
);

පියවර 2: පරිශීලක ලියාපදිංචි විශේෂාංගයක් ක්‍රියාත්මක කිරීම

ඊළඟට, නව පරිශීලකයන් ලියාපදිංචි කිරීමේ ක්‍රියාකාරිත්වය ක්‍රියාත්මක කරන්න. පහත Python කේතය INSERT ප්‍රකාශනය භාවිතා කර පරිශීලක තොරතුරු දත්ත සමුදායට ඇතුළත් කරයි.

import mysql.connector

# Connect to MySQL
conn = mysql.connector.connect(user='root', password='password', host='localhost', database='test_db')
cursor = conn.cursor()

# Insert new user data
insert_query = "INSERT INTO users (username, email, password) VALUES (%s, %s, %s)"
user_data = ("user123", "user123@example.com", "securepassword")
cursor.execute(insert_query, user_data)

# Commit the changes
conn.commit()

# Close the connection
cursor.close()
conn.close()

පියවර 3: ලොග් ඉන් විශේෂාංගයක් ක්‍රියාත්මක කිරීම

පරිශීලකයන්ට ලොග් ඉන් වීමට ඉඩ දෙන ක්‍රියාකාරිත්වයක් එක් කරන්න. පහත උදාහරණය SELECT ප්‍රකාශනය භාවිතා කර පරිශීලකයෙක් පවතිනදැයි පරීක්ෂා කරයි.

# Authentication during login
login_query = "SELECT * FROM users WHERE username = %s AND password = %s"
login_data = ("user123", "securepassword")
cursor.execute(login_query, login_data)

user = cursor.fetchone()
if user:
    print("Login successful")
else:
    print("Login failed")

6.2 දත්ත විශ්ලේෂණ සඳහා MySQL භාවිතය

MySQL දත්ත ගබඩාවක් ලෙස භාවිතා කර Python දත්ත විශ්ලේෂණ පුස්තකාල සමඟ එකතු කර විශ්ලේෂණ කළ හැක. මෙන්න Python හි Pandas පුස්තකාලය භාවිතා කරන උදාහරණයක්.

පියවර 1: MySQL වෙතින් දත්ත ලබා ගැනීම

පහත උදාහරණය MySQL වෙතින් දත්ත ලබාගෙන ඒවා Pandas DataFrame එකකට පරිවර්තනය කර විශ්ලේෂණය කරන ආකාරය පෙන්වයි.

import mysql.connector
import pandas as pd

# Connect to MySQL
conn = mysql.connector.connect(user='root', password='password', host='localhost', database='test_db')
cursor = conn.cursor()

# Retrieve data and convert to a Pandas DataFrame
query = "SELECT * FROM users"
cursor.execute(query)
rows = cursor.fetchall()

df = pd.DataFrame(rows, columns=['id', 'username', 'email', 'password'])

# Preview the data
print(df.head())

# Close the connection
cursor.close()
conn.close()

Step 2: Data Aggregation and Analysis

You can use Pandas to perform aggregation and analysis. For example, you can analyze the distribution of email domains among users.

# Count users by email domain
df['domain'] = df['email'].apply(lambda x: x.split('@')[1])
domain_count = df['domain'].value_counts()

print(domain_count)

As shown above, by using MySQL as a backend and combining it with analysis tools such as Pandas, you can process data effectively.

7. Summary and Next Steps

So far, we have covered the basics of database operations using Python and MySQL integration, including building a user management system as a practical example and performing data analysis. This technology is extremely powerful for building the foundation of web applications and data processing systems.

7.1 Further Steps

After learning the fundamentals explained in this article, we recommend moving on to the following steps.

  • Integrate with Django or Flask : Use Python frameworks to build more advanced web applications.
  • Database optimization : Learn about MySQL indexing and query optimization to improve database performance.
  • Big data analysis : Process MySQL data with Python and work on building machine learning models or conducting large-scale data analysis.