Практическое руководство. как удалить строки из базы данныхhow to: delete rows from the database

Пример с двумя условиями

Рассмотрим MySQL пример DELETE, где у нас есть только два условия в инструкции DELETE. Например:

MySQL

DELETE FROM contacts
WHERE last_name = ‘Markoski’
AND contact_id < 2000;

1
2
3

DELETEFROMcontacts

WHERElast_name=’Markoski’

ANDcontact_id<2000;

Этот MySQL пример DELETE удалит все записи из таблицы contacts, где last_name = ‘Markoski’, а customer_id менее 2000.

Вы можете проверить количество строк, которые будут удалены. Вы можете определить количество строк, которые будут удалены, вызвав функцию mysql_info или выполнив следующую MySQL предложение SELECT перед выполнением удаления.

MySQL

SELECT count(*)
FROM contacts
WHERE last_name = ‘Markoski’
AND contact_id < 2000;

1
2
3
4

SELECT count(*)

FROMcontacts

WHERElast_name=’Markoski’

ANDcontact_id<2000;

Вариант 3, Удалить MySQL из командной строки

Для разнообразия удалим MySQL из командной строки операционной системы.

Шаг 1.

Из командной строки удаляем службу MySQL. Идем в Пуск→Командная строка в меню пуск. На правой кнопке командной строки запуск сервер от имени Администратора. В строке вводим команду: (без скобок).

Открываем командную строку от имени администратораВписываем команду: sc delete MySQLУспех, сервис MySQL удален

Шаг 2.

Удаляем MySQL через панель или инсталятором (первый или второй вариант), на выбор.

Шаг 3.

Удаляем следы MySQL, то есть, папки содержащие MySQL.

По умолчанию MySQL ставится в папки:

Windows 7: и

Windows XP: и .

Синтаксис оператора DELETE FROM

DELETE  FROM table_name
    
    
    

или

DELETE  table_name  ...]
    FROM table-references
    

или

DELETE 
    FROM table_name,  ...]
    USING table-references
    

Команда DELETE удаляет из таблицы table_name все записи, удовлетворяющие условию where_definition. Если условие WHERE where_definition не задано, то из таблицы table_name удаляются все записи.

Команда DELETE возвращает количество удаленных записей.

Следует учитывать, что если в команде DELETE не задано условие WHERE where_definition, то команда возвратит 0, хотя записи были удалены.

Если все же необходимо удалить все записи и узнать их количество, то в условии where_definition нужно задать заведомо истинное значение:

DELETE FROM
    `users`
WHERE
    1=1

Но в этом случае выполнение команды происходит значительно медленнее.

LOW_PRIORITY
— Если указано это ключевое слово, то удаление записей из таблицы table_name не будет произведено до тех пор, пока другие процессы не закончат чтение их этой таблицы.
QUICK
— Если указано это ключевое слово, то при удалении записей обработчик таблицы не будет объединять индексы, что может ускорить операцию удаления.
table_name
— Имя таблицы в базе данных, из которой будет происходить удаление строк.
LIMIT
— Задает максимальное количество строк, которые могут быть удалены за текущий запрос.
Следующий запрос удалит из таблицы users только 5 строк:
DELETE FROM
    `users`
LIMIT
    5
ORDER BY
— Задает имя поля, или имена полей через запятую, по которым происходит сортировка удаляемых записей.
Эта возможность актуальна при необходимости удалить только определенное кол-во записей, отсортированных по какому-либо свойству.
Следующий пример удалит из таблицы users запись самого молодого человека.
Допустим таблица users имеет следующий вид:
CREATE TABLE
    `users`(
        `name` VARCHAR(255) NOT NULL,
        `age` SMALLINT(3) NOT NULL
    )
Запишем в нее несколько записей:
INSERT INTO
    `users` (
        `name`, `age`
    )
VALUES
    ('Миша', 25),
    ('Ксюша', 15),
    ('Настя', 12),
    ('Саша', 26),
    ('Дима', 30)
Таблица users имеет значения:
SELECT
    *
FROM
    `users`
+-------+-----+
| name  | age |
+-------+-----+
| Миша  |  25 |
| Ксюша |  15 |
| Настя |  12 |
| Саша  |  26 |
| Дима  |  30 |
+-------+-----+
5 rows in set (0.00 sec)
Удаляем самого молодого:
DELETE FROM
    `users`
