You are currently viewing Как добавить столбец в таблицу MySQL в Python?

Как добавить столбец в таблицу MySQL в Python?

Обязательное условие: Python: MySQL Создать таблицу

Python позволяет интегрировать широкий спектр серверов баз данных с приложениями. Для доступа к базе данных с Python требуется интерфейс базы данных. MySQL Connector — модуль Python-это API на языке python для взаимодействия с базой данных MySQL.

ALTER инструкцию SQL

С помощью инструкции ALTER можно добавлять, удалять или изменять столбец существующей таблицы, а также изменять ограничения таблицы.

Синтаксис добавления столбца с помощью инструкции ALTER:

ИЗМЕНИТЬ ИМЯ ТАБЛИЦЫ table_name ДОБАВЬТЕ определение столбца new_column_name [ИМЯ ПЕРВОГО | ПОСЛЕДУЮЩЕГО столбца];

Здесь table_name-это имя таблицы, в которую добавляется столбец, new_column_name-это имя добавляемого столбца, а column_definition-тип данных и определение добавляемого столбца. СНАЧАЛА и ПОСЛЕ являются необязательными операторами, которые сообщают MySQL позицию для нового столбца в таблице. Если этот параметр не указан, то новый столбец добавляется в конец таблицы.

Реализация:

Чтобы добавить столбец в таблицу MySQL на Python, сначала установите соединение с сервером базы данных. Затем создайте объект курсора. Этот объект курсора взаимодействует с сервером MySQL и может использоваться для выполнения таких операций, как выполнение инструкций SQL, извлечение данных и процедуры вызова. Итак, используя этот объект курсора, выполните инструкцию ALTER, чтобы добавить столбец либо в конце, либо в определенной позиции. Давайте рассмотрим несколько примеров для лучшего понимания.

Используемая база данных:

Мы будем использовать базу данных с таблицей учащихся, описывающей сведения о студентах, такие как номер списка и имя. Прежде чем мы научимся добавлять столбец в таблицу, создайте такую примерную таблицу (вставка значений необязательна).

Пример 1:

В этом примере показано добавление столбца в конце таблицы. Шаги заключаются в следующем:

  • Используйте функцию connect() для установления соединения с сервером базы данных. Передайте хост, пользователя (root или ваше имя пользователя), пароль (если он есть) и параметры базы данных в метод connect ().
  • Затем, чтобы создать объект курсора, используйте функцию cursor ().
  • Выполните инструкцию ALTER для добавления столбца потоковой передачи в таблицу «Учащиеся».
  • Чтобы проверить, добавлен ли столбец, выполните и извлеките результат инструкции DESC для описания структуры таблицы.

Код:

# Import required packages
import mysql.connector

# Establish connection to MySQL database
mydb = mysql.connector.connect(
	host = "localhost",
	user = "username",
	password = "geeksforgeeks",
	database = "College"
)

# Create a cursor object
mycursor = mydb.cursor()

# MySQL query for adding a column
query = "ALTER TABLE students \
		ADD stream VARCHAR(100) DEFAULT 'CS'"
# Execute the query
mycursor.execute(query)

# Print description of students table
mycursor.execute("desc students")
myresult = mycursor.fetchall()
for row in myresult:
	print(row)

# Close database connection
mydb.close()

Выход:

Пример 2:

В этом примере показано добавление столбца в начале таблицы. Выполните те же действия, что и в приведенном выше примере, для установления соединения и создания объекта курсора. Сначала используйте ключевое слово в инструкции ALTER, чтобы добавить столбец «Год зачисления» в начало таблицы «Студенты».

Код: 

# Import required packages
import mysql.connector

# Establish connection to MySQL database
mydb = mysql.connector.connect(
	host = "localhost",
	user = "username",
	password = "geeksforgeeks",
	database = "College"
)

# Create a cursor object
mycursor = mydb.cursor()

# MySQL query for adding a column
# at the beginning of table
query = "ALTER TABLE students \
		ADD enrollment_year VARCHAR(100) \
		FIRST"
# Execute the query
mycursor.execute(query)

# Print description of students table
mycursor.execute("desc students")
myresult = mycursor.fetchall()
for row in myresult:
	print(row)

# Close database connection
mydb.close()

Выход:

Пример 3:

В этом примере показано добавление столбца в определенную позицию в таблице. Выполните те же действия, что и в примере 1, для установления соединения и создания объекта курсора. Используйте ключевое слово AFTER в инструкции ALTER, чтобы добавить столбец электронной почты после столбца имя в таблице студенты.

# Import required packages
import mysql.connector

# Establish connection to MySQL database
mydb = mysql.connector.connect(
	host = "localhost",
	user = "username",
	password = "geeksforgeeks",
	database = "College"
)

# Create a cursor object
mycursor = mydb.cursor()

# MySQL query for adding a column
# after a specific column
query = "ALTER TABLE students \
		ADD email VARCHAR(100) \
		AFTER Name"
# Execute the query
mycursor.execute(query)

# Print description of students table
mycursor.execute("desc students")
myresult = mycursor.fetchall()
for row in myresult:
	print(row)

# Close database connection
mydb.close()

Выход:

База данных после добавления столбцов:

Примечание: Если в таблице имеются существующие значения или строки, новый столбец имеет значение Null или указанное значение по умолчанию.