MySQL 1104、DDL 言語

DDL言語

図書館管理

1. ライブラリを作成する

create databaseif not exists】 库名【 character set 字符集名】;

2、ライブラリを変更する

alter database 库名 character set 字符集名;

3. ライブラリを削除する

drop databaseif exists】 库名;

テーブル管理

1.テーブルの作成★

create tableif not exists】 表名(
字段名 字段类型 【约束】, 字段名 字段类型 【约束】, 。。。
字段名 字段类型 【约束】
) 

2. テーブルを変更します。
1. 列を追加します。

alter table 表名 add column 列名 类型 【first|after 字段名】;

2. 列のタイプまたは制約を変更する

alter table 表名 modify column 列名 新类型 【新约束】;

3. 列名を変更します

alter table 表名 change column 旧列名 新列名 类型; 4 .删除列
alter table 表名 drop column 列名; 5.修改表名
alter table 表名 renameto】 新表名; 三、删除表
drop tableif exists】 表名; 四、复制表

1. テーブルの構造をコピーします。

create table 表名 like 旧表;

2. テーブル構造+データをコピー

create table 表名
select 查询列表 from 旧表【where 筛选】;

データ型
1. 数値型 1、整数型
tinyint、smallint、mediumint、int/integer、bigint
特徴:
1 符号なしと符号付きを設定可能、デフォルトは符号付き、符号なしは unsigned で設定 2 範囲を超えた場合は Out を報告または範囲が異常な場合、挿入クリティカル値 3 長さは指定できませんが、デフォルトで長さが存在します。長さは
表示の最大幅を表します。足りない場合は左側が 0 で埋められますが、ゼロフィルと一致させる必要があり、デフォルトは符号なし整数
2 になります。 浮動小数点型
固定小数点数: 10 進数 (M,D) 浮動小数点数:
float(M,D) 4
double(M,D) 8特徴:
1Mは整数部+小数部の数を表し、Dは小数部の数を表します。 2 範囲を超えた場合、アウトまたはレンジ例外が報告され、挿入クリティカル値3MとDは省略できますが、固定小数点数、M のデフォルトは 10、D のデフォルトは 0. 4 精度の要件が高い場合は、最初に固定小数点数を使用します. 2. 文字型 char 、 varchar 、 binary 、 varbinary 、 enum 、 set 、 text

blob
char: 固定長文字、char(M) として記述されます。最大長は M を超えることはできません。M は省略できます。デフォルトは 1 です。 varchar
: 可変長文字。書き込み方法は varchar(M) です。最大長はMを超えることはできず、Mは省略できません
3. 日付型

日時
日時
日時 日付+時刻 8
タイムスタンプ 日付 + 時刻は、現在のタイム ゾーンのリアルタイムをより適切に反映できます
4 タイム ゾーン、文法モード、およびバージョンの影響を受けやすくなります
1. 共通の制約
共通の制約
NOT NULL: 空ではない、このフィールドの値は必須です UNIQUE: 一意、このフィールド フィールドの値を繰り返すことはできません DEFAULT: デフォルト、このフィールドの値を手動で挿入する必要はありません デフォルト値があります CHECK: チェック、mysql はサポートしていません PRIMARY KEY:
プライマリキー、このフィールドの値は反復不可能で空ではない unique+null でない
FOREIGN KEY: 外部キー、フィールドの値は別のテーブルのフィールドを参照
主キーと一意
1. 違い: 1. Aテーブルには主キーが 1 つだけありますが、一意のキーは複数存在できます。 2. 主キーを空にすることはできません。空にすることができるのは 1 つだけです。 2. 同じポイントに一意性があります。 複合キーはサポートされていますが、推奨されません

外部
キー:
1. 2 つのテーブル間の関係を制限するために使用されます。スレーブ テーブルのフィールド値はメイン テーブルのフィールド値を参照します。 2、メイン テーブルの外部キー列と参照される列の型は同じである必要があります。意味は同じで、名前は必要ありません 3. メインテーブルの参照される列はキー (通常は主キー) である必要があります 4. データを挿入するには、最初にメインテーブルを挿入します データを削除するには、最初にスレーブ テーブルを削除します。次の
2 つの
方法で削除できます。メイン テーブルのレコード
#方法 1: カスケード削除

    ALTER TABLE stuinfo ADD CONSTRAINT fk_stu_major FOREIGN KEY(majorid)
REFERENCES major(id) ON DELETE CASCADE;

#方法 2: カスケード ブランキング

    ALTER TABLE stuinfo ADD CONSTRAINT fk_stu_major FOREIGN KEY(majorid)
REFERENCES major(id) ON DELETE SET NULL;

2. テーブル作成時に制約を追加する

create table 表名(
字段名 字段类型 not null,#非空
字段名 字段类型 primary key,#主键
字段名 字段类型 unique,#唯一
字段名 字段类型 default,#默认
constraint 约束名 foreign key(字段名) references 主表(被引用列)
) 

注:
サポート タイプは制約名として使用できます。
外部キーを除き、列レベルの制約は許可されません。

テーブルレベルの制約は、NULL 以外とデフォルトを除いて OK ですが、主キーには無効です

複数の列レベルの制約をスペースで区切ってフィールドに追加でき、順序の要件はありません。

3. テーブル変更時に制約を追加または削除する

1. 空でないものを空でないものに追加する

alter table 表名 modify column 字段名 字段类型 not null; 删除非空
alter table 表名 modify column 字段名 字段类型 ;

2.デフォルトでデフォルトを追加

alter table 表名 modify column 字段名 字段类型 default;

デフォルトを削除

alter table 表名 modify column 字段名 字段类型 ; 3、主键

主キーを追加する

alter table 表名 addconstraint 约束名】 primary key(字段名); 删除主键
alter table 表名 drop primary key;

4. ユニークな追加

alter table 表名 addconstraint 约束名】 unique(字段名); 删除唯一
alter table 表名 drop index 索引名

5. 外部キーに外部キーを追加します

alter table 表名 addconstraint 约束名】 foreign key(字段名) references 主表(被引用列);

外部キーを削除する

alter table 表名 drop foreign key 约束名;

4. 自己増加列の
特徴: 1. 手動で値を挿入する必要がなく、シーケンス値は自動的に提供されます。デフォルトでは 1 から始まり、ステップ サイズは 1 です。

auto_increment_increment 如果要更改起始值:手动插入值 如果要更改步长:更改系统变量
set auto_increment_increment=;

2. テーブルには最大 1 つの自動インクリメント列があります
3. 自動インクリメント列は数値のみをサポートします
4. 自動インクリメント列はキーである必要があります
1. テーブルの作成時に、自動インクリメント列を設定しますcolumn create table table (
field name field typeconstraint auto_increment)
2. 、テーブル変更時に自己拡張カラムを設定します。

alter tablemodify column 字段名 字段类型 约束 auto_increment

3. 自己成長列を削除する

alter tablemodify column 字段名 字段类型 约束

おすすめ

転載: blog.csdn.net/weixin_44391817/article/details/128033192