2022年02月22日(火)


/Users/nana/git/eomcs-docs/sql/Exam01.sql
🔹 表示
コマンドライン方式
1行のコマンドを入力した
インタフェースモード
show tables;
DBMSクエリーテーブルごとにコマンドが異なります
🔹 クエリー制約use information_schema;


select table_schema, table_name from tables;
select * from TABLE_CONSTRAINTS where table_name='test1';
select table_name, COLUMN_NAME, CONSTRAINT_NAME from KEY_COLUMN_USAGE;
どの列がprimary keyなのかを知るには、
すべての情報をテーブルに保存
テーブル名はどこですか.
制約はテーブルにあります.
primary keyはどこですか?
DBMSによる
DESC test1; ←ダイジェスト情報を見せてくれました
各行SQL自動実行コマンド
MariaDB [studydb]> select no, name, class from test1 where working='Y';
MariaDB [studydb]> select no, name, class from test1 where working='y';
SQL文を仮想テーブルとして作成できます


ワークシート
本物のテーブルじゃない
SELECT文のリンクです
じつじかんうんてん
create view
当時は机を単独で保管するのではなく、リンクだけでした.
ビューはSELECT文へのリンクです.
仮想テーブルと呼ばれます.

workerにいないものを選んで見ることはできません.

原版は労働者がいなければ選ばれない.
値がnullの場合は、自動的に増加する値に入ります.
/Users/nana/git/eomcs-docs/sql/Exam02.sql
select結果を表に挿入
どうせプライマリキーはnullじゃない
一時的なテーブルに置いて、手動で提出して設定し、仕事をしなければなりません.
自動コミット
自動コミット/手動コミット
autocommit=false
クライアントがリクエストを発行すると、
すべてのクライアントサーバ
テンポラリ・データベース
最後のcommit状態に戻りたい場合は、> rollback;Autocommit=falseの使用
実際の操作ではautocommit=falseが必要ですMariaDB [studydb]> select @@autocommit;
サーバ無条件マルチスレッド
クライアントのターゲットはスレッドです
値は大文字と小文字を区別しません
customerId = customerid
特定のカラムの値のみをクエリーする場合は、=>投影(Projection)と呼ばれます.
mysqlが提供する文字列を貼り付ける関数
mariadbドキュメントの取得
https://mariadb.com/kb/en/built-in-functions/
https://mariadb.com/kb/en/function-and-operator-reference/
https://mariadb.com/kb/en/concat/
@v:SQLで使用する変数
https://dev.mysql.com/doc/refman/5.7/en/
https://dev.mysql.com/doc/refman/5.7/en/functions.html
5.7 MairaDBと類似
クエリー列の別名の追加
条件選択結果を「選択」と呼びます.
実行順序:from->where->select
nullで!=演算子の使用は条件に合致しません.
is null
is not null
文字列を日付に置き換えて比較
日付関数
https://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html > select datediff(curdate(), '2022-5-2');日付から特定のフォーマットで値を抽出
文字列を日付形式に変換する必要があります
文字列の日付値に置換

省略可能
Spring framework
JDBCの仕事はDBMSを接続することです
JDBCを直接呼び出さない
SQL、DAO、Services、Controller
Web Static Resource
com.eomcs.jdbc.ex2
com.eomcs.jdbc.ex2.Exam0110.java
jdbcでデータベースに接続しないわけにはいかない
hibernate
蓋をしたほうが便利です.
ScoreTableProxy
ハウジングにすぎない
DBMSに直接アクセスする方法はありません
/Users/nana/git/eomcs-docs/sql/Exam04.sql
Foreign Key=親テーブル+子テーブル
09-JDBCプログラミング/16ページ
出版物表
番号、タイトル、コンテンツ、クエリー数、作成者
重複データの分離
重複する列での分離
ファイル番号、ファイル名
場所を変えるだけでいいです.
重複データを減らす理由です
コラムを無駄にすることなく、簡単に添付ファイルを登録できます.
工学:経験の事実を学問に体系化することによって、後輩はもっと速く合理的に学ぶことができる.
重複除外によるテーブル構造の変更(第1の標準化)
Redundancy Data
第一正規化
表構造の改善
=>DBモデリング
参照先はサブテーブル
FK:他(外部)テーブルPKへの列
重複データを回避する分散型ストレージ
著者は著者表に分散しているため,著者表のForeign Keyを指す必要がある.著者idを指す列が必要です.
格納データを分散すると、
親テーブル、子テーブル
参照されるテーブルは親テーブルです
参照されるテーブルはサブテーブルです
SQL終了後
JDBC APIを使用してSQLを放出する方法
プログラムからSQL(JDBC API)を放出する方法
ファイルではなくデータベースに保存