-Mysqlを学習理解のデータベースの基礎

  1. プロファイル
      データベースは、現代のデータストレージは、ストレージを意味し、必要なデータを格納する特殊なファイルです。

特徴:

永続ストレージ
読み、高速書き込み
データの妥当性を確保するため
のプログラムをサポートするためには、拡張しやすい非常に良いです

  1. MySQLの
    (1)データの整合性を持ちます:

  データベースは完全なサービス単位で、複数のテーブルを含んでもよく、データはテーブルに格納されています。テーブルを作成するときに正しいと有効なデータを確保するため、より正確なデータを格納するためのテーブルでは、データフィールド、制約のタイプを含む、テーブルのためのいくつかの必須の検証を追加します。

制約説明:

主キー主キー:順番に物理的に保存され、
空ではnullではない:このフィールドは、ヌルを埋めるために許可されていない;
だけユニーク:このフィールドの値は一意でなければなりません。
デフォルトデフォルト:この値はデフォルト値を満たしていない場合は、塗りつぶした場合勝つ記入する際に、
外部キー、外部キー:関係フィールドを制約するフィールドは、関係値を充填すると、関連するテーブルには、完全な成功が、その後がある場合、それが存在しない場合は、この値が存在する照会やで埋めることができなかっただろう例外がスローされます。
注意:データの、データベースのパフォーマンスが低下する時期外部キー制約は、データの妥当性を保証することができますが、しかし、クラッド帳簿データは(クエリ、追加、変更、削除)、それは推奨されません、そして、妥当性どのようにそれを確保するには?A:それは論理レベルで制御することができます。
(2)はmysql-リレーショナルデータベース、コア要素:

データ行(レコード)
データ列(フィールド)
のデータテーブル(データ線のセット)
データベース(データテーブルのコレクション)
(3)の特性:

CおよびC ++で記述され、ソースコードの移植性を確保するためにテストしたコンパイラの様々なを使用し、
Linuxなど、Windowsの、AIX、FreeBSDの、など複数のオペレーティングシステム、サポート HP-UX、MacOSの、NovellNetware、OpenBSDの、OSを/ 2ラップ、Solarisなど;
等C、C ++、PythonやJavaなどのプログラミング言語API、さまざまな提供やPerl、PHP、エッフェル、ルビーなど、
CPUリソースのマルチスレッド、フル使用をサポートし、
最適化されたSQLクエリアルゴリズム、効果的なクエリの速度を向上させ、
多言語サポート、一般的なGB2312、BIG5、UTF8としてコーディング、
TCP / IP、ODBCやJDBCデータベース接続および他の方法を提供し、
データベース操作を最適化するために、管理、検査および管理ツールを提供するために、
大規模なデータベース。レコードの数千万人を扱うことができる大規模なデータベースを持っている、
複数のストレージエンジンをサポートして、
MySQLソフトウェアは、特に、それらの小型サイズ、高速、低所有コストに、コミュニティと商用バージョンに分かれているデュアルライセンスポリシーを、使用していますこのオープンソースの特徴、中小ウェブサイトの開発は、サイトデータベースとしてMySQLを選択した;
標準SQL言語の形式を使用してMySQLデータ;
MySQLはGPL契約を使用してカスタマイズすることができ、あなたは自分のMySQLのシステムを開発するためにソースコードを変更することができます。
オンラインDDL変更機能、
グローバル・トランザクション識別子をコピーし、
何の崩壊スレーブをコピーしません。
マルチスレッドのマシンからコピーします。
3.基本操作- CRUD
(1)SQL文がに分かれています。

DQL:SELECTなどのデータクエリのデータクエリ言語、

DML:データ操作言語、データが追加、変更、削除、挿入などとして、UDPATE、削除します

TPL:、トランザクションを開始、コミット、ロールバックなどのトランザクション処理言語、トランザクション処理、

DCL:データ制御言語、認可および権限の回復、GRANTなど、取り消します

DDL:データ定義言語、データベース、管理テーブルなど、などの作成など、ドロップ

CCL:ポインタ制御言語、ポインタテーブルの動作を制御することによって、宣言カーソルとして、完成します

(2)CRUD

①照会

すべての列が発見し
たテーブル名から選択*;

例:クラスから選択*;

クエリは、列が指定し
、列1、列2、...テーブル名から列選択またはテーブルの別名として使用することができます。

例:選択ID、名前のクラスから。

②増加

格式:tb_name [INTO] [(COL_NAME、...)] {値を挿入| VALUE}({式expr | DEFAULT}、...)、(...)、...

完全な行挿入:配列表の順次値フィールドは、対応する
テーブル値(...)に挿入

例:生徒値(0、「缶李」、1「西」、「2019年1月6日」)に挿入します。

カラムの一部を挿入する:列の順序は、順序値に対応する所定の
テーブルに挿入(カラム1、...)の値(値1、...)

例:生徒に挿入(名前、出身地、誕生日)の値(「WANGシリコン」、「四川省」、「2019年3月2日」);

上記のステートメントは、データベースとの通信を減らすことができ、データの複数の行が一度だけ挿入することができる、テーブルに行を挿入することができ

複数行の完全な挿入列:列の順序および配列分析値は、対応する
テーブル値に挿入(...)、(...) ...。

例:クラス値に挿入(0、 '1日目')、(0、 '曜日2');

テーブルに挿入する(カラム1、...)の値(値1、...)、(値1、...)...。

例:学生(名)の値(「李斯」)、(「ディ・」)、(「幅小平」)に挿入

③変更

フォーマット:UPDATEはtbName使用のSET exprlのCOL1を= {| DEFAULT} [、{COL2 = expr2の|デフォルト}] ... [WHERE条件判定]

更新テーブル値1 SET = 1、カラム2の値= 2 ...条件であります

例:更新学生は性別= 0を設定し、故郷= '西安' ここで、ID = 5。

④削除

TBNAME FROM DELETE [ここで、条件付き]

どこ条件テーブルから削除

例:ID = 5学生から削除します。

墓石には、作業の性質の変化であります

学生はisdelete = 1、ID = 1をセット更新;

おすすめ

転載: blog.51cto.com/14551318/2440399