MySQLデータベースの基礎知識と操作のまとめ

MySQLデータベースの基礎知識と操作のまとめ

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

データベース

1. データテーブルを変更する

列を追加します:

ALTERTABLE tab_name ADD col_name column_defi[FIRST|AFTER col_name];

新しい列の位置を、先頭 (FIRST) または列の後 (AFTER...) に指定できます。指定しない場合は、新しい列はデフォルトで末尾に配置されます。

複数の列を追加します。

ALTERTABLE tab_name ADD (col_name1 column_defi1, col_name2 column_defi2 ...);

列を削除します。

ALTERTABLE tab_name DROP col_name;

複数の列を削除したり、削除した後に新しい列を追加したりするには、drop col_name の後にカンマを追加し、drop/add と記述します。

制約を追加します:

ALTERTABLE tab_name ADD PRIMARY KEY (index_column);

主キーは、UNIQUE や FOREIGN KEY などの他の制約に置き換えることができ、デフォルトの制約は SET DEFAULT です。

制約を削除するには:

ALTERTABLE tab_name DROP {INDEX|KEY} index_name

外部キーを削除するには:

ALTER TABLE tab_name DROP FOREIGN KEY fkey_name

外部キー制約名fkey_nameは、show create table tab_name;で制約項目を表示することで取得できます。たとえば、

制約 `users_ibfk_1` 外部キー (`pid`) 参照

列の定義を変更します。

ALTERTABLE tab_name MODIFY col_name col_defi;

列名を変更します。

ALTERTABLE tab_name CHANGE old_colname new_name col_defi;

データ テーブル名を変更します。

古い名前を新しい名前に名前変更します。

2. データテーブル操作

レコードを挿入します:

INSERT tab_name[(col_name)] VALUES (val1,val2...)

列名はオプションです。列名を設定しない場合は、デフォルトで各列が挿入されます。 2 番目の挿入方法: INSERT tab_name SET col_name=val...3 番目の方法: insert tab_name select...、クエリ結果をデータ テーブルに挿入します。

更新ログ:

UPDATE tab_name SET col_name=val [WHERE 条件];

where 条件が入力されていない場合は、デフォルトですべてのレコードが更新されます。

レコードの削除:

DELETE FROM tab_name [WHERE 条件];

条件に一致するレコードを削除します。where を入力しない場合は、すべてのレコードが削除されます。

クエリレコード:

SELECT col_name1,col_name2... /*クエリする列名を選択してください*/

FROM tab_name/*クエリするデータテーブルを選択*/

WHERE 条件/*クエリ条件*/

GROUP BY col_name [ASC|DESC]/*クエリ結果のグループ化*/

HAVING条件/*クエリグループをフィルタリング*/

ORDER BY col_name[asc|desc]/*クエリ結果を行で並べ替える*/

LIMIT [n1,]n2/*n1からn2の結果を返します。n1が入力されていない場合は、デフォルトで最初から返されます*/

3. サブクエリ

親クエリとサブクエリは比較記号で接続されます。サブクエリが複数の結果を返す場合、結果は ANY または ALL で変更できます。

複数テーブルの更新: 別のテーブルを参照してこのテーブルを更新します。

内部結合: INNERJOIN ON join_condition 、左側と右側のテーブル内の条件を満たす項目を返します。

左外部結合: LEFTJOIN ON join_conditionは、右側のテーブルの条件を満たす左側のテーブル内のすべての項目を返します。

左外部結合: RIGHT JOIN ON join_conditionは、左側のテーブルの条件を満たす右側のテーブル内のすべての項目を返します。

4. データベース機能

CONCAT('a','b'...)

複数の文字列aとbを連結する

CONCAT_WS('s','a','b'…)

複数の文字列を接続するには、sをコネクタとして使用します。

フォーマット(f,n)

数値 f を n 桁の小数点付きで表示する

下側()/上側()

コンテンツを小文字/大文字に変換する

左/右('s',n)

文字列の左/右の最初のn文字を取得します。

長さ()

