Mysql学習メモ(2)テーブル構造の追加・削除・変更・クエリ
Mysql は 1 週間近く更新されていません。逆に、Linux については多くのことを学びました。おそらく私は Linux のほうに感情的に興味があるのかもしれません。 mysql は気にならないのですが、一度エネルギーを 1 つのことに費やしてしまうと、他のことにエネルギーを移すのは困難です。
最近、勉強計画とフィットネス計画も調整しました。以前は毎晩仕事が終わってから30分~1時間運動していましたが、今は基本的に夜は早めに就寝しており、特別なことがなければ10時半には確実に寝ています。仕事を終えて家に帰って、2~3時間かけて勉強しましょう。フィットネスに関しては、朝にやるべきです。昨日試してみましたが、朝はまだ起きられます。 5時半に起きて30分走って、朝食を食べに朝市に行く時間もある。
実際、仕事を終えてから興味のあることをしないと、一日があっという間に過ぎてしまいます。
mysql のこの部分は、実際、私にとって日々の練習からよく知られたものです。当初はこの章をスキップしようと思っていましたが、知識をシリーズとして整理することにしました。将来問題に遭遇して知識ポイントを忘れてしまった場合でも、このメモからすぐに答えを見つけ、すぐに思い出すことができます。
しっかりした知識体系は非常に重要であり、この良い習慣を維持できることを願っています。
テストに使用される SQL コードとデータ:
#班级表 create table classes( class_no int auto_increment primary key, class_name char(20) not null unique, department_name char(20) not null )engine=innodb default charset=utf8; #下面是一些测试数据: insert into classes(class_name,department_name) values ('英语二班','高一英语二班'), ('英语三班','高一英语三班'), ('英语四班','高一英语四班'), ('英语五班','高一英语五班'), ('英语六班','高一英语六班'), ('数学一班','高一数学一班'), ('数学二班','高一数学二班'), ('数学三班','高一数学三班'), ('数学四班','高一数学四班'), ('数学五班','高一数学五班'), ('数学六班','高一数学六班'), ('语文一班','高一语文一班'), ('语文二班','高一语文二班'), ('语文三班','高一语文三班'), ('语文四班','高一语文四班'), ('语文五班','高一语文五班'), ('语文六班','高一语文六班');
1. テーブル構造の追加、削除、変更、挿入
注: ここでのデモはクラス テーブルに基づいています。実際のアプリケーションでは、独自のテーブル名に置き換えることができます。 anotion元のテーブル構造は、以下に示すように次のとおりです。 10) null ではないデフォルト '';
フィールドタイプのみを変更します:
Alter Table Classes Modify Test Chat (10);
modify と Change は似ています。違いは、change が置換されるフィールドの名前であることです。変更では、フィールドのフィールド タイプのみが変更されます。
使用するときは違った使い方ができます。
制約の追加:
構文は次のとおりです: alter table テーブル名 addconstraint 制約名 制約タイプ (フィールド名)
alter tableclasses addconstraint myunique unique(class_no);
delete制約 :
制約を削除する前に、テーブルにどの制約が既に存在するかを明確に把握する必要があります。
show create table テーブル名 G で表示できます。ここでの G はグループを意味します (私の主観的な推測)。
テーブルクラスの作成を表示 G G の後には ; 記号がないことに注意してください。
制約を削除するには、どのような制約があるのかを知る必要もあります。 制約には通常、主キー制約 (主キー)、外部キー制約 (外部キー)、一意のインデックス名 (インデックス) が含まれます
ここでは、外部キー制約とは何かを簡単に紹介し、まず外部の意味を見ていきます。外国。つまり、このテーブルのこのフィールドのソースは別のテーブルからのものであり、その値は 5 つの値から作成することはできず、別のテーブルから取得する必要があります。
より詳細な紹介については、次の記事を見てみましょう。
主キー制約を削除します:
構文: alter table table name drop Primary key.
栗: alter tableclasss Drop Primary key.
外部キー制約を削除します:
テーブルには 1 つの主キーを持つことができますが、外部キーは複数である必要があります。したがって、外部キーを削除する場合は、そのときに外部キーに付けられた名前、つまり制約名も削除する必要があります。
構文: aleter テーブル テーブル名 外部キー制約名を削除
一意の制約を削除:
固有の制約とは: たとえば、ID カード番号は重複しないため、ID カードを入力するプロセス中に、間違いによる重複した ID 番号の入力を防止します。これが唯一の制約です。 unqiue (ユニークな、ユニークな、珍しい)。もちろん、テーブルには複数の一意の制約を含めることもできます。たとえば、ユーザー テーブルには ID 番号と電話番号の両方を含めることもできます。次に、削除するときは、制約名も削除する必要があります。
構文: alter table テーブル名 drop インデックス制約名。
テーブル クラスを変更してインデックス class_name を削除します。
テーブルを変更するためのその他のオプション: ストレージ エンジン タイプの変更、文字セットの変更、自動インクリメントの初期値の変更など。
ストレージ エンジンを変更します: テーブル テーブル名エンジン = 新しいストレージ エンジンを変更します。
3. テーブル名の変更と削除
テーブル名の変更は非常に簡単ですが、頻繁に行われます。これを使って。
プロジェクトの準備段階およびデータベースの設計時。テーブル名を分かりやすくするためには、できるだけわかりやすいデザインにする必要があるため、テーブル名の変更は避けられません。
テーブル名の変更:
alter table テーブル名 新しいテーブル名を変更します。変更 ここでは、テーブル名の変更と変更フィールド名の違いを区別します。 テーブル テーブル名の変更 変更の元のフィールド 新しいフィールドの制約条件。テーブルの名前が変更されても、データ自体は変更されません。したがって、外国人による命名は依然として厳しく禁止されていることがわかります。
テーブル名の削除:
テーブルのテーブル名を変更します。
テーブルを削除するとき。テーブルに外部キーがある場合、エラーが報告されます。なぜ?皆さん、考えてみてください。
もちろん、テーブルを削除しても、myisam ストレージ エンジンにエラーは報告されません。これが理由です?
以上は、テーブル構造の追加、削除、変更、確認に関する Mysql 学習メモ (2) の内容です。その他の関連コンテンツについては、PHP 中国語 Web サイト (www.php.cn) に注目してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











