MySQL初心者のための基本操作のまとめ

MySQL初心者のための基本操作のまとめ

図書館運営

クエリ

1.SHOW DATABASE; ----すべてのデータベースを照会する

2. SHOW CREATE DATABASE データベース名; ----データベースの作成モードを照会する

3.SHOW CREATE DATABASE xxx; ----xxxデータベースの作成モードを照会する

作成する

1.CREATE DATABASE データベース名; ----データベースを作成する 注意: 既存のデータベースを作成することはできません

2.CREATE DATABASE IS NOT EXISTS データベース名; ---- データベースが存在するかどうかを確認し、存在しない場合は作成します

3.CREATE DATABASE データベース名 CHARACTER SET 文字セット名; ----データベースを作成し、文字セットを指定します。通常はutf-8を使用します。

改訂

ALTER DATABASE データベース名 CHARACTER SET 文字セット名; ----データベースの文字セットを変更します

消去

1.DROP DATABASE データベース名; ---- データベースを削除する

2.DROP DATABASE IS EXISTS データベース名; ----まず存在するかどうかを確認し、削除します

使用

SELETE DATABASE (); ----現在使用中のデータベースを照会する

USE データベース名; ----指定されたデータベースを使用する

テーブル構造

テーブルクエリ

1.SHOW TABLES; ----データベース内のすべてのテーブルをクエリします

2.DESC テーブル名; ----指定されたテーブルの構造を表示します

3. SHOW TABLE STATUS FROM library name LIKE 'table name'; ----クエリテーブル文字セット(likeは特別な場合を除き「=」と同等です)

テーブルを作成

CREATE TABLE テーブル名(
列名 1 データ型 1 制約、
列名 2 データ型 2 制約、

列名 n データ型 n 制約
);

int: 整数型

  • 年齢 int

double: 小数型

  • スコアダブル(5,2)
  • 価格2倍

date: 日付。年、月、日のみを含む yyyy-MM-dd

datetime: 年、月、日、時、分、秒を含む日付 yyyy-MM-dd HH:mm:ss

タイムスタンプ: タイムスタンプタイプには、年、月、日、時、分、秒が含まれます yyyy-MM-dd HH:mm:ss

  • 将来このフィールドに値を割り当てない場合、または null 値を割り当てる場合は、デフォルトで現在のシステム時間を使用して値が自動的に割り当てられます。

varchar: 文字列

  • name varchar(20): 名前の最大長は20文字です
  • 張山 8文字 張山 2文字

CREATE TABLE 作成するテーブルの名前 LIKE コピーするテーブルの名前 ---- テーブルをコピーする

テーブルの変更

1. ALTER TABLE テーブル名 RENAME TO 新しいテーブル名; ----テーブル名を変更する

2. ALTER TABLE テーブル名 CHARACTER SET 文字セット名; ----テーブルの文字セットを変更する

**3.**ALTER TABLE テーブル名 ADD 列名 データ型; ----新しい列を追加します

4. ALTER TABLE テーブル名 MODIFY 列名 新しい列名 新しいデータ型; ----新しい列名とデータ型を変更します

テーブル内の削除操作

1.DROP TABLE テーブル名; ---- テーブルを削除する

2.ALTER TABLE テーブル名 DROP 列名; ---- 列を削除する

テーブルにデータを追加する - INSERT ステートメント

1. INSERT INTO テーブル名 (列名 1、列名 2、...) VALUES (値 1、値 2、...); ---- テーブルにデータを追加します

2.SELECT * FROM product; ----テーブル内のすべてのデータを表示する

3. INSERT INTO テーブル名 VALUES (値 1、値 2、値 3、...); ---- デフォルトですべての列にデータを追加します

4. INSERT INTO テーブル名 VALUES (値 1、値 2、値 3、...)、(値 1、値 2、値 3、...)、(値 1、値 2、値 3、...); ---- データを一括追加

注記:

  • 列名と値の数およびデータ型は一致している必要があります
  • 数値型を除き、他のデータ型のデータは引用符で囲む必要があります(一重引用符または二重引用符は許容されますが、一重引用符が推奨されます)

テーブル内のデータを変更する -updata

テーブル名を更新し、列名 1 = 値 1、列名 2 = 値 2、… [条件] を設定します。
注記:

  • 変更ステートメントに条件を追加する必要があります。条件を追加しないと、すべてのデータが変更されます。

