記事ディレクトリ
1. テーブルを作成する
文法形式
CREATE [TEMPORARY] TABLE <表名>
(<列名1> <数据类型> [ DEFAULT‘默认值’]
[ATUO_INCREMENT] [列级完整性约束]
<列名2><数据类型>
.......
|[index_definition]
)[表设置];
[TEMPORARY] 一時テーブルを作成します
[index_diction] フィールドのインデックスを指定します
簡略化された文法
CREATE TABLE<表名>
(<列名1><数据类型>
<列名2><数据类型>
.......
)[表设置];
[例 7-1] コマンドを使用して、学生番号、名前、性別、生年月日、専攻番号を含む学生テーブル Stu を stuInfo データベースに作成します。
USE stuInfo;
CREATE TABLE Stu
(Sno char(6) NOT NULL,
Sname varchar(4),
Ssex Enum('男','女'),
Sbirth date,
Zno varchar(4)
);
2. テーブルを表示する
現在のデータベース内のテーブル名を表示します
テーブルを表示します。
指定されたテーブルの構造を表示します
DESC [RIBE] テーブル名;
SHOW CREATE TABLE テーブル名;
3. テーブルを変更する
ALTER TABLE <テーブル名> ステートメントは、既存のテーブルの列を追加、変更、または削除するために使用されます。
ALTER TABLE <表名>
[ADD <列定义> [first|after列名]
|[MODIFY <列定义> [first | after 列名]]
|[DROP <列名>]
|[CHANGE <旧列名> <新列名> <新数据类型>]
|[RENAME <新表名>]
|[ORDER BY <列名>]
[例 7-9] stu データ テーブルの Sbrith の後に属性 scollege を挿入します。長さは 20 で、空であってもかまいません。
列を追加
ALTER TABLE stu
ADD scollege char(20);
空は許可されません
ALTER TABLE stu
ADD scollege char(20) not null;
出産コラムの後
ALTER TABLE stu
ADD scollege char(20) not null after sbirth;
[例 7-6] 属性 scollege を長さ 10 に変更し、最初の列に配置します
ALTER TABLE stu
MODIFY scollege char(10) first;
【例7-10】 大学列を削除します。
ALTER TABLE stu
drop scollege;
4. テーブルのコピー
文法形式
CREATE [temporary] TABLE <表名>
[like 源表名] | [as (select 语句)];
[例7-15] stuテーブルをstu1にコピーします。データをコピーせず、構造のみをコピーします
CREATE TABLE stu1
LIKE stu;
[例 7-16] stu テーブルの sno と sname を stu2 にコピーします。データをコピーする
CREATE TABLE stu2
AS
SELECT sno,sname FROM stu;
5. テーブルの削除
文法形式
DROP TABLE [IF EXISTS]<表名>
6. テーブル管理上の注意事項
1. 空の値 NULL
不明、使用不可、または後で追加されるデータを示し、数字の 0 やヌル文字とは異なります。
2. カラムのフラグ(IDENTITY)属性
どのテーブルでもフラグ列を作成でき、順序値はシステムによって生成されます。シリアル番号値はテーブル内の行を一意に識別し、キー値として使用できます。
3. 列タイプの暗黙的な変更
MySQL では、システムはテーブルで指定されたカラムの型を暗黙的に変更します。長さが4未満のVARCHAR型はCHAR型に変更されます。