ORDER BY
    `age`
LIMIT
    1
Теперь таблица имеет значения:
SELECT
    *
FROM
    `users`
+-------+-----+
| name  | age |
+-------+-----+
| Миша  |  25 |
| Ксюша |  15 |
| Саша  |  26 |
| Дима  |  30 |
+-------+-----+
4 rows in set (0.00 sec)
Можем также удалить самого старого:
DELETE FROM
    `users`
ORDER BY
    `age` DESC
LIMIT
    1
Теперь таблица имеет значения:
SELECT
    *
FROM
    `users`
+-------+-----+
| name  | age |
+-------+-----+
| Миша  |  25 |
| Ксюша |  15 |
| Саша  |  26 |
+-------+-----+
3 rows in set (0.00 sec)
Сортировка удаляемых записей при помощи команды ORDER BY появилась в MySQL начиная с версии 4.0.
FROM table-references и USING …
— Позволяют удалять записи сразу из нескольких таблиц руководствуясь многотабличным условием WHERE where_definition.
Следующие два примера равнозначны по производимым действиям и удаляют одинаковые записи в таблицах table_1 и table_2 и используя при поиске значений еще и таблицу table_3:
DELETE
    `table_1`,
    `table_2`
FROM
    `table_1`,
    `table_2`,
    `table_3`
WHERE
    `table_1`.`id`=`table_2`.`id` &&
    `table_2`.`id`=`table_3`.`id`
Аналогичный запрос:
DELETE FROM
    `table_1`,
    `table_2`
USING
    `table_1`,
    `table_2`,
    `table_3`
WHERE
    `table_1`.`id`=`table_2`.`id` &&
    `table_2`.`id`=`table_3`.`id`
Возможность многотабличного удаления записей появилась в MySQL начиная с версии 4.0.

Referential Integrity And Its Impact On DELETE

Before we being, let’s see what Referential integrity or RI or Foreign Key Constraints is?

Foreign Key constraints are about establishing a relationship or linkage between the parent and the child table. This helps in cross-referencing the data across the tables that are linked to each other. One parent table can have multiple child tables and vice-versa.

For Example, the two tables that we have been discussing so far i.e. employees and departments, are linked to each other using a Foreign Key constraint. This constraint is established by making one column, usually the primary key, as the key column linking two tables.

The deptNum column in the department’s table has been linked to the deptNum column in the employee’s table. In this case, departments are the parent table and employees is the child table.

But, how does this impact the DELETE statements?

In MySQL or in any database, there are certain scenarios to be handled while deleting records from the parent or child tables.

There are multiple reference options that we can discuss:

#1) ON DELETE CASCADE: The rule says that we cannot remove a row from the parent table if it has any references or has a corresponding row in any of the child tables. However, if a parent table has quite a few child tables, then it’s a tedious task to first remove the records from each and every child table and then from the parent table.

For this, there is a workaround called, ON DELETE CASCADE. This is one clause that is added to the CREATE statement of each of the child tables. So, whenever we say delete a row from the parent table, then the MySQL engine would first identify the references of that row in the child tables and remove those records and at last will delete the record from the parent table.

#2) NO ACTION: This is a default option. If the execution of a DELETE statement attempts to delete a record that has references in any of the child tables, then with this option the execution of the statement will stop and the transaction will be rolled back to the last commit point.

#3) RESTRICT: Functioning of RESTRICT and NO ACTION are the same. It will stop the execution and issue a rollback.

#4) SET NULL: If the execution of a delete statement attempts to delete a record that has references in any of the child table, then this option will update the column value in all of the child tables as NULL and once done, it will delete the record from the parent table.

#5) SET DEFAULT: If the execution of a DELETE statement attempts to delete a record that has references in any of the child tables, then this option will update the column values to the default value as defined in the CREATE statement of the table.

Пример SQL DELETE

Следующая инструкция SQL удаляет клиента «Alfreds Futterkiste» из таблицы «Customers»:

Пример

DELETE FROM Customers
WHERE CustomerName=’Alfreds Futterkiste’;

Таблица «Customers» теперь будет выглядеть так:

CustomerID CustomerName ContactName Address City PostalCode Country
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico
4 Around the Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK
5 Berglunds snabbköp Christina Berglund Berguvsvägen 8 Luleå S-958 22 Sweden

