MySqlのDDL操作によるテーブルの作成(プライマリ・キー、外部キー制約、および基本的なデータ型の追加)

2106 ワード

1.テーブル基本文の作成
CREATE TABLE users( username VARCHAR(50) PRIMARY KEY, userpwd VARCHAR(50) NOT NULL, userage INT , usersex VARCHAR(20), birth TIMESTAMP, roles_id INT, constraint fk_users_roles foreign key(role_id) references roles(roleid) );
説明:
1.ユーザー・テーブルの作成、プライマリ・キーusernameの追加、空でない制約userpwd、外部キーrole_id 2.constraint fk_users_rolesは省略できます.foreign key(role_id)references roles(roleid)と略記します.
2.プライマリ・キーの宣言方法まとめ
(1) create table users ( username varchar(50) primary key );
(2)create table users( username varchar(50) , userpwd varchar(50), primary key (username) );
結合プライマリ・キーcreate table users(username varchar(50)、userpwd varchar(50)、birth datetime、primary key(username、userpwd))を宣言できます.
(3)create table users ( username varchar(50), userpwd varchar(50) );
alter table users add primary key (username, userpwd);
3外部キーを作成する方法
(1)create table users( username varchar(50), role_id int , constraint fk_users_roles foreign key (role_id) references roles(roleid) );
2つのプライマリ・キーCREATE TABLE rolesを追加できます.menus ( roles_id INT , menus_id INT, PRIMARY KEY (roles_id, menus_id), CONSTRAINT fk_users_roles FOREIGN KEY (roles_id) REFERENCES roles(roleid), CONSTRAINT fk_users_menus FOREIGN KEY (menus_id) REFERENCES menus(menuid) );
(2)create table users( username varchar (50) primary key, role_id int );
alter table users add constraint fk_users_roles foreign key (role_id) references roles(roleid);
4.その他の一般的なコマンド
show datebases;//すべてのデータベースを表示use usersys;//usersysという名前のデータベースshow tables;//現在のデータベース内のすべてのフォームdesc users//作成したusersテーブルのフィールド情報の表示
5.MySQLデータ型
int整型
double浮動小数点型
double(6,2)       6      2 

varchar可変長文字
varchar(10)  'aa'         
     utf-8  (            ,   3    )

char可変長文字列タイプ
char(10) 10         'aa '      

日付クラス
date日付形yyyy-MM-dd形式
timeイベント形hh:mm:ss
timestampタイムスタンプyyyyy-MM-dd hh:mm:ss注意タイムスタンプはmysqlで自動的にinsert文でnullを付与すればよい
datetime日時yyyy-MM-dd hh:mm:ss