[実践演習]データベースの基本的な知識と基本的な原則シリーズ03-データベースのSQLコマンド

異なる言語になるなど、C、C ++、Javaの、パイソンを使用して、データベース理論、mysql5.7のインストール、データベースの設計/開発、そして時にインストールが完了したデータベースであり、アプリケーションの開発を導入された、データベースが動作するために、特別なSQL言語を使用する必要があります。


データベースの動作は、基本的に変更、サーチ、カテゴリ5接続動作、追加、削除、使用される実際の動作テストmysql5.7前にインストールすることができます。

1、ログオンしてデータベースを作成します

#データベースにログインします

MySQLの-uルート-p

#ビュー既存のデータベース

ショーのデータベース;

#UTF8エンコーディングを使用してtestdatabaseという名前のデータベースを作成します。

データベースtestdatabaseのデフォルト文字セットのutf8コレートutf8_binを作成します。

#使用testdatabaseデータベース

testdatbase使用


2、によって:

2.1データベース・テーブルを作成します。

テーブルを作成し、<テーブル名>(COLUMN_NAMEのCOLUMN_TYPE)。

#例:

テーブル試験(作成
  test_id INT AUTO_INCREMENT、
  test_usernameのVARCHAR(20)NOT NULL、
  test_numberのVARCHAR(10)NOT NULL、
  主キー(test_idを)
)。

データベースに2.2

試験(test_id、test_username、test_number)に挿入する
(1、 'zhangsan'、 '3')。


3、削除

3.1行を削除

test_id = 4試験から削除します。

3.2テーブルの削除

3.3データベースを削除します。


4、チェック

4.1完全一致

test_username、test_number選択
試験から
ここtest_id = 4。

4.2ファジーマッチ

test_username、test_numberを選択し
、テストから
test_username「%のtest2は」のような。


5、変更

5.1アップデートデータ

更新<テーブル名>設定フィールド1 = new_value1、フィールド2 = new_value2

#例:

テストセットtest_username = 'TEST0'、= '1' test_id = 1 test_numberを更新します。

5.2列の挿入(新しいフィールド)

テーブルtable_nameを変更ヌル列NEW_COLUMN_NAMEのVARCHAR(20)されていない追加。


6、接続

上記のコマンドの基本的に単一テーブルの操作であるため、削除は、上記のエントリを変更するためのコマンドを検索するには、良いです。テーブルにはどんな関係があるためではなく、どのようにクロステーブルのクエリを行うために、ええと、我々は接続(UNION)Aを使用する必要があります。

私たちは、(基本的な知識及び02-データベース設計とデータベースのシリーズの開発の原則の[実践的な演習]パラダイムを取ることができるhttps://blog.51cto.com/14423403/2418782クエリ試みに参加するインスタンス)。

今私が求めていたとし、我々はもちろん、名前、年齢、パフォーマンス、講師名、タイトル、授業時間、会場の学生数のID番号0001を登録しました。別のフィールドは、すべての内部の学生テーブル、転写産物、カリキュラム、教師のテーブルに散在しているので、まあ、明らかに単一テーブルのクエリは、十分ではありません。あなたは、所望の結果をクエリに4つのテーブルを接続するためのSQL文を記述する必要があります。

そして、あなたはこのように考える必要があります。

SQLで書かれた場合CNO =「2019030001」である。1)まず、最終的なフィルタ、0001の条件は、コースのID番号、=の「2019030001」内部CNOようカリキュラムがあります。

2)内部の各テーブルにおいて、フィールド名のフィールドのニーズを識別

学生ID:student.sno

名前:student.sname

年齢:student.sage

結果:score.cscore

講師名:teacher.tname

タイトル:teacher.ttitle

授業時間:course.ctime

会場:course.cplace

3)明確に接続され、外部キーとテーブル形式= B Aの外部キーに書き込まれた主キーによって接続され、例えば、それぞれのテーブルの間:内部転写、外部キー参照テーブル学校の学生番号SNO 、CNOカリキュラム。

score.sno = course.cnoに参加し、その後、接続はstudent.sno = score.snoに参加されるように、あなたはカリキュラムアップテーブルを学生に接続し、中央から見ることができます。

4)また、あなたはそれだけa.sno記述する必要が戻っstudent.sno、そのような学生aとエイリアスを、カスタマイズすることができますので、あなたは、非常に複雑な各テーブルの完全な名前を書く場合。

結局声明:

学生からa.sno、a.sname、a.sage、b.cscore、c.ctime、c.cplace、d.tname、d.ttitleを選択  
a.sno = b.sno_idにスコアbを結合する  
にはCコースに参加b.cno_id = c.cno  
c.tno_id = d.tnoに教師Dに参加  
ここc.cno = '2019030001'。

最終的に達成することができ、クエリはテーブル越しこの複雑なクエリ「のコースの学生数のID番号0001、氏名、年齢、パフォーマンス、講師名、タイトル、授業時間、会場を登録しました」。


おすすめ

転載: blog.51cto.com/14423403/2418820