Python MySQL Create Table

ایجاد یک جدول

جهت ایجاد یک جدول در MySQL از دستور "CREATE TABLE" استفاده می‌کنیم.

هنگام متصل شدن به پایگاه داده مطمئن شوید که اسم پایگاه داده مورد نظر را تعریف کرده‌اید.


import mysql.connector
from config import username, password, host

mydb = mysql.connector.connect(
  host= host,
  user= username,
  password= password,
  database="mydatabase"
)

mycursor = mydb.cursor()

mycursor.execute("CREATE TABLE customers (name VARCHAR(255), address VARCHAR(255))")

در صورتی که کد بالا بدون خطا اجرا شود، موفق شده‌اید جدولی با اسم customers که دارای 2 ستون اسم و آدرس است را بسازید.

بررسی وجود یک جدول

با استفاده از دستور "SHOW TABLES" می‌توانید لیست همه جدول‌های موجود در پایگاه داده را مشاهده کنید.


import mysql.connector
from config import username, password, host

mydb = mysql.connector.connect(
  host= host,
  user= username,
  password= password,
  database="mydatabase"
)

mycursor = mydb.cursor()

mycursor.execute("SHOW TABLES")

for x in mycursor:
    print(x)

خروجی:

Primary Key

همان‌طور که می‌دانید هنگام ایجاد جدول باید ستونی داشته باشیم که به هر رکورد (ورودی) یک کلید متمایز و یکتا اختصاص دهد. این کار بوسیله تعریف PRIMARY KEY انجام می‌شود.

با استفاده از عبارت "INT AUTO_INCREMENT PRIMARY KEY" برای هر رکورد یک عدد یکتا تعریف می‌شود که این عدد از یک شروع شده و به ازای هر رکورد یک عدد افزایش می‌یابد.


import mysql.connector
from config import username, password, host

mydb = mysql.connector.connect(
  host= host,
  user= username,
  password= password,
  database="mydatabase"
)

mycursor = mydb.cursor()

mycursor.execute("CREATE TABLE customers (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), address VARCHAR(255))")

زمانی که از قبل جدول موجود است، می‌توانید از کلید واژه ALTER TABLE استفاده کنید.


import mysql.connector
from config import username, password, host

mydb = mysql.connector.connect(
  host= host,
  user= username,
  password= password,
  database="mydatabase"
)

mycursor = mydb.cursor()

mycursor.execute("ALTER TABLE customers ADD COLUMN id INT AUTO_INCREMENT PRIMARY KEY")