テーブルからデータを削除する - 削除

DELETE FROM テーブル名 [WHERE 条件];

注記:

  • データを変更するのと同じである

単一テーブルクエリ

クエリ構文:

テーブル名リストからフィールドリストを選択、条件リストをグループ化、グループ化後の条件を持つフィールドをグループ化、並べ替え制限、ページング制限

SELECT 列名 1, 列名 2, ... FROM テーブル名; ---- 複数フィールドクエリ

SELECT DISTINCT 列名 1、列名 2、... FROM テーブル名; ----重複の削除。ただし、クエリ内のすべての列が繰り返される場合にのみ、重複の削除が実行されます。

SELECT 列名 1 演算子 (+ - * /) 列名 2 FROM テーブル名; ---- 四則演算

SELECT 列名 1, 列名 2, ... AS alias FROM テーブル名; ----as はエイリアスを作成するために使用され、シンプルで理解しやすいです

条件付きクエリ

状態分類

シンボル関数
>より大きい
<未満
>=より大きいか等しい
<=以下
=等しい
<> または !=等しくない
…と…の間特定の範囲内(含む)
で(…)複数選択
いいねプレースホルダーあいまいクエリ_任意の 1 文字%任意の複数の文字
NULLですNULLです
NULLではないNULLではない
AND または &&そして
またはまたは||または
または !いいえ、違います

集計関数

関数名とその機能

関数名関数
count(列名)アイテムの数を数える(通常はnullでない列を使用する)
max(列名)最大
min(列名)最小
sum(列名)
avg(列名)平均値

集計関数の構文

-- 標準構文 SELECT 関数名 (列名) FROM テーブル名 [WHERE 条件];

-- 製品テーブル内のレコードの合計数を計算します。SELECT COUNT(*) FROM product;

-- 最高価格を取得します。SELECT MAX(price) FROM product;
-- 最も価格の高い製品の名前を取得します。SELECT NAME,price FROM product WHERE price = (SELECT MAX(price) FROM product);

-- 最小在庫を取得します。SELECT MIN(stock) FROM product;
-- 在庫が最も少ない製品の名前を取得します。SELECT NAME,stock FROM product WHERE stock = (SELECT MIN(stock) FROM product);

-- 合計在庫数量を取得します。SELECT SUM(stock) FROM product;
-- Apple ブランドの総在庫数を取得します。SELECT SUM(stock) FROM product WHERE brand='Apple';

-- ブランド Xiaomi の製品の平均価格を取得します。SELECT AVG(price) FROM product WHERE brand='小米';

並べ替えクエリ

分類

キーワード関数
ORDER BY 列名 1 ソート方法 1、列名 2 ソート方法 2指定した列をASC昇順(デフォルト)またはDESC降順で並べ替えます。

- 注意: 複数のソート条件の場合、2番目の条件は現在の側の条件値が同じ場合にのみ評価されます。

ソート構文

-- 標準構文 SELECT 列名 FROM テーブル名 [WHERE 条件] ORDER BY 列名 1 ソート方法 1、列名 2 ソート方法 2;

-- 在庫の昇順で並べ替え SELECT * FROM product ORDER BY stock ASC;

グループクエリ

-- 標準構文 SELECT 列名 FROM テーブル名 [WHERE 条件] GROUP BY グループ化列名 [HAVING 条件 グループ化後のフィルタリング] [ORDER BY ソート列名 ソート方法];

ページネーションクエリ

-- 標準構文 SELECT 列名 FROM テーブル名 [WHERE 条件] GROUP BY グループ化列名 [HAVING グループ化後のフィルタ条件] [ORDER BY ソート列名 ソート方法] LIMIT 開始インデックス、クエリ番号;
-- 計算式: 開始インデックス = (現在のページ番号 - 1) * 1 ページあたりに表示される項目数

制約

1. 制約の概念と分類

制約の概念

  • データの正確性、有効性、完全性を確保するために、テーブル内のデータを制限してください。

制約の分類

制約例示する
主キー主キー制約
主キーの自動増分主キー、自動増分
個性的ユニーク制約
NULLではない非 Null 制約
外部キー外部キー制約
更新カスケードの外部キー外部キーカスケード更新
削除カスケードの外部キー外部キーカスケード削除

