DDL言語
図書館管理
1. ライブラリを作成する
create database 【if not exists】 库名【 character set 字符集名】;
2、ライブラリを変更する
alter database 库名 character set 字符集名;
3. ライブラリを削除する
drop database 【if exists】 库名;
テーブル管理
1.テーブルの作成★
create table 【if 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 表名 rename 【to】 新表名; 三、删除表
drop table【if 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 表名 add【 constraint 约束名】 primary key(字段名); 删除主键
alter table 表名 drop primary key;
4. ユニークな追加
alter table 表名 add【 constraint 约束名】 unique(字段名); 删除唯一
alter table 表名 drop index 索引名
5. 外部キーに外部キーを追加します
alter table 表名 add【 constraint 约束名】 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 table 表 modify column 字段名 字段类型 约束 auto_increment
3. 自己成長列を削除する
alter table 表 modify column 字段名 字段类型 约束