MySQL チュートリアル データ定義言語 DDL の例 詳細な説明

MySQL チュートリアル データ定義言語 DDL の例 詳細な説明

MySQL 初心者の方は、この記事を読む前に以下の記事を読んでください。一部の知識は習得するのが少し難しいかもしれませんが、私が提供する学習プロセスに従って繰り返し読めば、必ず理解できるようになります。こうすれば、一部の知識を理解できず、どこから調べ始めればよいのかわからなくなることはありません。

《MySQL詳細インストールチュートリアル》
MySQL 完全アンインストールチュートリアル
基本的なことすら知らないのに、どうやって MySQL を使い始めればよいのでしょうか? 》
《charset=utf8の原理を本当に理解していますか? 》
MySQL データ型の説明

1. SQL言語の基本機能の紹介

SQL は、次の主な機能を持つ構造化クエリ言語です。

データ定義言語: 完全な名前はデータ定義言語で、略称は DDL です。データ操作言語: 完全な名前はデータ操作言語で、構築時には DML です。データ制御言語: 完全な名前はデータ制御言語で、構築時にはDCL

これらの中で最も重要なのは、よく使用する機能 (追加、削除、変更、クエリ) を含むデータ操作言語(DML)です。データ アナリストとして必要なのは、データ定義言語(DDL)とデータ制御言語(DCL)を理解し、それらの使用方法を知ることだけです。今日は、DDL言語から始めて、みんなと一緒に学んでいきましょう。

2. データ定義言語の目的

主にデータベース オブジェクト (データベース、テーブル、ビュー、インデックス) に対する操作。

一般的なDDL命名は次のとおりです。

作成する改訂破壊する
作成する変える落とす

3. データベースの作成と破棄

-- データベースの作成: 学生データベースを作成します。学生が存在しない場合はデータベースを作成します。
-- データベースを破棄する (ほとんど使用されない)
学生が存在する場合はデータベースを削除します。

-- データベースを作成した後、テーブルに対して操作を実行する前にデータベースを使用する必要があります。
学生を使用する;

4. データベース テーブルの操作 (すべてのデモンストレーションでは、学生テーブルを例として使用します)

1) テーブルを作成する

1) テーブルの作成: 学生テーブルの作成 - テーブル構造を作成するときに記述する必要があるフィールド情報 create table student (
     sid int、
     sname varchar(20)、
     年齢 int
)文字セット=utf8;

2) 「完全なテーブル作成ステートメント」は、create table student( と記述する必要があります。
     sid int、
     sname varchar(20)、
     年齢 int
)engine=InnoDB デフォルト文字セット=utf8;
注: デフォルトのエンジンは InnoDB なので、テーブルを表示するときにこれを省略できます。学習中のあなたにとっては、このデフォルトのエンジンを使用すれば十分です。ただし、特に CMD の黒いウィンドウで中国語を入力する場合は、charset=utf8 を追加するのが最適です。
この文を書かないと、次のようなエラーが発生します。
エラー 1366 (HY000): 行 1 の列 'sname' の文字列値 '\xD5\xC5' が正しくありません

テーブルを作成するための完全な SQL ステートメントは次のとおりです。

ここに画像の説明を挿入

2) テーブルを変更する

①テーブル名を変更する

-- テーブル名 student を stu に変更します。
テーブル名をstuに変更します。
--データベース名を変更します。
データベースの古い名前を新しい名前に変更します。

② テーブル構造の変更 テーブル構造の変更には、テーブルへの新しいフィールドの追加、テーブル内のフィールドの変更、テーブル内のフィールドの削除が含まれます。

Ⅰ テーブルに新しいフィールドを追加する

「フィールドの追加: 学生テーブルに新しいフィールドを追加します。」
1) デフォルトでは追加、つまり最後の列に新しいフィールドが追加されます。
テーブルstudentを変更し、性別varchar(20)を追加します。

2) まず最初のキーワードを使用して新しいフィールドを追加します。
alter table student に、最初に classid int を追加します。

3) 指定した位置に新しいフィールドを追加するには、after キーワードを使用します (指定したフィールドの後に新しいフィールドを追加します)。
テーブル学生を変更し、年齢の後に誕生日を追加します。

「テーブル構造の表示: テーブルの構造情報を理解するのに役立ちます」
学生の説明;

Ⅱ テーブル内のフィールドを変更する

1)「フィールド名の変更」: 変更
-- フィールド名 age を sage に変更します。
--modify はフィールド名を直接変更できません。change が使用できる他の場所では、modify を使用できます。
テーブル学生を変更し、年齢を変更します。sage int;

