「バックエンド ネットワーク MySQL データベース ビデオ チュートリアル」では、データベースの概念と、追加、削除、変更、チェックなど、データベースで一般的に使用されるいくつかの基本的な内容を紹介します。また、データベースのセキュリティに関する知識も含まれています。注射など
コース再生アドレス: http://www.php.cn/course/427.html
先生の教え方:
先生の講義はシンプルで奥深く、わかりやすいです論理的思考力を使用して生徒の注意を引き、理性を使用して教室での指導プロセスを制御することで、層ごとに連動し、厳密な議論と厳密な構造を組織化して分析します。先生の講義を聞くことで、学生は知識を学ぶだけでなく、思考力の訓練も受け、先生の厳格な学問的姿勢に影響を受け、影響を受けます
このビデオでより難しい部分は、データ型の定義と選択です。 :
1. 数値型:
Mysql は、厳密なデータ型 (INTEGER、SMALLINT、DECIMAL、NUMBERIC) および近似数値データ型 (FLOAT、REAL、DOUBLE PRESISION) を含む、標準 SQL のすべての数値型をサポートします。この拡張機能で。拡張後、長さの異なる3つの整数TINYINT、MEDIUMINT、BIGINTが追加され、ビットデータを格納するBIT型が追加されました。
INT 型:
MySQL でサポートされる 5 つの主な整数型は、TINYINT、SMALLINT、MEDIUMINT、INT、および BIGINT です。これらの型はほとんど同じですが、格納される値のサイズが異なるだけです。
MySQL は、オプションの表示幅インジケーターの形式で SQL 標準を拡張し、データベースから値を取得するときに、値を指定された長さまで延長できるようにします。たとえば、フィールドのタイプが INT(6) であると指定すると、データベースから取得するときに 6 桁未満の値が自動的にスペースで埋められます。幅インジケーターを使用しても、フィールドのサイズや格納できる値の範囲には影響しないことに注意してください。許可範囲外の数値をフィールドに保存する必要がある場合、MySQL は、その数値を保存する前に、その数値に最も近い許可範囲の終わりに従ってその数値を切り捨てます。もう 1 つの特別な点は、MySQL が不正な値をテーブルに挿入する前に自動的に 0 に変更することです。
UNSIGNED 修飾子は、フィールドが正の値のみを保持することを指定します。数値の正負の符号を保存する必要がないため、保存時に 1 ビットのスペースを節約できます。これにより、このフィールドに保存できる値の範囲が広がります。 ZEROFILL 修飾子は、出力値を補完するために 0 (スペースではない) を使用できることを指定します。この修飾子を使用して、MySQL データベースに負の値が格納されないようにします。
FLOAT、DOUBLE、および DECIMAL 型:
MySQL でサポートされる 3 つの浮動小数点型は、FLOAT、DOUBLE、および DECIMAL 型です。 FLOAT 数値型は単精度浮動小数点値を表すために使用され、DOUBLE 数値型は倍精度浮動小数点値を表すために使用されます。整数と同様に、これらの型には追加パラメータ (表示幅インジケーターと小数点インジケーター) が必要です。たとえば、ステートメント FLOAT(7,3) は、表示される値が 7 桁 (小数点以下 3 桁) を超えないことを指定します。
小数点以下の桁数が許容範囲を超える値の場合、MySQL は自動的に最も近い値に丸めて挿入します。 DECIMAL データ型は、非常に高い精度が必要な計算に使用され、数値の精度とカウント方法を選択パラメータとして指定できます。ここでの精度は、値に対して保存された有効桁数の合計を指しますが、カウント方法は小数点以下の桁数を示します。たとえば、ステートメント DECIMAL(7,3) は、格納される値が 7 桁を超えず、小数点以下 3 桁を超えないことを指定します。
DECIMAL データ型の精度とカウント方法の修飾子を省略すると、MySQL データベースは、このデータ型として識別されるすべてのフィールドの精度を 10 に設定し、カウント方法を 0 に設定します。 UNSIGNED および ZEROFILL 修飾子は、FLOAT、DOUBLE、および DECIMAL データ型でも使用できます。効果は INT データ型と同じです。
1. CHAR 型と VARCHAR 型:
CHAR 型は固定長文字列に使用され、括弧内にサイズ修飾子を付けて定義する必要があります。このサイズ修飾子の範囲は 0 ~ 255 です。指定した長さより大きい値は切り捨てられ、指定した長さより小さい値はスペースで埋められます。
CHAR型はBINARY修飾子を使用できます。この修飾子を比較演算で使用すると、CHAR は従来の大文字と小文字を区別する方法ではなく、バイナリ形式で演算に参加します。
CHAR 型の変形として VARCHAR 型があります。これは可変長の文字列型であり、0 ~ 255 の範囲のインジケーターも必要です。 CHAR と VARCHGAR の違いは、MYSQL データベースがこのインジケーターを処理する方法です。CHAR はこのサイズを値のサイズとして扱い、長さが不十分でない場合はスペースを埋め込みます。一方、VARCHAR 型はこれを最大値として扱い、文字列を格納するために実際に必要な長さ (さらに、文字列自体の長さを格納するための 1 バイトを追加) を使用して値のみを格納します。したがって、インジケーターの長さより短い VARCHAR 型はスペースで埋められませんが、インジケーターより長い値は切り捨てられます。 VARCHAR 型は実際の内容に基づいて格納される値の長さを動的に変更できるため、フィールドに必要な文字数が不明な場合に VARCHAR 型を使用すると、ディスク領域を大幅に節約し、格納効率を向上させることができます。 VARCHAR 型は、BINARY 修飾子を使用する場合の CHAR 型と同じです。
2. TEXT タイプと BLOB タイプ:
フィールドの長さの要件が 255 を超える場合、MySQL は TEXT と BLOB の 2 つのタイプを提供します。これらはすべて、保存されたデータのサイズに基づいて異なるサブタイプを持ちます。これらの大きなデータは、テキスト ブロックや、画像やサウンド ファイルなどのバイナリ データ タイプを保存するために使用されます。 TEXT 型と BLOB 型の間では、分類と比較に違いがあります。 BLOB 型では大文字と小文字が区別されますが、TEXT では大文字と小文字が区別されません。サイズ修飾子は、さまざまな BLOB および TEXT サブタイプでは使用されません。指定された型でサポートされる最大範囲を超える値は自動的に切り捨てられます。
3. 日付と時刻の型:
日付と時刻の型の値を扱う場合、MySQL には 5 つの異なるデータ型から選択できます。これらは、単純な日付と時刻のタイプと、日付と時刻の混合タイプに分類できます。必要な精度に応じて、各サブタイプ内でサブタイプを使用できます。MySQL には、さまざまな入力形式を標準形式に変換する機能が組み込まれています。
1. DATE、TIME、および TEAR タイプ:
MySQL は、単純な日付値を格納するために DATE および TEAR タイプを使用し、時間値を格納するために TIME タイプを使用します。これらの型は、区切り文字のない文字列または整数のシーケンスとして記述することができます。文字列として記述する場合、DATE 型の値は区切り文字としてハイフンで区切る必要があり、TIME 型の値は区切り文字としてコロンで区切る必要があります。
コロン区切り文字のない TIME 型の値は、MySQL によってタイムスタンプではなく期間として認識されることに注意してください。
MySQL は、日付の年の 2 桁の値、または SQL ステートメントの TEAR 型に入力された 2 桁の値の最大解釈も実行します。すべての TEAR タイプの値は 4 つの数字で保存する必要があるためです。 MySQL は、2 桁の年を 4 桁の値に変換しようとします。 00 ~ 69 の範囲の値を 2000 ~ 2069 の範囲に変換します。 70 ~ 99 の範囲の値を 1970 ~ 1979 に変換します。 MySQL によって自動的に変換された値がニーズを満たさない場合は、4 桁の年を入力します。
2. DATEYIME および TIMESTAMP タイプ:
日付と時刻のデータ型に加えて、MySQL は DATEYIME と TIMESTAMP という 2 つの混合タイプもサポートします。日付と時刻を単一の値として保存できます。どちらのタイプも、現在の日付と時刻を含むタイムスタンプを自動的に保存するために一般的に使用され、大量のデータベース トランザクションを実行する必要があり、デバッグやレビューの目的で監査証跡を確立する必要があるアプリケーションでうまく機能します。 TIMESTAMP 型のフィールドに明示的に値を割り当てていないか、null 値が割り当てられている場合。 MySQL は、システムの現在の日付と時刻を自動的に設定します。
3. 複合タイプ:
MySQL は、SQL 仕様を拡張する 2 つの複合データ タイプ、ENUM と SET もサポートします。これらの型は技術的には文字列型ですが、異なるデータ型として扱うことができます。 ENUM タイプではコレクションから 1 つの値のみを取得できますが、SET タイプではコレクションから任意の数の値を取得できます。
4. ENUM タイプ:
ENUM タイプでは、セット内で 1 つの値のみを取得できます。これは、単一のオプションに似ています。人間の性別など、相互に排他的なデータを扱う場合に理解しやすくなります。 ENUM タイプのフィールドは、コレクションから値を取得することも、null 値を使用することもできます。それ以外の場合は、入力により MySQL によってフィールドに空の文字列が挿入されます。さらに、挿入された値の大文字と小文字がコレクション内の値の大文字と小文字が一致しない場合、MySQL は挿入された値の大文字と小文字を自動的に使用して、コレクションの大文字と小文字が一致する値に変換します。
ENUM タイプはシステム内部に数値として保存でき、1 から始まる数値でインデックスが付けられます。 ENUM タイプには最大 65536 個の要素を含めることができ、そのうちの 1 つはエラー情報を保存するために MySQL によって予約されており、このエラー値はインデックス 0 または空の文字列で表されます。 MySQL は、ENUM 型コレクションに表示される値を正当な入力であると見なし、その他の入力は失敗します。これは、空の文字列または対応する数値インデックス 0 を含む行を検索することで、エラーのあるレコードの場所を簡単に見つけることができることを示しています。
5.セットタイプ:
SET タイプは ENUM タイプと似ていますが、同じではありません。 SET タイプは、事前定義されたコレクションから任意の数の値を取得できます。また、ENUM タイプと同様に、SET タイプのフィールドに事前定義されていない値を挿入しようとすると、MySQL は空の文字列を挿入します。正当な要素と違法な要素の両方を含むレコードを挿入すると、MySQL は正当な要素を保持し、違法な要素を削除します。
SET タイプには最大 64 個の要素を含めることができます。 SET 要素では、値は、対応する要素を表す「ビット」の離散シーケンスとして格納されます。ビットは、要素の順序付けられたコレクションを作成するためのシンプルかつ効率的な方法です。また、重複した要素も削除されるため、SET 型に 2 つの同一の要素を含めることはできません。 SET タイプのフィールドから不正なレコードを見つけるには、空の文字列またはバイナリ値 0 を含む行を探すだけです。
各データ型の目的、物理ストレージ、表現範囲などの概要を理解することによって。このようにして、特定のアプリケーションに直面する場合、対応する特性に応じて適切なデータ型を選択できるため、アプリケーションを満たすことに基づいて、より少ないストレージコストでより高いデータベースパフォーマンスを達成するよう努めることができます。
以上がBackend.com MySQL データベース ビデオ チュートリアル リソースの推奨事項の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

