Python MySQL - Criar Tabela

A instrução CREATE TABLE é usada para criar tabelas no banco de dados MYSQL. Aqui, você precisa especificar o nome da tabela e a definição (nome e tipo de dados) de cada coluna.

Sintaxe

A seguir está a sintaxe para criar uma tabela no MySQL -

CREATE TABLE table_name(
   column1 datatype,
   column2 datatype,
   column3 datatype,
   .....
   columnN datatype,
);

Exemplo

A consulta a seguir cria uma tabela chamada EMPLOYEE no MySQL com cinco colunas, a saber, FIRST_NAME, LAST_NAME, AGE, SEX e, INCOME.

mysql> CREATE TABLE EMPLOYEE(
   FIRST_NAME CHAR(20) NOT NULL,
   LAST_NAME CHAR(20),
   AGE INT,
   SEX CHAR(1),
   INCOME FLOAT);
Query OK, 0 rows affected (0.42 sec)

A instrução DESC fornece a descrição da tabela especificada. Usando isso, você pode verificar se a tabela foi criada ou não conforme mostrado abaixo -

mysql> Desc Employee;
+------------+----------+------+-----+---------+-------+
| Field      | Type     | Null | Key | Default | Extra |
+------------+----------+------+-----+---------+-------+
| FIRST_NAME | char(20) | NO   |     | NULL    |       |
| LAST_NAME  | char(20) | YES  |     | NULL    |       |
| AGE        | int(11)  | YES  |     | NULL    |       |
| SEX        | char(1)  | YES  |     | NULL    |       |  
| INCOME     | float    | YES  |     | NULL    |       |
+------------+----------+------+-----+---------+-------+
5 rows in set (0.07 sec)

Criação de uma tabela no MySQL usando Python

O método denominado execute () (invocado no objeto cursor) aceita duas variáveis ​​-

  • Um valor String que representa a consulta a ser executada.

  • Um parâmetro opcional args que pode ser uma tupla ou lista ou dicionário, representando os parâmetros da consulta (valores dos marcadores de posição).

Ele retorna um valor inteiro que representa o número de linhas afetadas pela consulta.

Assim que uma conexão de banco de dados for estabelecida, você pode criar tabelas passando a consulta CREATE TABLE para execute() método.

Em suma, para criar uma tabela usando python -

  • Importar mysql.connector pacote.

  • Crie um objeto de conexão usando o mysql.connector.connect() , passando o nome de usuário, senha, host (padrão opcional: localhost) e banco de dados (opcional) como parâmetros para ele.

  • Crie um objeto cursor invocando o cursor() método no objeto de conexão criado acima.

  • Em seguida, execute a instrução CREATE TABLE passando-a como um parâmetro para oexecute() método.

Exemplo

O exemplo a seguir cria uma tabela chamada Employee no banco de dados mydb.

import mysql.connector

#establishing the connection
conn = mysql.connector.connect(
   user='root', password='password', host='127.0.0.1', database='mydb'
)

#Creating a cursor object using the cursor() method
cursor = conn.cursor()

#Dropping EMPLOYEE table if already exists.
cursor.execute("DROP TABLE IF EXISTS EMPLOYEE")

#Creating table as per requirement
sql ='''CREATE TABLE EMPLOYEE(
   FIRST_NAME CHAR(20) NOT NULL,
   LAST_NAME CHAR(20),
   AGE INT,
   SEX CHAR(1),
   INCOME FLOAT
)'''
cursor.execute(sql)

#Closing the connection
conn.close()