ホームページ >データベース >mysql チュートリアル >MySQL の基本的なステートメント操作の概要

MySQL の基本的なステートメント操作の概要

不言
不言転載
2019-02-15 14:35:342253ブラウズ

この記事は、MySQL ステートメントの基本的な操作をまとめたものです。必要な方は参考にしていただければ幸いです。

#データベース操作ステートメント

(推奨コース: MySQL チュートリアル)

  • 作成

    データベースの作成データベース名

  • すべてのデータベースの表示

    データベースを表示します。

  • #指定されたデータベース テーブル作成ステートメントと文字セットを表示します
  • show createデータベース データベース名


  • データベースを削除します
  • データベース データベースをドロップします名前


  • データベース キャラクタ セットの変更 - 理解
  • データベース データベース名のキャラクタ セット 'キャラクタ セット'


  • データベースを切り替える
  • 使用データベース名


  • 現在のデータベース名を表示
  • select database();


データベースの追加、削除、変更を確認します。データ テーブルの構造

データベースを作成した後、データを保存する場合は、まずデータベースにデータ テーブルを作成する必要があります。

    データ テーブルの作成:
  • データベース名を使用


  • テーブルの表示:
  • データベースのすべてのテーブルを表示します。 ##desc テーブル名; テーブルの列情報 (テーブル構造) を表示します



    単一テーブル作成時の制約
  • 名前の重複を防ぎ、テーブルに格納されているデータの整合性を確保するためデータテーブルと有効性。
  • 制約の一般的な構文: 列名データ型制約

    テーブル内に存在できる主キーは 1 つだけです: id int 主キー auto_increment


    データ テーブル構造の削除: あなたテーブル名、列名、クラスタイプ、クラス制約を削除でき、追加、削除、変更できます。
  • 列の追加: テーブル テーブル名の変更 列名のタイプ (長さ) 制約の追加/削除/変更;
  • 列のタイプ、長さおよび制約の変更: テーブル テーブル名の変更 列名のタイプ (長さ) 制約の変更;

    既存の列名を変更します: テーブル テーブル名を変更します 古い列名を変更します 新しい列名のタイプ (長さ) 制約;
    既存の列を変更します: テーブル テーブル名を変更します 列名を削除します;
    テーブル名を変更します: テーブルの古いテーブル名を変更します新しいテーブル名;
    テーブルの文字セットを変更します: テーブル テーブル名を変更します 文字セット エンコード セット;
    データ テーブルを削除します: テーブル テーブル名を削除します;


    データ テーブル概要
  • データ テーブルの作成 (重要)
  • create table テーブル名 (

    列名のデータ型制約、
    列名のデータ型制約、
    ………
    );
    テーブルの表示
    show tables: すべてのテーブルの表示
    show create tableテーブル名: テーブル作成ステートメントと文字セットの表示
    desc テーブル名: テーブル構造の表示。
    テーブルを変更するステートメント (理解)
    テーブル テーブル名を変更 (追加|変更|削除|変更) 列名の型 (長さ) 制約。
    テーブルの古いテーブル名を新しいテーブル名に変更します
    テーブルの削除
    テーブル テーブル名を削除


  • コンテンツの簡単な追加、削除、変更、クエリデータ テーブルの (非常に重要)

insert ステートメント - データ レコードの増加
    CRUD: 作成、読み取り/取得、更新、削除
  • 最も頻繁に発生するJava コードでのデータベース操作は、テーブル内のデータに対する CRUD 操作です。

    データの保存場所: テーブル。


    方法 1: 完全に記述します
  • 構文: テーブル名 (列名、列名、列名...) に値を挿入します (値、値、値。 ..);
注:



1. 値は列に 1 対 1 に対応します。列の数と同じ数の値があります。列に値がない場合。 null を使用できます。空のスペースを挿入することを示します。

2. 値のデータ型は、列の定義されたデータ型と一致する必要があります。また、値の長さは、定義された列の長さを超えることはできません。
3. 文字列: 文字型データを挿入するには、一重引用符を記述する必要があります。 mysql では、文字列を表すために一重引用符が使用されます。

4. 日時型データは、'yyyyMMdd'、'yyyy-MM-dd'、'yyyy/MM/dd' のように一重引用符を使用して直接表現することもできます。
5. データを挿入するときに、一部の列が null になる可能性がある場合、または自動的に拡張される列である場合、またはデフォルト値がある場合は、挿入時にそれらを省略することも、自動拡張を実現するために null を記述することもできます。テーブル内のすべての列にデータを入力する場合は、テーブルの後の列名を省略して値を直接書き込むことができます。


テーブルのすべての情報を表示するには、select*from テーブル名を使用します。

方法 2: 一部の列を省略する
列は、デフォルト値がある場合、または空にすることが許可されている場合にのみ省略できます。

主キーは自己増加し、デフォルト値があるとみなされますが、省略することもできます。

方法 3: すべての列を省略する
構文: テーブル名に値を挿入 (値, 値, 値);


update ステートメント - テーブル レコードを変更します。