2. 主キー制約

主キー制約の特性

  • 主キー制約には、空でないと一意の2つの機能が含まれています。
  • テーブルには主キーとして1つの列しか持てません
  • 主キーは通常、テーブル内のデータを一意に識別するために使用されます。

テーブルを作成するときに主キー制約を追加する

-- 標準構文 CREATE TABLE テーブル名 (
	列名 データ型 PRIMARY KEY、
    列名データ型、
    ...
);

-- 学生テーブルを作成する CREATE TABLE student(
	id INT PRIMARY KEY -- id に主キー制約を追加します);

-- データを追加する INSERT INTO student VALUES (1),(2);
-- 主キーはデフォルトで一意です。重複データが追加されると、エラーが報告されます。INSERT INTO student VALUES (2);
-- 主キーはデフォルトでは空ではないため、null データを追加することはできません。INSERT INTO student VALUES (NULL);

-- 学生テーブルをクエリします SELECT * FROM student;
-- 学生テーブルの詳細を照会します。DESC student;

主キーの削除

-- 標準構文 ALTER TABLE テーブル名 DROP PRIMARY KEY;

-- 主キーを削除します。ALTER TABLE student DROP PRIMARY KEY;

テーブルを作成した後、主キーを別途追加する

-- 標準構文 ALTER TABLE テーブル名 MODIFY 列名 データ型 PRIMARY KEY;

-- 主キーを追加します。ALTER TABLE student MODIFY id INT PRIMARY KEY;

3. 主キーの自動増加制約

テーブルを作成するときに主キーの自動増分制約を追加する

-- 標準構文 CREATE TABLE テーブル名 (
	列名 データ型 PRIMARY KEY AUTO_INCREMENT、
    列名データ型、
    ...
);

-- 学生2テーブルを作成する CREATE TABLE 学生2(
	id INT PRIMARY KEY AUTO_INCREMENT -- id に主キーの自動増分制約を追加します。

-- データを追加する INSERT INTO student2 VALUES (1),(2);
-- null 値を追加すると、INSERT INTO student2 VALUES (NULL), (NULL); が自動的に増加します。

-- student2 テーブルをクエリします SELECT * FROM student2;
-- Student2 テーブルの詳細 DESC student2;

自動拡張を削除

-- 標準構文 ALTER TABLE テーブル名 MODIFY 列名 データ型;

-- 自動増加を削除します ALTER TABLE student2 MODIFY id INT;

テーブルを作成した後、自動拡張を別途追加する

-- 標準構文 ALTER TABLE テーブル名 MODIFY 列名 データ型 AUTO_INCREMENT;

-- 自動拡張を追加する ALTER TABLE student2 MODIFY id INT AUTO_INCREMENT;

4. ユニーク制約

テーブルを作成するときに一意の制約を追加する

-- 標準構文 CREATE TABLE テーブル名 (
	列名データ型UNIQUE、
    列名データ型、
    ...
);

-- student3 テーブルを作成する CREATE TABLE student3(
	id INT 主キー AUTO_INCREMENT、
	tel VARCHAR(20) UNIQUE -- tel列に一意制約を追加します);

-- データを追加します INSERT INTO student3 VALUES (NULL,'18888888888'),(NULL,'186666666666');
-- 重複データを追加するとエラーが発生します INSERT INTO student3 VALUES (NULL,'18666666666');

-- student3 データ テーブルをクエリします SELECT * FROM student3;
-- Student3 テーブルの詳細 DESC student3;

ユニーク制約の削除

-- 標準構文 ALTER TABLE テーブル名 DROP INDEX 列名;

-- 一意制約を削除します。 ALTER TABLE student3 DROP INDEX tel;

テーブルを作成した後、一意制約を追加します

-- 標準構文 ALTER TABLE テーブル名 MODIFY 列名 データ型 UNIQUE;

-- 一意制約を追加します ALTER TABLE student3 MODIFY tel VARCHAR(20) UNIQUE;

5. 非NULL制約

テーブルを作成するときに非NULL制約を追加する

-- 標準構文 CREATE TABLE テーブル名 (
	列名データ型NOT NULL、
    列名データ型、
    ...
);

-- student4 テーブルを作成する CREATE TABLE student4(
	id INT 主キー AUTO_INCREMENT、
	NAME VARCHAR(20) NOT NULL -- 名前に非NULL制約を追加します。

-- データを追加します INSERT INTO student4 VALUES (NULL,'张三'),(NULL,'李四');
-- NULL 値を追加するとエラーが発生します INSERT INTO student4 VALUES (NULL,NULL);

非NULL制約を削除する

-- 標準構文 ALTER TABLE テーブル名 MODIFY 列名 データ型;

-- 非NULL制約を削除します。ALTER TABLE student4 MODIFY NAME VARCHAR(20);

テーブルを作成した後、非NULL制約を追加します。

 -- 標準構文 ALTER TABLE テーブル名 MODIFY 列名 データ型 NOT NULL
 
 -- 非NULL制約を追加します。ALTER TABLE student4 MODIFY NAME VARCHAR(20) NOT NULL;

外部キー制約

外部キー制約の形式(通常はテーブル作成の最後に記述されます)

制約 外部キー名 FOREIGN KEY (このテーブルの外部キー列の名前) 参照 プライマリテーブル名 (プライマリテーブルのプライマリキー列の名前)

要約する

これでMySQL初心者向けの基本操作に関する記事は終了です。MySQLの基本操作の詳細については、123WORDPRESS.COMの過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも123WORDPRESS.COMをよろしくお願いいたします。

以下もご興味があるかもしれません:
  • MySQL 初心者ガイド - クイックリファレンス
  • MySQL 入門 - 概念
  • MySQL 入門 - SQL 実行プロセス

<<:  React ルーティング リンク構成の詳細

>>:  Dockerはローカルイメージとコンテナの保存場所を設定します

推薦する

mysql コマンドライン スクリプトの実行例

この記事では、例を使用して MySQL コマンドライン スクリプトの実行について説明します。ご参考ま...

純粋な CSS でマークダウンの自動番号付けを実装するサンプル コード

問題の起源私がタイトルの番号付けの問題に初めて注目したのは、学部の論文を書いていた頃まで遡ります。当...

nginx が動的と静的の分離を実装する方法の例

目次server1にnginxをデプロイするサーバーにlnmpを展開するノード3にhttpdをデプロ...

Vue はネストされたルーティングメソッドの例を実装します

1. ネストされたルーティングはサブルーティングとも呼ばれます。実際のアプリケーションでは、通常、ネ...

VueはElement el-uploadコンポーネントを使用してピットに足を踏み入れます

目次1. 基本的な使い方2. 画像量の制御3. 画像形式の制限/複数の画像を選択可能補足: vueプ...

mysql 一時テーブルの使用状況の分析 [クエリ結果は一時テーブルに保存できます]

この記事では、例を使用して MySQL 一時テーブルの使用方法を説明します。ご参考までに、詳細は以下...

Mysql は null 値の first/last メソッドの例を実装します

序文MySQL が SQL SELECT コマンドと WHERE 句を使用してテーブルからデータを読...

mysql エラー 1033 を解決する方法: ファイル内の情報が正しくありません: 'xxx.frm'

問題の説明1. 収集ステーションのデータベース2. データが無い状態での移動は問題ありませんが、デー...

IDEA の Docker プラグインを介して SpringBoot プロジェクトをデプロイするプロセスの詳細な説明

1. Dockerリモート接続ポートを設定するサーバー上の docker.service ファイルを...

Vue3.0 は虫眼鏡効果のケーススタディを実装します

達成される効果は、固定ズームが 2 倍になり、マウスが左側の画像領域に入るとマスク レイヤーが表示さ...

CSS は Apple のスムーズなスイッチ ボタン効果を模倣します

目次1. コード分析2. ソースコードソースコード1. コード分析1.1 HTMLコード分析 <...

CSS3はグラフィックの落下アニメーション効果を実現します

まずは効果を確認実装コード <div class="box box1"&g...

Vue ページレンダリングにおけるキーの適用例チュートリアル

導入フロントエンドプロジェクトの開発プロセスでは、el-table によって表示される結果列がコンポ...

MySQLリモート接続を有効にする方法

セキュリティ上の理由から、MySql-Server はローカル マシン (localhost、127...

HTML ウェブページ作成のための 8 つの強力なテクニック

<br />作業を簡単に完了できる Web ページ作成ツールは数多くありますが、HTML...