MySQLインデックスのカーディナリティは、クエリパフォーマンスに大きな影響を及ぼします。1。高いカーディナリティインデックスは、データ範囲をより効果的に狭め、クエリ効率を向上させることができます。 2。低カーディナリティインデックスは、完全なテーブルスキャンにつながり、クエリのパフォーマンスを削減する可能性があります。 3。ジョイントインデックスでは、クエリを最適化するために、高いカーディナリティシーケンスを前に配置する必要があります。

MySQL学習パスには、基本的な知識、コアの概念、使用例、最適化手法が含まれます。 1)テーブル、行、列、SQLクエリなどの基本概念を理解します。 2)MySQLの定義、作業原則、および利点を学びます。 3)インデックスやストアドプロシージャなどの基本的なCRUD操作と高度な使用法をマスターします。 4)インデックスの合理的な使用や最適化クエリなど、一般的なエラーのデバッグとパフォーマンス最適化の提案に精通しています。これらの手順を通じて、MySQLの使用と最適化を完全に把握できます。

MySQLの実際のアプリケーションには、基本的なデータベース設計と複雑なクエリの最適化が含まれます。 1)基本的な使用法:ユーザー情報の挿入、クエリ、更新、削除など、ユーザーデータの保存と管理に使用されます。 2)高度な使用法:eコマースプラットフォームの注文や在庫管理など、複雑なビジネスロジックを処理します。 3)パフォーマンスの最適化:インデックス、パーティションテーブル、クエリキャッシュを使用して合理的にパフォーマンスを向上させます。

