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

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

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

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

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

31010


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

31011


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

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

31012


Для удаления строк в базе данных Mysql используется следующий sql запрос:
SQL:
DELETE FROM имя_таблицы;
Но, такой запрос нам не подходит, так как в результате его выполнения будут удалены абсолютно все записи, содержащиеся в указанной нами таблице. Поэтому, чтобы удалить какую-то конкретную строку или запись в таблице нам необходимо добавить в sql запрос ключевое слово WHERE, например:
DELETE FROM имя_таблицы WHERE имя_столбца = значение;
После чего создадим метод DeleteRow, с помощью которого мы удалим строку в базе данных Mysql. Данный метод будет принимать всего один параметр — фамилию друга, которую будем передавать с помощью текстового поля.
C#:
private void DeleteRow (string lastname)
{
}
Исходный код
Для работы с базой данных Mysql нужно установить MySQL Connectors!
C#:
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);
}
}
результат
31013


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

Обучение наступательной кибербезопасности в игровой форме. Начать игру!