- •Оглавление
- •Введение
- •Описание субд MySql Server
- •Начало работы с MySql
- •Регистрация на сервере
- •Добавление учётной записи пользователя
- •Действия с базой данных MySql
- •Создание базы данных
- •Создание таблиц базы данных
- •Заполнение таблиц значениями
- •Добавление записей в таблицу
- •Обновление записей в таблице
- •Удаление данных из таблицы
- •Работа с базами данных в среде разработки Eclipse
- •Клиентское приложение Java для работы с MySql
- •Пример программы для работы с базой данных
- •Задание на курсовую работу
- •Варианты заданий (предметных областей баз данных)
- •Литература
Удаление данных из таблицы
Синтаксис оператора DELETE:
DELETE [LOW_PRIORITY | QUICK] FROM table_name
[WHERE where_definition]
[ORDER BY ...]
[LIMIT rows]
Пример:
Если указано ключевое слово LOW_PRIORITY, выполнение данной команды DELETE будет задержано до тех пор, пока другие клиенты не завершат чтение этой таблицы.
Если задан параметр QUICK, то обработчик таблицы при выполнении удаления не будет объединять индексы, в некоторых случаях это может ускорить данную операцию.
Если применяется выражение ORDER BY, то строки будут удалены в указанном порядке. В действительности это выражение полезно только в сочетании с LIMIT.
Специфическая для MySQL опция LIMIT для команды DELETE указывает серверу максимальное количество строк, которые следует удалить до возврата управления клиенту.
Работа с базами данных в среде разработки Eclipse
Для работы с базой данных в среде Eclipse потребуется установить драйвер JDBC, который можно скачать бесплатно по ссылке:
http://dev.mysql.com/downloads/connector/j/
или
http://cdn.mysql.com/Downloads/Connector-J/mysql-connector-java-5.1.22.zip
Из архива mysql-connector-java-5.1.22.zip необходимо извлечь файл mysql-connector-java-5.1.22-bin.jar и поместить его в папку:
#JAVA_HOME\jre*\lib\ext
Клиентское приложение Java для работы с MySql
Рассмотрим простой пример работы с СУБД. Консольное приложение печатает все фамилии из таблицы zoo базы данных my.
Необходимо подключить нужные пакеты:
import java.sql.*;
import java.io.*;
В функции main() определим переменную типа Connection. Объект Connection нужен для создания соединения с базой данных.
Connection connection = null;
Дальнейший код помещен в блок try, поскольку некоторые из используемых методов могут вызывать исключения.
Создаем соединение с базой данных. Обратите внимание, мы не создаем объект с помощью операции new. Метод getConnection() сам создает объект и возвращает ссылку на него.
connection = DriverManager.getConnection(url, username, password);
Параметры метода getConnection():
Адрес url, который состоит из:
имя протокола подключения - "jdbc:mysql://";
имя хоста ("localhost"если клиент располагается там же где и сервер);
имя базы данных.
Логин для подключения к базе данных.
Пароль для подключения к базе данных.
После успешного подключения создаем объект Statement, который будет использоваться для выполнения запросов к базе данных (здесь тоже не используем new):
Statement stmt = connection.createStatement();
Объявляем переменную ResultSet для получения результата запроса и выполняем запрос:
ResultSet rs = stmt.executeQuery(query);
где значение query – это строка с текстом запроса:
String query = "SELECT * FROM zoo";
Заметим, что для выполнения различных запросов, связанных с изменением данных (INSERT, UPDATE, DELETE и т.п.), следует применять метод executeUpdate(), например:
stmt.executeUpdate("DELETE FROM zoo");
Затем в цикле последовательно перебираем и печатаем строки результата:
while(rs.next())
{
dbRecord = rs.getString("name");
System.out.println(dbRecord);
}
Перед выходом из программы закрываем объекты ResultSet и Connection.
rs.close(); rs = null;
connection.close(); connection = null;
Далее показана обработка исключений:
catch (SQLException ex)
{
System.out.println("SQLException caught");
System.out.println("---");
while ( ex != null ){
System.out.println("Message : " + ex.getMessage());
System.out.println("SQLState : " + ex.getSQLState());
System.out.println("ErrCode : " + ex.getErrorCode());
System.out.println("---");
ex = ex.getNextException();
}
}
catch (Exception ex)
{
System.out.println("Other Error in main()");
}
