第二章のJava EE開発:データベース開発のDDL、DML、DQL

はじめに:分類データベース、DDL:データ定義言語、DML:データ操作言語、DQL:データクエリ言語(非公式)。

------------ ------------分割ライン

DDL:データ定義言語、操作対象:データベースとテーブル

ログデータベース:MySQLの-uroot - Pパスワード

データベースの作成:データベースのデータベース名を作成します。

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

頻繁に使用するコマンド:ビューすべてのデータベース:ショーのデータベース;

:表の作成フォーマットを:テーブルのテーブル名(説明フィールド、フィールドの説明)を作成し、フィールドの説明:フィールド名フィールドタイプ[バインド]

テーブル名に変更します。新しいテーブル名にALTER古いテーブルのテーブル名のリネーム。

フィールドを追加します:ALTER TABLEテーブルの追加[コラム]フィールドの説明を。

修正フィールド名:ALTER TABLE名の変更表フィールド名新しいフィールドの説明。

変更フィールド説明:ALTERテーブルテーブルのフィールド名フィールドタイプを変更する[結合]。

削除フィールド:ALTER TABLEの名は、表のフィールド名をドロップします。

削除テーブル:テーブルのテーブル名をドロップ。

よく使用するコマンド:
ハンドオーバまたはデータベースに入力:データベース名を使用します。
現在のすべてのデータベーステーブルを表示します。テーブルを表示します。
ビューのテーブル構造:DESCテーブル名;
ビュー建table文:表示テーブルのテーブル名を作成します。

--------------分割ライン-----------

DML:データ操作言語の操作対象:レコード(行);キーワード:挿入、更新、削除。

挿入:
フォーマット1:
;テーブル値(フィールド値1、2 ...フィールド値、フィールドn値)に挿入
注意:
すべてのフィールドの挿入デフォルト、
後者の値の内容と同じテーブル構造の種類と順番ことを確認する必要があります
フィールドタイプが数値の場合、引用符を省略することができます
フォーマット2:
テーブルに挿入(フィールド名、フィールド名... 1)の値(フィールド値、フィールド値1 ...)。
注意:
指定したフィールドを挿入

フィールドの種類と順序の背後にあると一貫性のあるテーブル名の後ろの値のコンテンツタイプとオーダーすることを確認する必要があります。

変更の形式を:
更新テーブルセットフィールド名=フィールド値、フィールド名、フィールド値= 1 ... [条件];
削除フォーマット
[WHERE条件]テーブルから削除します。

---------- ---------分割ライン

DQL:データクエリ言語;キーワード:選択
フォーマット:選択...グループフィールドによって条件グループは、ソートフィールドアーゼによって条件の順序を持​​つテーブルから| DESC

環境を初期化します。
- 製品のテーブルを作成します。
(表の製品を作成します
PID int型主キーAUTO_INCREMENT、
PNAMEのVARCHAR(20)、
価格ダブル、
PNUM int型、
CNO int型、
pdateタイムスタンプ
);

製品の値(nullで、「タイのドリアン」、98,12,1、NULL)に挿入。
製品値(NULL、 '新疆ナツメ'、38,123,1、NULL)に挿入します。
製品値(NULL、「新疆カットケーキ」、68,50,2、NULL)に挿入します。
製品値(NULL、 '市Sanxiang'、10,200,3、NULL)に挿入します。
製品の値に挿入(ヌル、 'Laoganma'、20,180,3、NULL);
製品の値に挿入(ヌル、 'Wandou黄'、20,120,2、NULL);
演習:
単純なクエリ:
演習:
1.すべての商品お問い合わせ
製品から*を選択します。

2.クエリの商標名および商品価格。
- 指定したフィールドを確認してください 
- フォーマット:選択したフィールド名1、フィールド名2台から
PNAME、製品の価格を選択します。

3.クエリのすべての商品は、それらの価格です。
- 営業明確な重複除外
- フォーマット:個別のフィールド名を選択し、テーブルのフィールド名2
製品の価格を選択します。
製品は異なる価格を選択します。

10が表示されているすべての商品の価格4。(別名)
- 操作は、クエリの結果に行うことができ、それがデータベース内の値には影響を与えません。
- エイリアスにカラム形式:[よう]別名
製品から価格+ 10を選択します。
製品の価格+ 10新価格を選択します。
製品の価格+ 10「新価格」を選択します。
製品の価格+ 10新価格を選択します。 - エラー
製品の価格+ 10「新価格」を選択します。
製品の価格+ 10 `新しいprices`を選択します。

条件のお問い合わせ:
演習:
1.クエリ商品の商品名市Sanxiangすべての情報:
PNAME = '市Sanxiangの製品から選択*;

2.チェック価格>すべての$ 60の製品情報:
価格> 60の製品から選択*;

「新」商品と3.クエリの商号
- ファジーマッチ 
- フォーマット:「一致規則」などのフィールド名。
- 試合のコンテンツ%
「ドラゴン」は ドラゴンです
「%ロング」 最後に値「竜」
「ドラゴン%」 冒頭に値「ドラゴン」
"%龙%" 値は「ドラゴン」が含ま
- ヒット数が「__」二つの位置を占めています
PNAME "%新%" のような製品から選択*;

商品38,68,98 4.料金をチェック
価格= 38または価格= 68または価格= 98製品から選択*;
価格(38,68,98)内の製品から選択*;


言葉遣い条件後:
*>、<、=、> =、<=、<>、!=
*プレースホルダを使用して同じように_ _文字%を表し、%は、任意の数の文字を表します。 
* select * from product where pname like '%新%';
* in在某个范围中获得值.
* select * from product where pid in (2,5,8);
* between 较小值 and 较大值
select * from products where price between 50 and 70;

排序查询:

1.查询所有的商品,按价格进行排序.(asc-升序,desc-降序)
select * from products order by price desc;

2.查询名称有新的商品的信息并且按价格降序排序.
select * from products where pname like '%新%' order by price  desc;

聚合函数:
对一列进行计算 返回值是一个,忽略null值
* sum(),avg(),max(),min(),count();

1.获得所有商品的价格的总和:
select sum(price) from products;
2.获得商品表中价格的平均数:
select avg(price) from products;
-- round(值,保留小数位)
select round(avg(price),2) from products;
3.获得商品表中有多少条记录:
select count(*) from products;

分组:使用group by
1.根据cno字段分组,分组后统计商品的个数.
select cno,count(*) from products group by cno;
2.根据cno分组,分组统计每组商品的总数量,并且总数量> 200;
select cno,sum(pnum) from products  group by cno;
select cno,sum(pnum) from products  group by cno having sum(pnum)>200;

注意:
where和having区别:
1.where 是对分组前的数据进行过滤 ;having 是对分组后的数据进行过滤 
2.where 后面不能使用聚合函数,having可以

-----------完-------

发布了105 篇原创文章 · 获赞 74 · 访问量 7万+

おすすめ

転載: blog.csdn.net/qq_32306361/article/details/77676472