ここでは、INSERT、UPDATE、DELETEなどの最も一般的なクエリは示しません。開発中に必要と思われる他の1つのステップアップクエリを示します。通常、共通の関数とクラスを一度に作成し、これらの関数とクラスは、必要に応じて何度も実行されます。ただし、場合によっては、データベースでmysqlクエリを強制的に実行する必要があるため、これらは頻繁に必要なmysqlクエリです。
1。クエリの挿入と更新
このクエリは、重複エントリを防ぐのに非常に役立ちます。
ON DUPLICATE KEY UPDATEを指定し、UNIQUEインデックスまたはPRIMARY KEYに重複値を引き起こす行が挿入された場合、MySQLは古い行のUPDATEを実行します。 。たとえば、列aがUNIQUEとして宣言され、値1が含まれている場合、次の2つのステートメントは同様の効果があります。
INSERT INTO table (a,b,c) VALUES (1,2,3) ON DUPLICATE KEY UPDATE c=c+1; UPDATE table SET c=c+1 WHERE a=1; |
INSERT INTO employee (id,name,lastname,dept) values('key that already exists', 'new name','new last name','Accounts') on duplicate KEY UPDATE name='default name', lastname='default last name'; |
2。制約の作成と削除
多くの場合、テーブルに適用される制約を追加/編集/削除する必要があります。これは、次のクエリを使用して行うことができます。
主キーを追加します:
ALTER TABLE 'TABLE_NAME' DROP PRIMARY KEY, ADD PRIMARY KEY ('COLUMN_NAME'); |
主キーを削除します:
ALTER TABLE 'TABLE_NAME' DROP PRIMARY KEY; |
一意のキーをドロップする:
ALTER TABLE companies DROP INDEX COLUMN_NAME; |
3。注文者、条項あり
Order byは、特定の列でデータを並べ替えるために使用され、次に、その結果セットをフィルタリングするために使用されます。これらは、大規模なデータベースから特定の情報が必要な場合に非常に役立ちます。
SELECT * FROM TABLE_NAME group_by DEPARTMENT HAVING salary > 25000; |
4。テーブルの列の変更と更新
テーブル列のプロパティは頻繁に変更されるため、これらのクエリを使用すると、既存のテーブル列プロパティを簡単に追加/編集/削除できます。
列を追加
ALTER TABLE 'employee' ADD COLUMN department VARCHAR(100); |
列を編集する
ALTER TABLE 'employee' MODIFY COLUMN department VARCHAR(50); |
列の名前を変更する
ALTER TABLE 'employee' CHANGE department dept VARCHAR(50); |
列を削除
ALTER TABLE 'employee' DROP COLUMN department; |
5。データベースのダンプ/バックアップの作成
cronjobに以下のクエリを設定して、データベースを自動的にバックアップできます。以下の便利なクエリを使用するだけで、mysqlデータベースの通常のベースのバックアップが作成されます。
mysqldump –h localhost –u username –ppassword databasename > backup_file_datatime.SQL |