記事ディレクトリ
- 序文
- 1. SQL の一般的な構文
- 2. DDL ステートメント
-
- 1. DDL 関数の概要
- 2. DDL ステートメントはデータベース上で動作します
-
- (1) すべてのデータベースにクエリを実行する
- (2) 現在のデータベースをクエリする
- (3) データベースの作成
- (4) データベースの削除
- (5) スイッチデータベース
- (6) 現在のデータベース内のすべてのテーブルをクエリします。
- (7) テーブル構造の作成
- (8) 指定したテーブル構造を表示する
- (9) 指定したテーブルのテーブル作成文を問い合わせる
- (10) テーブルにフィールドを追加します
- (11) テーブル内の指定されたデータ型を変更する
- (12) テーブル内のフィールド名とフィールドタイプを変更する
- (13) テーブル内のフィールドを削除する
- (14) テーブル名の変更
- (15) テーブルの削除
- (16) 指定したテーブルを削除し、テーブルを再作成します。
- 要約する
序文
この記事では主に SQL の一般的な構文と DDL ステートメントの使用方法を紹介します。読者はこの記事を読む前にデータベースの記憶構造を理解する必要があります。
ラボ環境:Windows11 オペレーティング システム、Mysql データベース
1. SQL の一般的な構文
关于sql语句的语法主要有以下几个方面:
(1) SQL语句可以单行或多行书写,以分号结尾
(2) SQL语句可以使用空格/缩进来增强语句的可读性
(3) MySQL数据库的SQL语句不区分大小写,关键字建议使用大写
(4) 注释
单行注释:-- 注释内容 或 # 注释内容
多行注释:/* 注释内容 */
2. DDL ステートメント
1. DDL 関数の概要
SQL ステートメントは、その機能に応じて主にDDL、DML、DQL、および DCLの 4 つのカテゴリに分類できます。
この記事で紹介する DDL ステートメントの機能は次のとおりです:データベース オブジェクト (データベース、テーブル、フィールド)を定義するために使用されるデータ定義言語
2. DDL ステートメントはデータベース上で動作します
(1) すべてのデータベースにクエリを実行する
show databases;
このステートメントを入力すると、現在所有しているデータベース (mysql、information_schema など) が表示されます。
(2) 現在のデータベースをクエリする
select database();
現在使用されているデータベースがないため、空です。
(3) データベースの作成
create database [if not exists ] 数据库名
[default charset 字符集] [collate 排序规则];
# 方括号中的都是可选内容,即使不书写也会采用默认方案
たとえば、test という名前のデータベースを作成し、そのデータベースのデフォルトの文字セットと並べ替えルールを使用すると、
現在のデータベース サーバーに test データベースが正常に作成されたことがわかります。
また、同じデータベースサーバー内に同じ名前のデータベースを2つ同時に作成することはできないため、作成しないとエラーが報告されます(再度testという名前のデータベースを作成するとエラーが報告されます)
。この問題を解決するには、データベースが存在する場合は作成せず、存在しない場合は作成します。
次の図に示すように、テスト データベースを再度作成しても、エラーは報告されません。
test1 という名前のデータベースを作成し、文字セットを utf8mb4 として指定するときに使用するステートメントは次のとおりです。
(4) データベースの削除
drop database [if exists] 数据库名;
以下のように、作成したtest1データベースを削除します。
(5) スイッチデータベース
use 数据库名;
データベース配下のテーブルを操作したい場合は、このコマンドを使用して対応するデータベースに切り替えないと操作できません。
以下の図に示すように、テスト データベースに切り替えます。
(6) 現在のデータベース内のすべてのテーブルをクエリします。
show tables;
注: このステートメントを使用する場合は、まず use ステートメントを使用してデータベースに切り替える必要があります。
たとえば、テスト データベースのテーブル データを確認すると、現在のテスト データベースにはテーブルがないため、空として表示されます。
(7) テーブル構造の作成
create table 表名(
字段1 字段1类型[comment 字段1注释],
字段2 字段2类型[comment 字段2注释],
字段3 字段3类型[comment 字段3注释],
......
字段n 字段n类型[comment 字段n注释]
)[comment 表注释];
以下の図に示すようなテーブル構造を作成し、テーブルにcharactersという名前を付けます。test
という名前のデータベースにcharactersという名前のテーブル構造が正常に作成されたことがわかります。
(8) 指定したテーブル構造を表示する
desc 表名;
このコマンドにより、指定されたテーブルのフィールド、フィールドのタイプ、NULL が可能かどうか、デフォルト値があるかどうか、その他の情報を確認できます。
(9) 指定したテーブルのテーブル作成文を問い合わせる
show create table 表名;
このコマンドは主にテーブル作成ステートメントを表示するために使用されます。ストレージ エンジン、文字など、一部のパラメータはデータベースのデフォルト値であるため、テーブルの作成時に指定しなかった場合でもクエリされます。待機を設定します。
(10) テーブルにフィールドを追加します
alter table 表名 add 字段名 类型 [comment 注释] [约束];
次の図に示すように、文字テーブルに tel という名前のフィールドを varchar(11) 型で追加します。
(11) テーブル内の指定されたデータ型を変更する
alter table 表名 modify 字段名 新数据类型;
次の図に示すように、tel フィールドのタイプを varchar(12) に変更します。
(12) テーブル内のフィールド名とフィールドタイプを変更する
alter table 表名 change 旧字段名 新字段名 类型 [comment 注释] [约束];
たとえば、次の図に示すように、フィールド tel を newname に変更し、タイプを varchar(30) に変更します。
(13) テーブル内のフィールドを削除する
alter table 表名 drop 字段名;
次の図に示すように、フィールド newname フィールドを削除します。
(14) テーブル名の変更
alter table 表名 rename to 新表名;
以下に示すように、テストする文字テーブル名を変更します。
(15) テーブルの削除
drop table [if exists] 表名;
次の図に示すように、テスト テーブルを削除します。
(16) 指定したテーブルを削除し、テーブルを再作成します。
truncate table 表名;
このステートメントの機能は、指定されたテーブルを削除し、元のテーブルと同じテーブル名とヘッダーを持つテーブルを再作成することです。ただし、テーブルに格納されているデータはクリアされ、リフレッシュ テーブルとして機能します。
要約する
この記事ではSQL文におけるDDL文の使い方を中心に紹介しますので、参考になれば幸いです。