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

推薦する

JSはカード配布アニメーションを実現します

この記事の例では、カード配布アニメーションを実装するためのJSの具体的なコードを参考までに共有してい...

dl、dt、dd はいつ使用するのが適切ですか?

dl:定義一覧定義リストdt:定義タイトルタイトルを定義するdd:定義説明定義の説明dt は情報のタ...

lnmp を使用して MySQL データベースのルート パスワードをリセットする 2 つの方法

最初の方法: Junge のワンクリック スクリプトを使用して、LNMP 環境で MYSQL データ...

動的テーブルを実装するための要素サンプルコード

目次【コード背景】 【コード実装】 #1# -> コード再利用の基本は、再利用可能なコンポーネ...

CSS3 border-radius 丸角の実装方法と使い方の詳しい説明

以前は、角を丸くするのは非常に面倒でしたが、CSS3 では、角を丸くするのは非常に簡単になり、bor...

MySQL 5.7.23 解凍バージョンのインストールチュートリアル(画像とテキスト付き)

毎回インストールチュートリアルを探すのは面倒なので、後で確認できるように手順をバックアップします。解...

Docker データ ストレージ ボリュームの詳細な説明

デフォルトでは、コンテナ データの読み取りと書き込みはコンテナのストレージ レイヤーで行われます。コ...

MySQLデータクエリが多すぎるとOOMが発生するかどうかについての簡単な議論

目次サーバー層でのフルテーブルスキャンの影響InnoDB におけるフルテーブルスキャンの影響Inno...

Vue カスタム オプション時間カレンダー コンポーネント

この記事の例では、参考のためにvueカスタムオプションタイムカレンダーコンポーネントの具体的なコード...

HTML ページジャンプのパラメータ渡しの問題

効果は以下のとおりです。ページジャンプボタンをクリックした後 対応する値はページ b で取得できます...

40以上の美しいWebフォームデザイン例

Web フォームは、訪問者と Web サイト所有者間の主要なコミュニケーション チャネルです。フィー...

JavaScript の条件付きアクセス属性と矢印関数の紹介

目次1. 条件付きアクセス属性2. アロー関数の紹介1. 条件付きアクセス属性?. は ES2020...

vue-router 履歴モード サーバー側設定プロセス記録

歴史ルート履歴モードとは、HTML5 の履歴 API を使用してクライアント側ルーティングを実装する...

Linux でマウントされたファイルシステムの種類を表示する方法

序文ご存知のとおり、Linux は ext4、ext3、ext2、sysfs、securityfs、...

PIP で docker-compose をインストールする際のタイムアウト問題の解決方法

1: インストールコマンドpip install docker-compose例外情報socket....