Mysql データベースの基本と追加、削除、変更、クエリ操作

目次

1. データベースの基本概念

2. データベースの種類と一般的に使用されるデータベース

1. リレーショナルデータベース

2. 非リレーショナルデータベース

3. データベースのデータ型

4、SQL文

1 はじめに

2. 分類

5、SQL文の使用

1. データベースの操作

(1) データベースを作成する

編集

(2) データベースを確認する

(3) データベースを利用(入力)する

編集

(4) データベースを削除する

編集

2. データベーステーブルの操作

(1) データベース内のテーブルを参照する

(2) データベーステーブルの作成

(3) データベーステーブルの構造を確認する

(4) データベーステーブルを削除します。

(5) データベースのテーブル構造を変更する

3. テーブル内のデータ操作

(1) レコードの追加

(2) テーブル内のレコードをクエリする

(3) レコードの削除

(4) 変更履歴

6. データベーステーブルの高度な操作

1.テーブルを作成すると判断した場合

2. テーブルのクローンを作成する

3. テーブルの構造と詳細を表示する

4. テーブルの再構築(フォーマット)

5. 一時テーブルを作成する

6. 外部キー結合


1. データベースの基本概念

データ: 数字、テキスト、グラフィック、画像、音声、ファイルレコードなど、物事を説明する記号的な記録は、「レコード」の形式で統一された形式で保存されます。

テーブル: さまざまなレコードをまとめて特定のデータを保存します。

データベース: テーブルの集合はデータを格納するための倉庫であり、相互に関連するデータが一定の組織的な方法で格納された集合は、データ構造に従ってデータを整理、格納、管理するための倉庫です。

データベース管理システム(DBMS) : データベースリソースの効率的な編成、管理、アクセスを実現するシステムソフトウェアです。データベース構築・保守機能、データ定義機能、データ操作機能、データベース運用管理機能、通信機能。

データベースシステム: ハードウェア、OS、データベース、DBMS、アプリケーションソフトウェア、データベース利用者から構成されるマンマシンシステムであり、利用者はDBMSやアプリケーションプログラムを通じてデータベースを操作します。

2. データベースの種類と一般的に使用されるデータベース

1. リレーショナルデータベース

リレーショナル データベース システムは、リレーショナル モデルに基づいたデータベース システムです。

リレーショナルモデルのデータ構造は分かりやすい2次元データテーブルを採用

  • 各行レコードと呼ばれ、オブジェクトの情報を記述するために使用されます。
  • 列はフィールドと呼ばれ、オブジェクトのプロパティを記述するために使用されます。

リレーショナル モデルは、単純な「エンティティ関係」(ER) 図で表すことができます。


ER 図には、エンティティ(データ オブジェクト)、関係属性の3 つの要素が含まれています。

  • MySQL (Oracle が買収)
  • マリアDB
  • オラクル
  • SQLサーバー(マイクロソフト)
  • DB2(IBM)
  • PostgreSQL

2. 非リレーショナルデータベース

非リレーショナル データベースは NoSQL (Not Only SQL) とも呼ばれます。

保存されたデータはリレーショナル モデルに基づいておらず、固定のテーブル形式を必要としません。

非リレーショナル データベースの利点

  • データベースは高い同時実行性で読み取りおよび書き込みが可能です
  • 効率的なストレージと大量のデータへのアクセス
  • 高い拡張性と高可用性を備えたデータベース

        キャッシュデータベース        Redis、Memcache

        インデックス付きデータベース        ES (Elasticsearch)

        時系列データベース        Prometheus

        文書データベース        MongoDB

3. データベースのデータ型

整数

データの種類 意味
tinyint(m) 1バイト範囲(-128~127)
smallint(m) 2バイト範囲(-32768~32767)
中整数(m) 3バイト範囲(-8388608~8388607)
int(m)  4バイト範囲(-2147483648~2147483647)
ビギント(m) 8バイト範囲(±9.22*10の18乗)

浮動小数点

弦 