文字列の長さを取得する

LTRIM/RTRIM/TRIM()

文字列の左/右/両側のスペースを削除します

REPLACE('s','a','b')

文字列sの文字aを文字bに置き換える

部分文字列('s',n,e)

文字列のn番目の位置からe文字を抽出します。

NULLです

空の

n IN(a,b,c…)

nがリストされた値の中にあるかどうかを判定する

n aとbの間

nがaとbの間にあるかどうかを判定する

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

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

以下もご興味があるかもしれません:
  • PHP の基本: MySQL データベースへの接続とデータのクエリ
  • PHP で MySQL データベースに接続して操作する基本的なチュートリアル
  • MySQL 基本データベース作成
  • MySQLデータベースを操作するためのPHP5基本コード
  • MySQL 8.0.15 インストール グラフィック チュートリアルとデータベースの基礎
  • MySQL データベースの基本コマンド (コレクション)
  • 非常に包括的なMysqlデータベース、データベーステーブル、データの基本操作メモ(コードを含む)
  • MySQL データベースの基本ノート
  • Python トピック 9 MySQL データベース プログラミングの基礎知識
  • MySQL データベースの基礎を始めるための一般的なコマンドの概要
  • MySQL データベースの基礎: 基本コマンドの概要
  • MySqlデータベースの基礎知識のまとめ

<<:  Nginxはドメイン名のアクセス方法を定義しています

>>:  Google Recaptcha 認証を使用した Vue 実装例

推薦する

Clickhouse Docker クラスターの展開と構成を例を使って説明します

目次前面に書かれた環境の展開Zookeeper クラスタの展開Clickhouse クラスターの展開...

Windows での MySQL 8.0.16 のインストールと設定方法のグラフィック チュートリアル

この記事は、参考のためにMySQL 8.0.16のインストールグラフィックチュートリアルを記録してい...

入力タイプの制限(複数の方法)

1. 入力・貼り付けできるのは中国語のみ<input onkeyup="value=...

JSの高階関数5つを共有する

目次1. はじめに2. 再帰3. コールバック関数3.1 匿名コールバック関数3.2 パラメータ付き...

MySQL データベースの最適化に関する 9 つのヒント

目次1. 最も適切なフィールド属性を選択する2. フィールドをNOT NULLに設定してみる3. サ...

Vue で eslint 検出をオフにする方法 (複数の方法)

目次1. 問題の説明2. 問題解決1. 問題の説明Vue プロジェクトを開発する場合、作成時に誤って...

コメント付きのスネークゲームを実装する js

この記事の例では、スネークゲームを実装するためのjsの具体的なコードを参考までに共有しています。具体...

Docker で php-nginx-alpine イメージをゼロから構築する方法

これまでにも Docker 環境でいくつかのプロジェクトを実行したことはありますが、まだイメージをよ...

MySQL ストアド プロシージャの概念、原則、一般的な使用法の詳細な説明

この記事では、例を使用して、MySQL ストアド プロシージャの概念、原則、および一般的な使用法につ...

Nginx プロキシ axios リクエストと注意事項

序文最近、小さなデモを作成しました。大規模な工場のオンライン データを使用したため、インターフェイス...

mysql 10進データ型変換の実装

最近、次のデータ型のデータベースに遭遇しました:decimal(14,4)発生した問題は次のとおりで...

Web フォントの読み込みを最適化する方法をご存知ですか?

タイトル通りです!一般的に使用される font-family はブラウザの組み込みフォントを読み込み...

Windows で virtualenv を使用して仮想環境を作成する方法 (2 つの方法)

オペレーティング システム: windows10_x64 Python バージョン: 3.6.8仮想...

HTML 背景画像と背景色_PowerNode Java アカデミー

1. HTML 画像 <img> 1. <img> タグとその src 属性...

CSS フレキシブルレイアウト FLEX、メディアクエリ、モバイルクリックイベントの実装

フレックスレイアウト定義: Flexレイアウトの要素は、 Flex 、または略して「コンテナー」と呼...