2)「フィールドタイプの変更」: 変更または修正のいずれかを使用できます。
「varchar(m) の m の長さを変更することもできます。」
-- sname フィールドのデータ型を varchar(20) から varchar(50) に変更します。
-- 次の 2 つの方法を使用できます。
テーブルstudentを変更し、sname sname varchar(50);
テーブルstudentを変更し、sname varchar(50);

3)「フィールド位置の変更」: first および after キーワードと一緒に使用できます。
-- age の後に sname フィールドを配置します。これを行うには 2 つの方法があります。
テーブルstudentを変更し、snameをsname varchar(50)に変更して年齢を変更します。
テーブルstudentを変更し、ageの後にsname varchar(50)を変更します。

Ⅲ テーブル内のフィールドを削除する

-- classid フィールドを削除します。alter table student drop classid;

③ テーブルをクリア: テーブル内のすべてのデータをクリアします。

切り捨てではデータのみが削除され、テーブル構造は削除されません。

切り捨てと削除の違いに注意してください。どちらもテーブル内のデータを削除するために使用されます。違いは何でしょうか?自分で確認することができます。

テーブル stu を切り捨てます。

3) 破壊表

テーブル スタをドロップします。

上記は、MySQL チュートリアル データ定義言語 DDL の例の詳細な説明の詳細な内容です。MySQL データ定義言語 DDL の詳細については、123WORDPRESS.COM の他の関連記事に注目してください。

以下もご興味があるかもしれません:
  • 一般的なMysql DDL操作の概要
  • MySQL 8.0 アトミック DDL 構文の詳細な説明
  • 4つのSQL言語の詳細な説明: DDL DML DCL TCL
  • MySQL DDLステートメントの使用
  • MySQL データ定義言語 DDL の基本ステートメント

<<:  vue-cli で stimulsoft.reports.js を使用する詳細なチュートリアル

>>:  HTML コード内のスペースと空白行についての簡単な説明

推薦する

MySQL 時間差関数 (TIMESTAMPDIFF、DATEDIFF)、日付変換計算関数 (date_add、day、date_format、str_to_date)

1. 時間差関数(TIMESTAMPDIFF、DATEDIFF) MySQLを使用して時間差を計算...

MySQLはデータテーブル内の既存のテーブルを分割します

目次操作方法操作プロセス既存のテーブルにパーティション テーブルを作成し、データを新しいテーブルに移...

Vue における LocalStorage と SessionStorage の違いと使い方

目次LocalStorageとはSessionStorageとはLocalStorage と Ses...

純粋な CSS を使用して脈動するローダー効果のソースコードを作成する

効果プレビュー右側の「クリックしてプレビュー」ボタンを押すと現在のページでプレビューが表示され、リン...

Vueはフォーム検証機能を実装します

この記事では主に、NUXT の validate メソッドに基づいてフォーム検証を実装する方法につい...

MYSQL での Truncate の使用法の詳細な説明

この記事のガイド: テーブル内のデータを削除するには、削除と切り捨ての 2 つの方法があります。TR...

WeChatアプレットでQRコードを識別するために長押しする実装プロセス

序文公式アカウントのQRコードは長押しで認識できることは皆さんご存じですが、ミニプログラムに対する制...

Reactを使用する際の7つの落とし穴のまとめ

目次1. コンポーネントの肥大化2. 状態を直接変更する3. プロパティは数値を渡す必要があるが文字...

Ubuntu MySQL バージョンが 5.7 にアップグレードされました

数日前、図書館はサーバー(Ubuntu 14.04)にセキュリティ上の脆弱性があり、時間通りに修復さ...

Vue + 要素を使用して背景データをオプションに動的に表示する

必要:ハードコードされたデータの代わりに、セレクター内のオプション値の動的な表示を実装します。私のロ...

Vue 初心者ガイド: 最初の Vue-cli スキャフォールディング プログラムの作成

1. Vue - 最初の vue-cli プログラムVueの開発はNodeJSに基づいています。実際...

nginxリバースプロキシwebSocket設定の詳細な説明

最近、プロジェクトで作業しているときに webSocket プロトコルを使用し、WeChat アプレ...

CSS で適応型ディバイダーを巧みに実装する N 通りの方法

分割線はウェブページでよく使われるデザインです。例えば、Zhihuのその他の回答をご覧ください。 こ...

nginxコンテナ設定ファイルの独立した実装

コンテナを作成する [root@server1 ~]# docker run -it --name ...

jsでシンプルなパズルゲームを実現する

この記事では、簡単なパズルゲームを実装するためのjsの具体的なコードを参考までに共有します。具体的な...