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 実装例

推薦する

JavaScriptのvar let constの違いは何ですか?

目次1. 繰り返し宣言1.1 変数1.2 しましょう1.3 定数2. 可変プロモーション2.1 変数...

アプレットにおけるwx.getUserProfileインターフェースの具体的な使用

最近、WeChatミニプログラムは、監査ミニプログラムのwx.loginおよびwx.getUserI...

Vueプラグインの実装で発生した問題の概要

目次シーン紹介プラグインの実装問題1: 重複したヘッダーコンポーネント質問2: 別の実装アイデア質問...

Vueでドラッグ可能なコンポーネントを実装する方法

この記事では、Vueでドラッグ可能なコンポーネントとドラッグ可能なコンポーネントを実装する方法を参考...

HTMLテキスト内のすべてのタグを置き換える方法

(?i) は大文字と小文字を区別しないことを意味します。大文字と小文字をすべて置き換えます。 htm...

nginx で複数のフロントエンド プロジェクトをデプロイするいくつかの方法

nginx を使用して 1 つのサーバーに複数のフロントエンド プロジェクトをデプロイする 3 つの...

Nginx をベースに特定の IP への短期アクセス数を制限する

特定の期間内に特定の IP へのアクセス回数を制限する方法は、特に悪意のある DDOS 攻撃に直面し...

CSS は Google マテリアル デザインのテキスト入力ボックス スタイルを実装します (推奨)

みなさんこんにちは。今日は、純粋な CSS を使用して Google マテリアル デザインのテキスト...

nginx を使用して同じドメイン名で複数の Vue プロジェクトをデプロイし、リバース プロキシを使用する方法

効果現在、プロジェクトは2つ(project1、project2)あり、nginxに付属するinde...

IE6/IE7/IE8/IE9/FF 向け CSS ハック (概要)

IE8.0の正式版をインストールしたので、基本的なCSS HACKをいくつかまとめてみました。We...

Firefox の CSS を使用してデータを盗む

0x00 はじめに数か月前、Firefox に脆弱性 (CVE-2019-17016) があること...

MySQLのスペースをクリーンアップするいくつかの具体的な方法

目次序文1. ファイルのディスク使用量を確認する1.1 ディスク容量の使用状況を確認する1.2 ディ...

マージンの重複問題を解決する方法

1. まず、2つ以上の隣接する通常フローブロック要素の垂直マージンの崩壊を引き起こす原因を知る必要が...

Vueは3階層メニューを再帰的に実装する

この記事の例では、3階層メニューを再帰的に実装するVueの具体的なコードを参考までに共有しています。...

nginx でネストされた if メソッドを実装する方法

Nginx はネストされた if ステートメントをサポートしておらず、if ステートメントでの論理判...