MYSQLのDELETE構文について
phpmyadmin上でDELETE構文を使ってデータを一括削除したいと思っています。
このようなテーブルレコードがあります。
テーブル名 : officeinfo
ID name address post_date
1 A会社 東京 1130128000
2 B会社 大阪 1130129111
3 C会社 東京 1130132000
4 D会社 東京 1130132568
条件
・addressが東京
・post_dateが1130132000より前(1130132000も含む)
この条件に当てはまるデータを全て削除したいのですが、この場合どのようなSQLを書けばいいのでしょうか?
ためしに下記をやってみましたがエラーになってしまいました。
DELETE * FROM `officeinfo` WHERE `post_date`<=1130132000 and `address`=東京;
#1064 - You have an error in your SQL syntax
次に下記を試しましたが同じエラーになってしまいました。
DELETE FROM officeinfo
WHERE `address`=東京 ORDER BY `ID` LIMIT 2;
どのように直したらいいのでしょうか?
No.2
- 回答日時:
delete文の構文は、
「delete from 表名 [where 検索条件]」
です。
MySQLの仕様として、、、
予約語と同じ表名、列名等を使用する場合は、「`」(バッククォート)で囲む必要があります。
例)delete from `table`
また、文字定数は、「'」(アポストロフィー)で囲む必要があります。(「"」で囲んでもよい)
例)select * from t1 where c1='東京'
また、文字形式の数字は、自動的に数字にキャストされます。
例)123は'123'、'456'は456と、MySQLが自動的にキャストする。
したがって、今回のケースでは、以下のようなSQLになります。
DELETE FROM `officeinfo`
WHERE `post_date`<=1130132000 and `address`='東京';
=====参考=====
標準SQLでは、表名や列名が予約語と同じ場合は、「"」で囲むことになっています。MySQLでは、ANSIモードでは標準SQLと同じですが、それ以外では、「`」(バッククォート)で囲みます。
文字定数を、「'」(アポストロフィー)で囲むのは、一般的な仕様です。「"」で囲んでも等価というのは、拡張仕様だと思います。
文字形式のデータ型でも数値を指定すれば、数値のデータ型にキャストするというのは、MySQLの拡張仕様です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL PhpMyAdminで作成して実行せよ。 東京23区を、皇居を中心とした4つのエリア(南東, 南西, 1 2023/06/11 11:58
- Access(アクセス) アクセス 削除するレコードを含んだテーブルを指定してくださいのエラー対処方法 1 2022/11/24 15:01
- MySQL 書籍の内容はまともでしょうか? 1 2023/01/22 03:07
- MySQL MySQLのテーブル作成でハイフン - は使用できないのでしょうか? 2 2022/10/21 16:50
- MySQL 共通点はあります。何が違うのでしょうか? 1 2023/01/27 05:22
- MySQL テーブル作成です。どこかのスペルが間違っているか記号など スペースかな? 1 2022/10/01 05:08
- PostgreSQL PostgreSQL レコードからアイテム種類数を取得したい 2 2022/11/23 22:31
- MySQL 何にかが違うから エラーなんでしょうね! 2 2022/09/18 05:28
- Access(アクセス) アクセス where句を使用して複数条件抽出をするには 2 2022/08/29 13:24
- Oracle sqlで質問です。 aテーブルとbテーブルがあり、下記のsqlで取得したidとnameに一致しないレ 1 2022/04/20 20:34
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
3つ以上のテーブルをUNIONする...
-
Access VBA Me.Requery レコー...
-
ManagementStudioからのデータ削除
-
Access 1レコードずつcsvで出力...
-
SQLServerで同一条件レコードの...
-
データの二重表示の原因
-
2つの項目が重複するレコード...
-
Accessにインポートしたら並び...
-
数百万件レコードのdelete
-
Access2000でのExcel行の削除法
-
Access 削除クエリが重い
-
Accessでの禁止文字チェック
-
Access カレントレコードがあり...
-
テーブルのレコード削除ができ...
-
Accessの重複クエリで最小以外...
-
SQLデータ修正時に『このレコー...
-
Accessでの排他制御
-
ACCESSファイルを開こうとする...
-
Accessでの自己結合?
-
Access2000のODBCで困っています
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
3つ以上のテーブルをUNIONする...
-
2つの項目が重複するレコード...
-
数百万件レコードのdelete
-
Accessにインポートしたら並び...
-
データの二重表示の原因
-
Access VBA Me.Requery レコー...
-
ACCESSのBookmarkプロパティの...
-
Access 1レコードずつcsvで出力...
-
Access 削除クエリが重い
-
ManagementStudioからのデータ削除
-
SQLServerで同一条件レコードの...
-
非連結サブフォームのレコード...
-
Accessでレコードが更新された...
-
Accessでの排他制御
-
(ACCESS)並び替えをしないで...
-
Accessで重複したデータを一件...
-
Accessでの禁止文字チェック
-
Access カレントレコードがあり...
-
ACCESSファイルを開こうとする...
-
ACCESS【更新クエリの中断がで...
おすすめ情報