Пример — обновление таблицы данными из другой таблицы

Давайте рассмотрим пример UPDATE, который показывает, как обновить таблицу данными из другой таблицы. В этом примере UPDATE у нас есть таблица products со следующими данными:

product_id product_name category_id
1 Pear 50
2 Banana 50
3 Orange 50
4 Apple 50
5 Bread 75
6 Sliced Ham 25
7 Kleenex NULL

И таблица summary_data со следующими данными:

product_id current_category
1 10
2 10
3 10
4 10
5 10
8 10

Теперь давайте обновим таблицу summary_data значениями из таблицы products. Введите следующую команду UPDATE:

PgSQL

UPDATE summary_data
SET current_category = (SELECT category_id
FROM products
WHERE products.product_id = summary_data.product_id)
WHERE EXISTS (SELECT category_id
FROM products
WHERE products.product_id = summary_data.product_id);

1
2
3
4
5
6
7

UPDATEsummary_data

SETcurrent_category=(SELECTcategory_id

FROMproducts

WHEREproducts.product_id=summary_data.product_id)

WHEREEXISTS(SELECTcategory_id

FROMproducts

WHEREproducts.product_id=summary_data.product_id);

Будет обновлено 5 записей. Снова выберите данные из таблицы summary_data:

PgSQL

SELECT *
FROM summary_data;

1
2

SELECT*

FROMsummary_data;

Вот результаты, которые вы должны получить.

product_id current_category
1 50
2 50
3 50
4 50
5 75
8 10

В этом примере будет обновлено поле current_category в таблице summary_data с помощью category_id из таблицы products, где значения product_id совпадают. Первые 5 записей в таблице summary_data были обновлены.

Подсказка: обратите внимание, что наш оператор UPDATE включил условие EXISTS в предложение WHERE, чтобы убедиться, что в таблице products и summary_data совпадает product_id, прежде чем обновлять запись. Если бы мы не включили условие EXISTS, запрос UPDATE обновил бы поле current_category до NULL в 6-й строке таблицы summary_data (поскольку таблица products не имеет записи, где product_id = 8)

Если бы мы не включили условие EXISTS, запрос UPDATE обновил бы поле current_category до NULL в 6-й строке таблицы summary_data (поскольку таблица products не имеет записи, где product_id = 8).

SQL функции для объединения строк

Одна из самых популярных категорий функций.  Ведь частенько бывает нужно объединить значения нескольких полей таблиц базы данных сайта. В языке SQL есть сразу несколько функций для конкатенации строк.

Функция CONCAT:

string CONCAT(str1 string, str2 string,…)

Функция возвращает строку, созданную путем объединения аргументов. Можно указывать более двух аргументов. Если один из аргументов является NULL, то и возвращаемый результат будет NULL. Числовые значения преобразуются в строку.

Пример:

SELECT CONCAT (‘Hello’, ‘ ‘, ‘world’, ‘!’);
Результат: ‘Hello world!’
SELECT CONCAT (‘Hello’, NULL, ‘world’, ‘!’);
Результат: NULL
SELECT CONCAT (‘Число пи’, ‘=’, 3.14);
Результат:  ‘Число пи=3.14’

Как видно из примеров, строки объединяются без разделителей. Для того чтобы разделить слова в первом примере в качестве аргумента приходится использовать пробел. Если бы слов было больше, то каждый раз вставлять пробелы было бы не очень удобно.

Для таких случаев существует функция CONCAT_WS:

string CONCAT_WS(separator string, str1 string, str2 string,…)

Функция объединяет строки как и функция CONCAT, но вставляет между аргументами разделитель separator. В случае если аргумент separator является NULL, то и результат будет NULL. Аргументы строки равные NULL пропускаются.

Пример:

SELECT CONCAT_WS (‘ ‘, ‘Иванов’, ‘Иван’, ‘Иванович’);
Результат: ‘Иванов Иван Иванович’
SELECT CONCAT_WS (NULL, ‘Иванов’, ‘Иван’, ‘Иванович’);
Результат: NULL
SELECT CONCAT_WS (‘ ‘, ‘Иванов’, NULL, ‘Иван’, ‘Иванович’);
Результат: »Иванов Иван Иванович’

В случае объединения большого количества строк, которые необходимо отделять разделителем, функция CONCAT_WS гораздо удобнее функции CONCAT.

