MySQL実装update select文
1750 ワード
何度も使ったsqlはドキュメントを探すたびに長い間sqlを探しています.
自分の使用シーン:テーブル内のpid条件参照テーブルのcode関連付けを補完する
MySQLの文は同時にクエリーと修正を実現します
/**********************************************/
その他の知識点の記録:
A表のデータを削除する時where条件はA表を検索する必要があり、この時に検索条件を包装する必要があるA表は別のビューで削除文を実行することができる.
DELETE FROM `common_district` WHERE `id` NOT IN ( SELECT t.`id` FROM ( SELECT `id` FROM `common_district` WHERE 1=1 AND city_code = "6103" OR `code` = '61' OR `code` = '6103' ) t )
テーブル構造のコピーとテーブル構造とテーブルデータのコピー
レプリケーションテーブル構造CREATE TABLE common_district1 LIKE common_district;
レプリケーションテーブル構造とテーブルデータCREATE TABLE common_district2 SELECT * FROM `common_district` WHERE 1=1 AND city_code = "6103" OR `code` = '61' OR `code` = '6103'
データの挿入時に他のテーブルのデータを照会する
INSERT INTO table2(column_name(s)) SELECT column_name(s) FROM table1;
UPDATE
`
user
`
AS
A
INNER
JOIN
(
SELECT
id
FROM
`
user
`
WHERE
`sid`=2)
AS
B
ON
A.id=B.id
SET
A.gid='123'
sql : , 。
自分の使用シーン:テーブル内のpid条件参照テーブルのcode関連付けを補完する
UPDATE `common_district` AS A
INNER JOIN (SELECT id,`code` FROM common_district
WHERE id>600000 AND id<=900000
) AS B
ON A.pcode=B.code SET A.pid=B.id
WHERE A.id>600000 AND A.id<=900000;
70w 。
:↓
MySQLの文は同時にクエリーと修正を実現します
/**********************************************/
その他の知識点の記録:
A表のデータを削除する時where条件はA表を検索する必要があり、この時に検索条件を包装する必要があるA表は別のビューで削除文を実行することができる.
DELETE FROM `common_district` WHERE `id` NOT IN ( SELECT t.`id` FROM ( SELECT `id` FROM `common_district` WHERE 1=1 AND city_code = "6103" OR `code` = '61' OR `code` = '6103' ) t )
テーブル構造のコピーとテーブル構造とテーブルデータのコピー
レプリケーションテーブル構造CREATE TABLE common_district1 LIKE common_district;
レプリケーションテーブル構造とテーブルデータCREATE TABLE common_district2 SELECT * FROM `common_district` WHERE 1=1 AND city_code = "6103" OR `code` = '61' OR `code` = '6103'
データの挿入時に他のテーブルのデータを照会する
INSERT INTO table2(column_name(s)) SELECT column_name(s) FROM table1;