sql >> データベース >  >> RDS >> Mysql

5プロジェクト開発中のMySqlの有用なクエリ

    ここでは、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

    この投稿が気に入ったら、私の公開ノートブックを購読して、もっと便利なものを入手することを忘れないでください


    1. Oracle:max(id)+1とsequence.nextvalの違い

    2. Oracle PL/SQLで呼び出し元のプロシージャまたは関数の名前を取得します

    3. SQLServerでStuffと'ForXml Path'はどのように機能しますか?

    4. SQLServerテキストデータ型のWHERE句