文法: テーブル名を更新します set カラム名 = 値、カラム名 = 値... [where 条件文]
    角括弧は文法的な内容ではありません。ここでは、条件文を追加できるかどうかを意味します。 。
  • 注:

    1. 条件を追加しない場合、特定の列のすべての値が変更されます。
    2. 通常、データを変更する場合は条件を追加する必要があります。
    複数の列を区切るにはカンマを使用します。

例: 全員の年齢を 20 歳に変更します
update user set age=20;
例: Zhang San という名前の人の年齢を 18 歳に変更します
update user set age=18 where name="Zhang San";

  • delete ステートメント - テーブル内のデータを削除するステートメント
    構文: delete from table name [where 条件ステートメント]
    どこにもない場合は、テーブル内のすべてのデータを削除します。
    delete は行を削除します。

  • Truncate ステートメント - データの削除
    構文: truncate table テーブル名;
    最初にテーブルを削除してからテーブルを作成することは、すべてのデータを削除することと同じです。
    パフォーマンスの観点: truncate table の方がパフォーマンスが優れています。

データ レコードの追加、削除、および変更の概要:
新規追加:
テーブル名に挿入 value(value, value, value.. .)
テーブル名 (列名 1、列名 2、列名 3...) に挿入 値 (値 1、値 2、値 3...)
テーブル名 (列名) に挿入名前 2、列名 4、列名 5….) 値 (値 2、値 4、値 5…)

変更:
update table name set 列名 = 値、列名 = value where 条件

delete :
テーブル名から削除 where 条件
where 条件を追加しない場合、すべてのデータが削除されます。

削除: データのクリア
テーブル テーブル名を切り詰める
データをクリアする目的は、テーブル全体を削除してからテーブルを再作成することによって達成されます。

delete と truncate の違いは、delete で削除されたデータはトランザクション管理で回復できるのに対し、truncate は回復できないことです。

SQL の集計/集計関数
集計関数: 複数のデータに対して操作を実行して結果を生成します。
例: 合計、平均、最大、最小。
SQL 言語は、これらの操作を実装するためのいくつかの関数を定義します。
MySQL の基本的なステートメント操作の概要count 関数 - レコード数 (行数) をカウントする
構文: select count() count(column name) from table name
select count (
) from table name: 統計テーブルの行数。

#sum 合計関数 #構文: select sum(列名) from table name;
select sum(column name) from table name where 条件

avg 関数 - 平均値 構文: select avg (列名) from table name;

##max/min 最大値/最小値

select max (列名),min(列名) (テーブル名から)

グループごとのクエリ

****特定の列または複数の列に従って。同じデータを結合して出力します。 select … from … group by columns name;

説明: 実際には列ごとに分類されており、分類されたデータは集計関数を使用して操作できます。

注:

1. 集計関数: グループ化後に計算されます。
2. 通常はコンテンツを選択します: a はグループ化された列、b は集計関数です。 ####3.このような状況に遭遇した場合は、それぞれに従ってください。グループ化は通常、このようなステートメントを作成するときに使用されます。
4. group by を使用してデータをグループ化する場合でも、データをフィルターする必要があります。 where キーワードの後に​​上記で説明した関数を続けることができないため、現時点では一般に where を使用できません。上記の機能を絞り込み条件に追加する場合は、having キーワードのみを使用できます。
5. Where の後には集計関数を続けることはできませんが、have の後には集計関数を続けることができます。

条件を含む列名でグループ化します
グループ化後にフィルター条件を追加します。


どこにあるかと持っていることの違い。

1. Have は通常、group by と組み合わせて使用​​されます。 2. Have は集約関数を記述できます (集約関数が出現する場合: select の後、group by...having の後)。
つまり、Where の後の条件の後には have を指定できますが、Wh​​ere の後の条件の後には必ずしもグループ化の前に Where が続くとは限りません。グループ化後に、having がフィルタリングされます。

クエリを実行する場合、必要がない場合は、where を使用すると、最初にデータがフィルタリングされてから他の条件が判断されるため、より効率的です。


説明: select … from … where 条件 1 … gropu by … 条件 2 order by を持つ

条件 1 が最初にフィルタリングを実行します
グループ化の場合

条件 2 でフィルタリング

select ステートメントとクエリの概要の実行順序:

クエリ キーワードの出現順序は固定です

select...表示される内容.. .from...テーブル名… where 条件…. group by…グループ化された列…having…グループ化後の条件…order by…sortselect…5…from…1…where…2…group by…3…having… 4… order by …6.

select product,sum(price) as总价 from orders
	where price>10
		group by product
			having 总价>30
				order by 总价 asc;

クエリ実行順序

from : テーブル名MySQL の基本的なステートメント操作の概要

  1. #where: 条件付きフィルタリング

    (エイリアスの定義)

  2. group by : grouping
    (集計関数の実行)

  3. having :フィルタをグループ化した後に実行されます。

  4. select: 実行後、内容をクエリします。

  5. 並べ替え: 出力表示の並べ替え。

以上がMySQL の基本的なステートメント操作の概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。