mysql構文-DDL(create、drop、alter)
sql常用分類 1.DDL(データ定義言語) 2.DML(データ操作言語) 3.DQL(データ照会言語) 1.DDL(データ定義言語)
データベース、データテーブル、列などのデータベース・オブジェクトを定義します.キーワード:createの作成、dropの削除、alterの変更
一.データベース操作データベース作成 データベース を削除
二.共通データ型数値タイプtinyint:1 byte=8 bit、長さは-27から27-1、すなわち-128~127です.smallint:2 byte mediumint:3 byte int:4 byte、長さは-21億から21億、10桁です.携帯電話番号を記憶するためには記憶できません.携帯電話番号は11ビットあるので、intは保存できません.一般的に文字列で保存します.bigint:8 byte float(n,m):nは全長を表し、mは小数ビットdouble(n,m):同上decimal(n,m):同上以上の数値タイプにunsignedを追加すると、数値は0から負の数を取ることができません. 文字列タイプchar(n):定長文字列、長さが足りないnは自動的にスペースを補うvarchar(n):可変長文字列、長さが足りないnはスペースを補うことができない 日付タイプdate:日付、年月日time:時間、時分秒datetime:日付時間、年月日時分秒.範囲:0000年-9999年timestamp:タイムスタンプ、年月日時分秒.範囲:1970年-2038年 その他のタイプenum:列挙 データ型の選択の原則:より簡単またはより少ないスペースを使用します.長さが満たされれば、intではなくtiny、smallint、mediumintを使用します. 文字列長が決定された場合、charタイプが使用されます. varcharが満たされる場合、textタイプは採用されません. 精度はdecimalタイプをより高く使用する必要があり、bigintタイプを使用することもできます. は、datetimeではなくtimestampをできるだけ採用する.
三.データテーブルアクション
1.データテーブルの作成
tips:テーブルの作成時に#1067-Invalid default value for genderのエラーが発生した場合、データベースの作成時に文字セットをutf 8に設定しなかったため、中国語文字を格納できない可能性があります.
utf 8を設定する4つの方法は私の別のブログを見ることができます:mysqlはutf 8の方法を設定します
2.データシートの変更追加フィールドa.追加フィールドを最後(デフォルト) に追加する.修正フィールドa.修正フィールド名 .削除フィールド 名前変更 クリアリスト 3.データテーブルの削除
四.データ整合性
1.エンティティ整合性各レコードは一意であり、重複しない.プライマリ・キー制約(primary key)(プライマリ・キーが一意で重複しない)tips:①テーブルごとにプライマリ・キーが1つしかない②プライマリ・キーと連携できる③idなどの のような非ビジネス・フィールドをできるだけ選択する.
tips:テーブルのプライマリ・キーを削除すると#1075-Incorrect table definitionが表示されます.there can be only one auto column and it must be defined as a key主キーフィールドにauto_が設定されていることを示しますincrementなので、プライマリ・キーは削除できません.プライマリ・キー自己増加(auto_increment)(1から自己増加) 一意制約(unique)(一意制約フィールドの値は重複できず、空に許可されている)例えば、身分証明書番号はビジネスフィールドに属し、プライマリ・キーを使用するのに適しておらず、一意制約を使用することができます.
2.しきい値整合性非空拘束not null デフォルト制約default タイプ制約
3.参照整合性外部キー制約(foreign key)は、Aテーブルのレコードを削除する場合は、Bテーブルに外部キーを使用して接続されているため、実際の作業ではあまり使用されません.
2.DML(データ操作言語)
DMLセクションでは、mysql構文-DML(insert、update、delete)を参照できます.
3.DQL(データ照会言語)
DMLセクションでは、selectベースクエリーselect拡張クエリーの2つの記事を表示できます.
データベース、データテーブル、列などのデータベース・オブジェクトを定義します.キーワード:createの作成、dropの削除、alterの変更
一.データベース操作
create database [if not exists] ;
drop database [if exists] ;
二.共通データ型
三.データテーブルアクション
1.データテーブルの作成
create table (
#
sid int unsigned primary key auto_increment,
sname varchar(10) not null,
age int unsigned default 0,
gender enum(" "," "," ") default " "
);
tips:テーブルの作成時に#1067-Invalid default value for genderのエラーが発生した場合、データベースの作成時に文字セットをutf 8に設定しなかったため、中国語文字を格納できない可能性があります.
utf 8を設定する4つの方法は私の別のブログを見ることができます:mysqlはutf 8の方法を設定します
2.データシートの変更
alter table add ;
b.追加フィールドを最上位alter table add first;
c.追加フィールドを指定位置alter table add after ;
alter table change [ ];
b.修正データ型alter table change [ ];
alter table modify [ ];
(より推奨)c.修正フィールド位置alter table modify after ;
alter table drop ;
rename table to ;
alter table rename to ;
truncate table ;
drop table ;
四.データ整合性
1.エンティティ整合性各レコードは一意であり、重複しない.
#
# 1:
create table (
sid int primary key,
...
);
# 2:
create table (
sid int,
... ,
primary key(sid) #
# , ,
);
# add
alter table add constraint PK_ primary key( );
#
alter table drop primary key;
tips:テーブルのプライマリ・キーを削除すると#1075-Incorrect table definitionが表示されます.there can be only one auto column and it must be defined as a key主キーフィールドにauto_が設定されていることを示しますincrementなので、プライマリ・キーは削除できません.
create table (
sid int primary key auto_increment,
...
);
#
# 1:
create table (
sid int primary key auto_increment,
card varchar(18) unique
);
# 2:
create table (
sid int primary key,
card varchar(18),
unique(card)
);
#
alter table add constraint UN_ unique( );
2.しきい値整合性
create table (
sid int primary key auto_increment,
sname varchar(10) not null,
age int unsigned default 0
);
3.参照整合性
# A Aid B Bid
alter table A add constraint FK_Aid foreign key(Aid) references B(Bid);
#
alter table A drop foreign key;
2.DML(データ操作言語)
DMLセクションでは、mysql構文-DML(insert、update、delete)を参照できます.
3.DQL(データ照会言語)
DMLセクションでは、selectベースクエリーselect拡張クエリーの2つの記事を表示できます.