c# Как удалить строку в базе данных Mysql?

Удаление строки (записи) в базе данных Mysql

Из этой статьи Вы узнаете, как удалить строку или запись в базе данных Mysql с помощью языка c#. Надеюсь, что Вы уже хотя бы не много знаете, как работать с базой данных MySQL, потому что в этой статье я не буду подробно расписывать многие моменты, о которых уже рассказывал чуть ранее.

Удаление строки

И так предположим, что у нас есть база данных «MyDB», которая содержит таблицу «Friends» состоящую из четырёх колонок: id, name, lastname, age.

база данных Mysql

Добавим в таблицу несколько записей.

записи в таблице

А теперь давайте рассмотрим простой пример, в котором требуется удалить строку (запись) в таблице «Friends», которая содержит фамилию Петрова.

Для начала создадим Windows Forms приложение и поместим на форму кнопку и textbox.

Windows Forms Application

Для удаления строк в базе данных Mysql используется следующий sql запрос:

DELETE FROM имя_таблицы;

Но, такой запрос нам не подходит, так как в результате его выполнения будут удалены абсолютно все записи, содержащиеся в указанной нами таблице. Поэтому, чтобы удалить какую-то конкретную строку или запись в таблице нам необходимо добавить в sql запрос ключевое слово WHERE, например:

DELETE FROM имя_таблицы WHERE имя_столбца = значение;

После чего создадим метод DeleteRow, с помощью которого мы удалим строку в базе данных Mysql. Данный метод будет принимать всего один параметр — фамилию друга, которую будем передавать с помощью текстового поля.

private void DeleteRow (string lastname)
{
}

Исходный код

Для работы с базой данных Mysql нужно установить MySQL Connectors!

private void DeleteRow (string lastname)
{
string conStr = "server=127.0.0.1;user=root;" +
"database=test;password=123;";
using (MySqlConnection con = new MySqlConnection(conStr))
{
try
{
//параметризованный запрос
string sql = "DELETE FROM friends " + 
"WHERE lastname = @LastName";
//открываем соединение с базой данных
con.Open();
//создаём команду
MySqlCommand cmd = new MySqlCommand(sql, con);
//создаем параметр и добавляем его в коллекцию
cmd.Parameters.AddWithValue("@LastName", lastname);
//выполняем sql запрос
cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}

Протестируем работу созданного метода.

private void button1_Click(object sender, EventArgs e)
{
if (!String.IsNullOrEmpty(textBox1.Text))
{
DeleteRow(textBox1.Text);
}
}

результат

результат

Так же не забывайте при работе с базой данных Mysql использовать хранимые процедуры. Во-первых, они позволяют увеличить скорость выполнения sql запроса, это особенно актуально, если требуется выполнить какую-то операцию с большим количеством данных, а во-вторых, данный тип запроса является более безопасным, что так же не менее важно особенно при работе с web.

На этом всё, если есть какие-то вопросы, то оставляйте их в комментариях.

Читайте также:

Leave a Reply

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*