MySQLのSQLコマンドは、DDL、DML、DQL、DCLなどのカテゴリに分割でき、データベースとテーブルの作成、変更、削除、データの挿入、更新、削除、複雑なクエリ操作の実行に使用できます。 1.基本的な使用には、作成可能な作成テーブル、INSERTINTO INSERTデータ、クエリデータの選択が含まれます。 2。高度な使用法には、テーブル結合、サブQueries、およびデータ集約のためのグループに参加します。 3.構文エラー、データ型の不一致、許可の問題などの一般的なエラーは、構文チェック、データ型変換、許可管理を介してデバッグできます。 4.パフォーマンス最適化の提案には、インデックスの使用、フルテーブルスキャンの回避、参加操作の最適化、およびデータの一貫性を確保するためのトランザクションの使用が含まれます。

INNODBは、ロックメカニズムとMVCCを通じて、非論的、一貫性、および分離を通じて原子性を達成し、レッドログを介した持続性を達成します。 1)原子性:Undologを使用して元のデータを記録して、トランザクションをロールバックできることを確認します。 2)一貫性:行レベルのロックとMVCCを介してデータの一貫性を確保します。 3)分離:複数の分離レベルをサポートし、デフォルトでrepeatable -readが使用されます。 4)持続性:Redologを使用して修正を記録し、データが長時間保存されるようにします。