一般的なデータ型

  • int : 整数型
  • float : 単精度浮動小数点 4 バイト 32 ビット
  • double : 倍精度浮動小数点 8 バイト 64 ビット
  • char : 固定長文字型
  • varchar: 可変長文字型
  • テキスト : テキスト
  • 画像 : 画像
  • Decimal(5,2) : 5 つの有効な長さの桁 (小数点の後に 2 桁)

4、SQL文

1 はじめに

        SQL ステートメントは、データ クエリ、データ更新、アクセス制御、オブジェクト管理などの機能を含むデータベースの維持および管理に使用されます。

2. 分類

        DDL : データ定義言語。ライブラリ、テーブル、インデックスなどのデータベース オブジェクトを作成するために使用されます。

        DML : データ操作言語。テーブル内のデータを管理するために使用されます。

        DQL : データ テーブルから修飾されたデータ レコードを検索するために使用されるデータクエリ言語。

        DCL : データ制御言語。データベース ユーザーまたはロールの権限を設定または変更するために使用されます。

5、SQL文の使用

1. データベースの操作

(1) データベースを作成する

CREATE DATABASE `データベース名`;

(2) データベースを確認する

データベースを表示します。

(3) データベースを利用(入力)する

`データベース名` を使用します。

(4) データベースを削除する

DROP DATABASE `データベース名`;

2. データベーステーブルの操作

(1) データベース内のテーブルを参照する

SHOW TABLES; データベースに入り、すべてのテーブルを表示します

(2) データベーステーブルの作成

CREATE TABLE `テーブル名` (列 1 データ型、フィールド 2 データ型、...);

 作成時に、データ型の後に制約を (スペースで区切って) 追加して、制約の効果を実現します。

共通の制約 効果
nullではない not-null 制約 (値を null にすることはできません)
主キー 主キー制約 (非 null の効果を含む主キーとして設定)
一意のキー 一意のキー制約(フィールド内で値は一意)
デフォルトは値を指定します デフォルト値の制約 (デフォルト値を指定された値に設定します。文字列は「 」で囲む必要があります)
自動増加 自己インクリメント制約 (1 から始まり、レコード エントリの数が増加するにつれて 1 ずつ増加します)
外部キー 外部キー制約 (単語フィールドを外部キーとして設定し、サブテーブル内のフィールドに関連付けます)
ゼロフィル 桁数が足りない場合は0を埋めてください

(3) データベーステーブルの構造を確認する

DESC `テーブル名`;

(4) データベーステーブルを削除します。

DROP TABLE `テーブル名`;

(5) データベースのテーブル構造を変更する

ALTER TABLE `古いテーブル名` RENAME `新しいテーブル名`; テーブル名を変更します

ALTER TBALE `テーブル名` ADD フィールド名のデータ型; フィールドを追加

ALTER TABLE `テーブル名` CHANGE 古いフィールド名 新しいフィールド名のデータ型; フィールド名を変更

ALTER TBALE `テーブル名` DROP フィールド名; フィールドを削除

3. テーブル内のデータ操作

(1) レコードの追加

INSERT INTO `TableName` (field1, field2, ...) VALUES (number, 'string');

非 null 制約がない場合、指定されていないフィールドの一部はデフォルトで NULL になります。

フィールドを指定せずに、すべてのフィールドにデータを入力します。つまり、 INSERT INTO table name VALUES (number, 'string');

(2) テーブル内のレコードをクエリする

SELECT * FROM `テーブル名`;テーブル内のすべてのレコードを表示します

SELECT * FROM `テーブル名` 制限数;テーブル内の指定された数のレコードを表示します

SELECT * FROM `テーブル名` 制限番号 1、番号 2;テーブル内の指定された番号 1 の後の番号 2 のレコードを表示します

SELECT フィールド x, フィールド y, ... FROM `テーブル名`;指定されたフィールドレコードをクエリします

SELECT フィールド x, フィールド y, ... FROM `テーブル名` \G クエリされたレコードを垂直方向に表示します (より多くのフィールドに適用可能)

