PythonMySQLテーブルの作成
テーブルの作成
MySQLでテーブルを作成するには、「CREATETABLE」ステートメントを使用します。
接続を作成するときは、必ずデータベースの名前を定義してください
例
「customers」という名前のテーブルを作成します。
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="mydatabase"
)
mycursor = mydb.cursor()
mycursor.execute("CREATE TABLE customers (name VARCHAR(255),
address VARCHAR(255))")
上記のコードがエラーなしで実行された場合、これでテーブルが正常に作成されました。
テーブルが存在するかどうかを確認します
「SHOWTABLES」ステートメントを使用してデータベース内のすべてのテーブルを一覧表示することにより、テーブルが存在するかどうかを確認できます。
例
システムのデータベースのリストを返します。
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="mydatabase"
)
mycursor = mydb.cursor()
mycursor.execute("SHOW TABLES")
for x in mycursor:
print(x)
主キー
テーブルを作成するときは、レコードごとに一意のキーを持つ列も作成する必要があります。
これは、主キーを定義することで実行できます。
各レコードに一意の番号を挿入するステートメント「INTAUTO_INCREMENTPRIMARYKEY」を使用します。1から始まり、レコードごとに1ずつ増加します。
例
テーブルを作成するときに主キーを作成します。
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="mydatabase"
)
mycursor = mydb.cursor()
mycursor.execute("CREATE TABLE customers (id INT AUTO_INCREMENT
PRIMARY KEY, name VARCHAR(255),
address VARCHAR(255))")
テーブルがすでに存在する場合は、ALTERTABLEキーワードを使用します。
例
既存のテーブルに主キーを作成します。
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="mydatabase"
)
mycursor = mydb.cursor()
mycursor.execute("ALTER TABLE customers ADD COLUMN id INT AUTO_INCREMENT
PRIMARY KEY")