MySQL データベースの一般的な基本操作の分析 [データベースの作成、表示、変更、削除]

MySQL データベースの一般的な基本操作の分析 [データベースの作成、表示、変更、削除]

この記事では、例を使用して、MySQL データベースの一般的な基本操作について説明します。ご参考までに、詳細は以下の通りです。

このセクションに関連するもの:

  • データベースを作成する
  • データベースを表示
  • データベースを変更する
  • データベースの削除

初回公開日時: 2018-02-13 20:47

改訂:

  1. 2018-04-07: 正規化を考慮して、構文内のすべての「キーワード」を大文字に変更しました。また、「MySQL Learning Road」の整理により、文字セットと照合セットの問題が削除され、新しいブログ投稿に掲載されました。

データベースを作成します。

文法 :

CREATE DATABASE データベース名 [データベース オプション];

ライブラリオプションの説明:

  • library オプションはオプションであり、省略できます。グローバリゼーションとローカリゼーションを考慮しない場合 (たとえば、中国語互換性を考慮する場合)、library オプションなしでコマンドを直接使用できます。 image
  • ライブラリ オプションには、文字セットと照合セットの 2 つがあります。 また、照合セットは通常、文字セットと一緒に使用されるため、照合を詳細に設定しない場合は、照合セットの設定を無視できます。
  • データベース オプションの文字セットは、データベースがデータを認識または保存するために使用する文字セットです。一般的に使用される文字セットは utf8 と gbk です。
  • ライブラリ オプションの照合セットは、データベースがデータを照合するときに使用する照合セットです [データは照合セットのルールに従って照合されます。たとえば、一部の照合セットでは大文字と小文字が区別されません]。
  • データベースの作成時にライブラリ オプションを指定しない場合は、デフォルトのライブラリ オプションが使用されます。

使用例:

school_infoデータベースを作成します。
データベース mydatabase を作成します。CHARSET utf8;

追加メモ:

  • 【このサービスの利用はお勧めできません。理由もなくトラブルを起こさないでください。 。 】データベース名には、database、delete などのキーワードや予約語は使用できません。構文が正しいのに作成に失敗する場合は、キーワードや予約語が使用されている可能性があります。キーワードや予約語を使用する必要がある場合は、` (TAB の上にあるキー) を使用してデータベース名を囲む必要がありますが、削除するときにも ` を追加する必要があります。

image

image

  • データベース名が中国語なので作成できません:
    • この問題は、クライアントとサーバー間の文字セットの一致の問題によって発生します。たとえば、サーバーはクライアントの文字セットが UTF8 (中国語の文字は 3 バイト) であると認識しますが、クライアントの文字セットは gbk (中国語の文字は 2 バイト) であると認識します。解決策は、サーバーが受け入れる文字セットをクライアントと同じ文字セットにすることです。
  • もう 1 つの問題は、サーバーが中国語を受信して​​クライアントに送信する際の表示の問題です。サーバーがクライアントに送信する際に使用する文字セットがクライアントの文字セットと同じである必要があります (クライアントが gbk で、サーバーが utf8 中国語を送信すると、クライアントにエラーが表示されます)。
    • 変更方法 1: クライアントが使用する文字セットの名前を設定します。[set names utf8 を実行して、3 つのパラメータ character_set_client、character_set_connection、character_set_results の値を utf8 に設定します]
    • 変更方法2: クライアントと結果の文字セットを一つずつ設定します。

image


データベースを表示します:

  • 既存のデータベースまたはデータベースの作成ステートメントを表示できます。
  • データベース作成ステートメントは、サーバーがこのデータベースを作成するために使用するすべてのステートメントです(たとえば、サーバーはデータベースの文字セットを構成します)。

文法:

-- すべてのデータベースを表示する SHOW DATABASES;

-- 条件を満たすデータベースを表示します。SHOW DATABASES LIKE 'fuzzy matching';

-- データベース作成ステートメントを表示します。
SHOW CREATE DATABASE データベース名;

あいまい一致:

あいまい一致では、ワイルドカードを使用してあいまい検索を実行します。

  • % は複数の任意の文字に一致することを表します。たとえば、%student は Astudent、ABCstudent、456student を検索します。
  • _ は任意の 1 文字に一致することを表します。たとえば、_student は Astudent、Cstudent、6student を検索します。
  • _ または % もデータベース名に含まれる文字である場合は、エスケープ文字 \ を使用する必要があります。そうでない場合、_ と % はワイルドカードと見なされます。
    • たとえば、database_student を検索する場合は、database\_%; を使用する必要があります。そうしないと、database_ のない databasedemo などのデータベースが見つかる可能性があります。

使用例:

データベースを表示;
'my%' のようなデータベースを表示します。
'my_'のようなデータベースを表示します。
SHOW CREATE DATABASE mydatabase;

データベースを変更します。

  • データベースの変更により、データベースライブラリのオプション(文字セットと照合セット)を変更できます。

文法:

データベースデータベース名を変更します[ライブラリオプション]。

使用例:

ALTER DATABASE mydatabase CHARSET utf8;
ALTER DATABASE mydatabase CHARACTER SET utf8;
ALTER DATABASE mydatabase CHARACTER SET = utf8;

