MySQLシリーズ-DDLステートメント
運営・維持管理YouthO&M Youth
一連の記事の説明
MySQLシリーズの記事には、ソフトウェアのインストール、特定の使用法、バックアップとリカバリなどが含まれ、主に個人の学習メモを記録するために使用されます。使用される主なMySQLバージョンは5.7.28で、サーバーシステムバージョンはCentOS7.5です。この章は、データベースのDDLステートメントを対象としています。
DDL構文
DDL(データ定義言語)は、主にデータベースとテーブルの管理に使用されます。主な構文は、ドロップ、変更、および作成です。
DDL CREATE
createは、主にデータベースまたはテーブルを作成するために使用されます。
- データベース
構文の作成:データベースデータベース名の文字セット文字セットを作成します。
create database yunweidb charset utf8mb4;
- すべてのデータベースを表示
show databases;
- createdatabaseステートメントを表示する
show create database yunweidb;
- テーブル
構文の作成:テーブルデータベースの作成。テーブル名(列名1データ型、列名2データ型...)engine = engine charset = charset;
create table yunweidb.t1(id int,sname varchar(20)) engine=innodb charset='utf8mb4';
- テーブル構造を表示する
desc yunweidb.t1;
- データベース内のすべてのテーブルを表示する
use yunweidb;
show tables;
- テーブルステートメントを表示
show create table t1;
DDLドロップ
DROPは、主にデータベースまたはテーブルを削除するために使用されます。
- データベース
構文の削除:データベースデータベース名を削除します。
drop database yunweidb;
- テーブル
構文の削除:テーブルテーブル名を削除します。
drop table t1;
DDL変更
alterは、主にデータベースとテーブルを変更するために使用されます。
MySQL中,DDL语句对表进行创建、删除、修改表等DDL操作时,是需要锁元数据表的,锁定时,所有对该表修改类的命令都无法正常运行,所以在对于大表、业务较繁忙的表进行线上DDL操作时,要谨慎。
- データベースを変更する
構文:alter database database table name attribute;
alter database yunweidb charset utf8;
-
テーブル構造を表示する
- 列を追加
構文:alter table table name add column column name data type attribute;
alter table t1 add column phone char(11);
-
テーブル構造を表示する
- 列を変更する
構文:alter table table name modify column name attribute;
alter table t1 modify phone bigint;
- テーブル構造を表示する
注意
修改列时,应该把原先的属性加上,以免属性丢失
- 列を削除
構文:alter table table name drop column name;
alter table t1 drop sname;
- ビューの構造