ビッグ データ構造の処理スキル: チャンキング: データ セットを分割してチャンクに処理し、メモリ消費を削減します。ジェネレーター: データ セット全体をロードせずにデータ項目を 1 つずつ生成します。無制限のデータ セットに適しています。ストリーミング: ファイルやクエリ結果を 1 行ずつ読み取ります。大きなファイルやリモート データに適しています。外部ストレージ: 非常に大規模なデータ セットの場合は、データをデータベースまたは NoSQL に保存します。

MySQL クエリのパフォーマンスは、検索時間を線形の複雑さから対数の複雑さまで短縮するインデックスを構築することで最適化できます。 PreparedStatement を使用して SQL インジェクションを防止し、クエリのパフォーマンスを向上させます。クエリ結果を制限し、サーバーによって処理されるデータ量を削減します。適切な結合タイプの使用、インデックスの作成、サブクエリの使用の検討など、結合クエリを最適化します。クエリを分析してボトルネックを特定し、キャッシュを使用してデータベースの負荷を軽減し、オーバーヘッドを最小限に抑えます。

PHP で MySQL データベースをバックアップおよび復元するには、次の手順を実行します。 データベースをバックアップします。 mysqldump コマンドを使用して、データベースを SQL ファイルにダンプします。データベースの復元: mysql コマンドを使用して、SQL ファイルからデータベースを復元します。

MySQLテーブルにデータを挿入するにはどうすればよいですか?データベースに接続する: mysqli を使用してデータベースへの接続を確立します。 SQL クエリを準備します。挿入する列と値を指定する INSERT ステートメントを作成します。クエリの実行: query() メソッドを使用して挿入クエリを実行します。成功すると、確認メッセージが出力されます。

MySQL 8.4 (2024 年時点の最新の LTS リリース) で導入された主な変更の 1 つは、「MySQL Native Password」プラグインがデフォルトで有効ではなくなったことです。さらに、MySQL 9.0 ではこのプラグインが完全に削除されています。 この変更は PHP および他のアプリに影響します

PHP で MySQL ストアド プロシージャを使用するには: PDO または MySQLi 拡張機能を使用して、MySQL データベースに接続します。ストアド プロシージャを呼び出すステートメントを準備します。ストアド プロシージャを実行します。結果セットを処理します (ストアド プロシージャが結果を返す場合)。データベース接続を閉じます。

PHP を使用して MySQL テーブルを作成するには、次の手順が必要です。 データベースに接続します。データベースが存在しない場合は作成します。データベースを選択します。テーブルを作成します。クエリを実行します。接続を閉じます。

Oracle データベースと MySQL はどちらもリレーショナル モデルに基づいたデータベースですが、Oracle は互換性、スケーラビリティ、データ型、セキュリティの点で優れており、MySQL は速度と柔軟性に重点を置いており、小規模から中規模のデータ セットに適しています。 ① Oracle は幅広いデータ型を提供し、② 高度なセキュリティ機能を提供し、③ エンタープライズレベルのアプリケーションに適しています。① MySQL は NoSQL データ型をサポートし、② セキュリティ対策が少なく、③ 小規模から中規模のアプリケーションに適しています。