データベースとプログラミングにおけるMySQLの位置は非常に重要です。これは、さまざまなアプリケーションシナリオで広く使用されているオープンソースのリレーショナルデータベース管理システムです。 1)MySQLは、効率的なデータストレージ、組織、および検索機能を提供し、Web、モバイル、およびエンタープライズレベルのシステムをサポートします。 2)クライアントサーバーアーキテクチャを使用し、複数のストレージエンジンとインデックスの最適化をサポートします。 3)基本的な使用には、テーブルの作成とデータの挿入が含まれ、高度な使用法にはマルチテーブル結合と複雑なクエリが含まれます。 4)SQL構文エラーやパフォーマンスの問題などのよくある質問は、説明コマンドとスロークエリログを介してデバッグできます。 5)パフォーマンス最適化方法には、インデックスの合理的な使用、最適化されたクエリ、およびキャッシュの使用が含まれます。ベストプラクティスには、トランザクションと準備された星の使用が含まれます

MySQLは、中小企業に適しています。 1)中小企業は、顧客情報の保存など、基本的なデータ管理にMySQLを使用できます。 2)大企業はMySQLを使用して、大規模なデータと複雑なビジネスロジックを処理して、クエリのパフォーマンスとトランザクション処理を最適化できます。

INNODBは、次のキーロックメカニズムを通じてファントムの読み取りを効果的に防止します。 1)Next-KeyLockingは、Row LockとGap Lockを組み合わせてレコードとギャップをロックして、新しいレコードが挿入されないようにします。 2)実際のアプリケーションでは、クエリを最適化して分離レベルを調整することにより、ロック競争を削減し、並行性パフォーマンスを改善できます。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

SublimeText3 中国語版
中国語版、とても使いやすい

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません
