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はローカルイメージとコンテナの保存場所を設定します

推薦する

Navicat For MySQL の使い方に関する簡単なチュートリアル

推薦する: Navicat for MySQL 15 登録とアクティベーションの詳細なチュートリアル...

MySQL の準同期レプリケーションについての簡単な説明

導入MySQL はレプリケーションを通じてストレージ システムの高可用性を実現します。現在、MySQ...

Ubuntu 16.04/18.04 に Pycharm と Ipython をインストールするチュートリアル

Ubuntu 18.04の場合1. sudo apt install python 。コマンドライン...

ウェブサイト制作におけるオンライン広告の新しいインタラクティブ体験(グラフィックチュートリアル)

インターネット時代が成熟するにつれて、オンライン広告の発展も加速しています。圧倒的な広告収入と完璧な...

CSS3 境界効果

CSSとは# CSS (Cascading Style Sheets の略) は、「カスケーディング...

LinuxにNginxをインストールする詳細な手順

1. Nginxのインストール手順1.1 公式サイトの紹介http://nginx.org/en/d...

jsは多次元配列を1次元配列に変換し、それを並べ替えます

目次まず多次元配列の平坦化についてお話しましょう方法 1: flat()方法 2: 空の文字列を連結...

MySQL のストアド プロシージャを使用して 100 万件のレコードをすばやく生成する方法

序文テストを行う際、大量のデータによる負荷に耐えるプロジェクトの能力をテストするために、通常はテスト...

JavaScript の組み込み Date オブジェクトの詳細な説明

目次日付オブジェクト日付オブジェクトの作成新しい日付()日付を取得する()取得日()月を取得する()...

CSS における zoom:1 属性の定義と機能

今日、CSS の zoom 属性は何のために使用されるのかと尋ねられました。この属性は、フローティン...

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

MySQL 8.0.21のインストールと設定方法を記録してみんなで共有します。 1. ダウンロード1...

表 td 画像水平および垂直中央揃えコード

HTMLコード:コードをコピーコードは次のとおりです。 <td align="cen...

jQueryは検証コード送信のコントロールボタンを無効にする機能を実装します

必要な効果: 確認コードを送信するためにクリックした後、ボタンは無効になり、5 秒後に無効解除されま...

CSS3 の新しいレイアウト: flex の詳細な説明

Flexの基本概念フレックス レイアウト (フレックスはフレキシブル ボックスの略)、エラスティック...