Иногда бывает необходимо удлинить строку до определенного количества символов за счет повторения какого-либо символа. Это тоже своего рода объединение строк. Для этого можно использовать функции LPAD и RPAD. Функции имеют следующий синтаксис:

string LPAD(str string, len integer, padstr string)string RPAD(str string, len integer, padstr string)

Функция LPAD возвращает строку str дополненную слева строкой padstr до длины len. Функция RPAD выполняет тоже самое, только удлинение происходит с правой стороны.

Пример:

SELECT LPAD (‘test’, 10, ‘.’);
Результат: ……test
SELECT RPAD (‘test’, 10, ‘.’);
Результат: test……

В данных функциях необходимо обратить внимание на параметр len, который ограничивает количество выводимых символов. Поэтому если длина строки str будет больше чем параметр len, то строка будет обрезана:. SELECT LPAD (‘test’, 3, ‘.’);
Результат: tes

SELECT LPAD (‘test’, 3, ‘.’);
Результат: tes

Чистка реестра Windows

Для успокоения души, поищем следы MySQL в реестре операционной системы (Windows 7).

Вариант чистки реестра Windows 7, опасный

Этим вариантом не следует пользоваться, если вы не представляете, как исправить ошибку.

Откройте реестр Windows 7. Для этого в Меню Пуск→Выполнить, вписываем команду: regedit.

В окне «Редактор реестра» поиском ищем, только раздел, слово MySQL и удаляем его.

Ищем по имени только разделы.удаляем MySQL

Примечание: На фото вы видите, что в реестре нашелся раздел MySQL. Это потому, что я не удалял MySQL Installer и оставил его для примера поиска по реестру.

Вариант 2, безопасная чистка реестра программой CCleaner

Ставим программу «чистильщик Windows», например Defraggler или CCleaner и чистим реестр безопасно. На фото CCleaner.

Чистка реестра CCleaner-freeCCleaner создаст резервую копию реестраРеестр исправлен

Example — With LIMIT modifier

Let’s look at a MySQL DELETE example where we use the LIMIT modifier to control the number of records deleted.

For example:

DELETE FROM contacts
WHERE last_name = 'Johnson'
ORDER BY contact_id DESC
LIMIT 1;

This MySQL DELETE example would delete one record from the contacts table (as specified by LIMIT 1) where the last_name is ‘Johnson’. The DELETE is sorted in descending order by contact_id, so only the record with the largest contact_id whose last_name is ‘Johnson’ would be deleted from table. All other records in the contacts table with the last_name of ‘Johnson’ would remain in the table.

If you wished to instead delete the smallest contact_id whose last_name is ‘Johnson’, you could rewrite the DELETE statement as follows:

DELETE FROM contacts
WHERE last_name = 'Johnson'
ORDER BY contact_id ASC
LIMIT 1;

Or you could delete the last record in the contacts table with the following DELETE statement (assuming that the contact_id is a sequential number):

Frequently Asked Questions And Answers

Q #1) How to Delete Data from the Table in MySQL?

Answer: The syntax of delete command to delete only a selected row of data is given below.

DELETE FROM table_name WHERE condition;

Q #2) How to Delete all the Data from the Table in MySQL?

Answer: The syntax of the DELETE command to delete all the rows from the table is:

DELETE * FROM table_name; 

Q #3) How to Delete the Table from the Database in MySQL?

Answer: The drop command can be used to delete the table from the database. User can replace the table_name with the table that needs to be deleted.

DROP TABLE table_name;

Q #4)  How to Delete the Database in MySQL?

Answer: The drop command can be used to delete the database.

DROP Database db_name;

Users can replace the db_name with the database name that needs to be deleted.

Q #5) What is ON DELETE CASCADE in MySQL?

Answer: When the parent record is deleted, ON DELETE CASCADE creates a matching child record to be deleted. Thus, the effect of deletion is cascaded from the parent to the child. This can be useful in performing multiple-table delete.

Q #6) Why TRUNCATE is considered as a DDL statement?

Answer: TRUNCATE statement actually drops and re-creates the table along with the metadata of the table. Thus, it’s a DDL statement.

Q #7) Can TRUNCATE be rolled back?

Answer: No, TRUNCATE is an auto-commit statement if executed standalone. This means that it cannot be rolled back as the commit is also executed along with it. But if it’s a part of a transaction, then it can be rolled back using the SQL Log Files.