追加メモ:

  • 照合セットは文字セットに依存します。通常、文字セットのみを変更すると、照合セットも変更されます。照合セットのみを変更すると、文字セットも変更されます。
  • 変更された照合が同じ文字セットに依存する場合、文字セットは変更されません。
  • 文字セットと照合セットの問題については、別のブログ投稿で説明します。

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

データベースを削除すると、データベース全体とそこに含まれるすべてのデータが削除されます。削除されたデータは復元できません。データベースの削除はリスクが伴うため、実行する場合は注意してください。

文法:

DROP DATABASE データベース名;

使用例:

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

MySQL 関連のコンテンツに興味のある読者は、このサイトの次のトピックをチェックしてください: 「MySQL クエリ スキル」、「MySQL トランザクション操作スキル」、「MySQL ストアド プロシージャ スキル」、「MySQL データベース ロック関連スキルの概要」、および「MySQL 共通関数の概要」

この記事が皆様のMySQLデータベース設計に役立つことを願っています。

以下もご興味があるかもしれません:
  • MySQL で大量のデータ (数千万) を素早く削除するためのいくつかの実用的なソリューションの詳細な説明
  • MySQL の重複データの処理方法 (防止と削除)
  • MySQL データベース操作 (作成、選択、削除)
  • MySQLはmysqldump+binlogを使用して、削除されたデータベースの原理分析を完全に復元します。
  • Linux は MySQL データベースのスケジュールされたバックアップを実装し、30 日以上前のバックアップ ファイルを削除します。
  • Linux は定期的に MySQL データベースをバックアップし、以前のバックアップ ファイルを削除します (推奨)
  • MySQL データを誤って削除した場合の簡単な解決策 (MySQL フラッシュバック ツール)
  • MySQL で期限切れのデータレコードを定期的に削除する簡単な方法
  • MySQL バイナリログデータ復旧: 誤ってデータベースを削除した場合の詳細な説明
  • データベースを削除せずにMySQLのすべてのテーブルを素早く削除する方法
  • MySQLデータベースを削除する2つの方法
  • MySQL でデータを削除してもテーブル ファイルのサイズが変更されないのはなぜですか?

<<:  Windows Server 2012 リモート デスクトップ ライセンス サーバーがライセンスを提供できず、リモート セッションが切断される

>>:  Vue で Openlayer を使用して読み込みアニメーション効果を実現する

推薦する

CocosCreatorの共通知識ポイントを整理する

目次1. シーンの読み込み2. ノードを見つける1. ノード検索2. その他のノード操作3. 再生ア...

Nginx でバージョン番号と Web ページのキャッシュ時間を非表示にする方法

Nginx の最適化 - バージョン番号と Web ページのキャッシュ時間を非表示にするバージョン番...

XHTML 入門チュートリアル: Web ページのヘッダーと DTD

ヘッドと DTD はページには表示されませんが、Web ページの重要な要素です。 なぜ失敗したのでし...

MySQL インストール プロンプト「詳細なヘルプについては NET HELPMSG 3534 と入力してください」の解決方法

今日、MySQL をインストールすると次のエラー メッセージが表示されます。 かなり長い時間ネットで...

CSS で順序付きリスト項目と順序なしリスト項目のスタイルを設定する方法

順序なしリストでは、順序なしリストのシンボルは各リストの前に表示されるドットです。順序付きリスト o...

Dockerイメージサイズを最適化する一般的な方法

通常、私たちが構築する Docker イメージはサイズが大きく、多くのディスク領域を占有します。コン...

MySQL データベースの文字化け問題の原因と解決策

序文データベースのデータを表示すると、文字化けした文字が表示されることがあります。実際、どのようなデ...

クエリプロファイラを使用して MySQL ステートメントの実行時間を表示する方法

前回の記事では、MySQL ステートメントの実行時間をチェックする 2 つの方法を紹介しました。今日...

Alibaba Cloud Centos7.X で外部にポートを開く方法

一言で言えば、大手メーカーからクラウド サーバーを購入する場合は、セキュリティ グループに移動して、...

nginxで静的リソースを公開する方法

ステップ準備した静的リソースファイルを指定されたフォルダに配置しますnginx 設定ファイルを変更す...

CSS3 で z-index が効かない問題の解決方法

最近、CSS3 と js の組み合わせを作成したのですが、z-index が有効にならないケースが多...

MySQL 自動インクリメント ID のオーバーサイズ問題のトラブルシューティングと解決策

導入Xiao A がコードを書いていたところ、DBA Xiao B が突然、「急いでユーザー固有情報...

Webフロントエンドスキル概要(個人の実務経験)

1. 今日、ページを作っているときに、矢印を中央に配置する効果に遭遇しました。クリック領域を大きくし...

MySQL の連結で複数の一重引用符と三重引用符を使用する際の問題

文字列を動的に連結する場合、文字連結を使用することが多いです。次のような連結の引用符の意味がわかりま...

MySql クライアントが数秒で終了する問題を解決する (my.ini が見つからない)

問題の説明 (環境: windows7、MySql8.0)今日、MySql をインストールした後、M...