SELECT * FROM `テーブル名` WHERE 条件 1 [AND 条件 2] [OR 条件 3];条件に従ってレコードをクエリします

(3) レコードの削除

DELETE FROM `テーブル名`;テーブル内のすべてのレコードを削除します

DELETE FROM `テーブル名` WHERE 条件 1 [AND 条件 2] [OR 条件 3];テーブル内の指定された条件レコードを削除します

                                                                                                             (通常は主キーに基づきます)

(4) 変更履歴

UPDATE `テーブル名` SET フィールド = 値 WHERE 条件 1 [AND 条件 2] [OR 条件 3];指定された条件レコードを変更します

6. データベーステーブルの高度な操作

1.テーブルを作成すると判断した場合

テーブルを作成する前に、テーブルが存在するかどうかを確認し、存在しない場合は作成し、存在する場合は作成しません。

CREATE TABLE IF NOT EXISTS `テーブル名` (フィールド 1 データ型、フィールド 2 データ型、...);

2. テーブルのクローンを作成する

CREATE TABLE `New Table` LIKE `Old Table`; 同様の方法で古いテーブルのテーブル構造をコピー
INSERT INTO `New Table` SELECT * FROM `Old Table`; 古いテーブルでクエリされたデータを新しいテーブルに挿入

3. テーブルの構造と詳細を表示する

SHOW CREATE TABLE `テーブル名`; SQLコマンド形式でテーブル構造を表示し、テーブルに関するその他の情報も表示します

4. テーブルの再構築(フォーマット)

TRUNCATE TABLE `テーブル名`;

テーブルデータの消去との違いは
        、テーブル名からの削除で、データレコードを1行ずつ削除するため、削除効率が悪くなりますが、実行後は削除したレコードエントリ数が返され、削除後にデータレコードが挿入されます。元の最大レコードは自動的に増加します。

        truncate table テーブル名; テーブルを直接再構築することであり、空にする速度は削除よりも速いです。実行後、レコード エントリの数は返されず、データはテーブルがクリアされた後に挿入されます。 auto-increment フィールドは再び 1 からインクリメントされます。

5. 一時テーブルを作成する

CREATE TEMPORARY `TableName` (フィールド 1 データ型、フィールド 2 データ型、...);

一時テーブルは現在の接続でのみ有効であり、通常どおり追加、削除、変更、確認できますが、show tables では表示できず、現在の接続を変更または終了すると、一時テーブルは無効になります。

6. 外部キー結合

外部キーの定義

        同じ属性フィールド x がテーブル 1 の主キーであるが、テーブル 2 では主キーではない場合、フィールド x はテーブル 2 の外部キーと呼ばれます。

主キーテーブルと外部キーテーブルの理解

(1) 公開キーを主キーとするテーブルが主キーテーブル(親テーブル、メインテーブル)

(2) 公開キーを外部キーとするテーブルが外部キーテーブル(子テーブル、外部テーブル)となります。

注: 外部キーに関連付けられたメイン テーブルのフィールドは、主キーとして設定する必要があります。スレーブ テーブルは一時テーブルであってはならず、マスター テーブルとスレーブ テーブルのフィールドのデータ型、文字長、制約が同じである必要があります。 

例: 2 つのテーブルを作成します。主キー テーブルはサプライヤーの番号と名前、外部キー テーブルは商品テーブル、サプライヤー番号が外部キーとして使用されます。

まず主キーテーブル(サプライヤーテーブル)を作成します。

主キー制約をメインテーブルに追加します (主キー名は「PK_」で始めることをお勧めします)

次に、外部キーテーブル(商品テーブル)を作成します。 

スレーブ テーブルに外部キーを追加し、マスター テーブルの pid フィールドとスレーブ テーブルの Providers_id フィールドの間に外部キーの関連付けを確立します (外部キー名は "FK_" で始めることをお勧めします)

データを挿入するときは、最初にマスター、次に外部データを挿入します。

データを削除する場合は、最初に外部、次にプライマリを削除します

おすすめ

転載: blog.csdn.net/wlc1213812138/article/details/131663065