Q #8) Can DELETE statements be rolled back?

Answer: Yes, DELETE statements can be rolled back. Just execute the ROLLBACK command before executing COMMIT.

Q #9) Can a column be deleted using the DELETE command?

Answer: Column addition or deletion are DDL commands. An ALTER statement should be used to DROP a column from the table.

Вариант 1, Полностью удалить MySQL вручную

Шаг 1. Идем в Панель Управления→Программы и Компоненты→Удаление и Изменение программы;

Удаляем все программы, которые вы использовали для установки MySQL. В моем варианте это MySQL Installer и MySQL Server 5.7. Для удаления выбираем программу и нажимаем кнопку «Удалить».

Шаг 2.

Идем, в каталог, куда устанавливали MySQL. Скорее всего, это: C: Program Files\MySQL и удаляем всё, что содержит MySQL.

полностью удалить MySQL начало

Шаг 3.

Идем, в каталог C:\ProgramData и удаляем папку MySQL (для Windows 7).

Папка ProgramData закрыта для просмотра и чтобы её открыть в Windows 7, вставляем в адресную строку: C:\ProgramData и жмем Enter. Папка откроется для работы. Далее удаляем папки с MySQL.

Примечание: В Windows XP это путь:  C:\Documents and Settings\All Users\Application Data\MySQL.

Example of MySQL Delete Query

Before we go into more details discussion the DELETE command, let’s insert some sample data into the movies table to work with.

INSERT INTO  `movies` (`title`, `director`, `year_released`, `category_id`) VALUES ('The Great Dictator', 'Chalie Chaplie', 1920, 7);
INSERT INTO `movies` (`title`, `director`, `category_id`) VALUES ('sample movie', 'Anonymous', 8);
INSERT INTO  movies (`title`, `director`, `year_released`, `category_id`) VALUES ('movie 3', 'John Brown', 1920, 8);

Executing the above script adds three (3) movies into the movies table. Before we go any further into our lesson, let’s get all the movies in our table. The script shown below does that.

SELECT * FROM `movies`;

Executing the above script gives us the following results.

movie_id itle director year_released category_id
1 Pirates of the Caribean 4 Rob Marshall 2011 1
2 Forgetting Sarah Marshal Nicholas Stoller 2008 2
3 X-Men NULL 2008 NULL
4 Code Name Black Edgar Jimz 2010 NULL
5 Daddy’s Little Girls NULL 2007 8
6 Angels and Demons NULL 2007 6
7 Davinci Code NULL 2007 6
9 Honey mooners John Schultz 2005 8
16 67% Guilty NULL 2012 NULL
18 The Great Dictator Chalie Chaplie 1920 7
19 sample movie Anonymous NULL 8
20 movie 3 John Brown 1920 8

 Let’s suppose that the Myflix video library no longer wishes to be renting out «The Great Dictator» to its members and they want it removed from the database. Its movie id is 18, we can use the script shown below to delete its row from the movies table.

DELETE FROM `movies` WHERE `movie_id` = 18;

Executing the above script in MySQL WorkBench against the Myflix deletes the movie with id 18 from the database table.

Let’s see the current status of movies table.

SELECT * FROM `movies`;

movie_id title director year_released category_id
1 Pirates of the Caribean 4 Rob Marshall 2011 1
2 Forgetting Sarah Marshal Nicholas Stoller 2008 2
3 X-Men NULL 2008 NULL
4 Code Name Black Edgar Jimz 2010 NULL
5 Daddy’s Little Girls NULL 2007 8
6 Angels and Demons NULL 2007 6
7 Davinci Code NULL 2007 6
9 Honey mooners John Schultz 2005 8
16 67% Guilty NULL 2012 NULL
19 sample movie Anonymous NULL 8
20 movie 3 John Brown 1920 8

NOTE:

  • the movie with id 18 has not been return in the query result set.
  • you cannot delete a single column for a table. You can delete an entire row.

Let’s say we  have a list of movies we want to delete . We can use the WHERE clause along with IN.

DELETE FROM `movies` WHERE `movie_id`  IN (20,21);

Executing the above script deletes movies with IDs 20 and 21 from our movies table.

Summary

  • The delete command is used to remove data that is no longer required from a table.
  • The «WHERE clause» is used to limit the number of rows affected by the DELETE query.
  • Once data has been deleted, it cannot be recovered, it is therefore strongly recommend make backups before deleting data.

SQLite типы запросов

SELECT Получить записи из таблицы
SELECT LIMIT Получить записи из таблицы и ограничить количество записей
DISTINCT Используется для удаления дубликатов из набора результатов
FROM Используется для отображения таблиц и любых объединений
WHERE Используется для фильтрации результатов
ORDER BY Используется для сортировки результатов
GROUP BY Используется для группировки результатов
HAVING Используется в сочетании с оператором GROUP BY, чтобы ограничить группы возвращаемых строк только теми, чье условие TRUE.
INSERT Оператор вставки строки в таблицу
UPDATE Оператор обновления данных в таблице
DELETE Оператор удаления данных из таблицы
DELETE LIMIT Оператор удаления данных из таблицы с ограничением количества записей
TRUNCATE TABLE Оператор очистки данных из таблицы
UNION Оператор объединения наборов результатов с удалением повторяющихся строк
UNION ALL Оператор объединения наборов результатов без удаления повторяющихся строк
INTERSECT Оператор возвращает общие записи наборов результатов
EXCEPT Набор результатов одного минус набор результатов другого
Subqueries Вложенный запрос (подзапрос)
JOIN Tables Используются для извлечения данных из нескольких таблиц

5 ответов

25

Лучший ответ

Общий ответ:

или

Смотрите: http://dev.mysql.com/doc/refman/5.0/en/delete.html

Больше информации, когда вы публикуете свои таблицы! ~

Кроме того, обязательно выполните следующие действия:

перед удалением, чтобы вы могли видеть, какие строки вы удаляете! Я думаю, что в phpMyAdmin вы даже можете просто выбрать, а затем «выбрать все» и удалить, но я не уверен. Это будет довольно быстро и очень безопасно.

08 янв. 2011, в 10:29
Поделиться

4

Я делаю операцию в командной строке в окнах. И основные запросы:

и

не работает. Я не знаю, работает ли он в sqlcommand builder. В любом случае:

отлично работает.

30 авг. 2013, в 17:09
Поделиться

3

У меня есть PHP script, который автоматически удаляет пустые строки на основе типов данных столбцов.

Это позволяет мне определить «пустоту» по-разному для разных типов столбцов.

например.

Так как значения «0» в моей системе бессмысленны, я считаю их пустыми. Но я узнал, что если вы это сделаете (= 0), вы всегда получите правду, потому что строки всегда == 0 в MySQL. Поэтому я подгоняю определение «пустой» к типу данных.

31 май 2013, в 21:54
Поделиться

1

Эта процедура удалит любую строку для всех столбцов с нулевым игнорированием первичного столбца, который может быть установлен как идентификатор. Надеюсь, это поможет вам.

Выполните следующую процедуру.

14 фев. 2016, в 13:33
Поделиться

Я знаю, что на это уже был дан ответ, и у меня есть галочка, но я написал небольшую функцию для этого и подумал, что это может быть полезно другим людям.

Я вызываю свою функцию с массивом, чтобы я мог использовать ту же функцию для разных таблиц.

и вот функция, которая берет массив и строит строку удаления

Вы можете использовать эту функцию для нескольких таблиц. Вам просто нужно отправить другое имя таблицы и массив, и оно будет работать.

Моя функция будет проверять целую строку пустых столбцов или столбцов NULL одновременно. Если вам не нужно его проверять на NULL, вы можете удалить эту часть.

13 июль 2017, в 11:19
Поделиться

Ещё вопросы

  • 269Как создать простой модуль «Hello World» в Magento?
  • 580Получение последней записи в каждой группе — MySQL
  • 300Использование LIMIT в GROUP BY для получения N результатов на группу?
  • 282Вы не можете указать целевую таблицу для обновления в предложении FROM
  • 198MySQL, лучше вставить NULL или пустую строку?
  • 190MySQL INSERT INTO таблица VALUES .. против INSERT INTO таблица SET
  • 173Как мне конвертировать из BLOB в TEXT в MySQL?
  • 166ВСТАВИТЬ… НА КЛЮЧЕВОЙ КЛЮЧ (ничего не делать)
  • 163Удаление строк с помощью MySQL LEFT JOIN
  • 56Как обезопасить phpMyAdmin
Добавить комментарий

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