mysql 建表uk MySQL建表語句大全

2021-10-17 20:37:42 字數 3019 閱讀 6247

1. 建立表(含有約束)

/**建立組表**/

create table t_group(

id int(11) auto_increment primary key,

name varchar(50),

value varchar(255)

)engine=innodb default charset=utf8;

/**建立使用者表**/

create table t_user(

id int(11) auto_increment primary key,

name varchar(50) unique,

value varchar(255) default '0',

email varchar(100) not null,

*** varchar(1) check(user_***=1 or user_***=2),

group_id int(11),

create_time timestamp,

constraint foreign key(group_id) references t_group(id) on delete cascade

)engine=innodb default charset=utf8;

/**檢視表資訊**/

desc t_group;

show create table t_group;

desc t_user;

show create table t_user;

自動增長: auto_increment

建立主鍵: primary key

唯一約束:   unique

非空約束: not null

檢查約束:   check(user_***=1 or user_***=2)

建立外來鍵: constraint foreign key(group_id) references t_group(id) on delete cascade

2. 建立表(不含約束)

/**建立組表**/

create table t_group(

id int(11),

name varchar(50),

value varchar(255)

)engine=innodb default charset=utf8;

/**建立使用者表**/

create table t_user(

id int(11),

name varchar(50),

value varchar(255) default '0',

email varchar(100),

*** varchar(1),

group_id int(11),

create_time timestamp

)engine=innodb default charset=utf8;

/**檢視表資訊**/

desc t_group;

show create table t_group;

desc t_user;

show create table t_user;

3. 建立約束

/**建立主鍵約束**/

alter table t_group add constraint group_id_pk primary key(id);

alter table t_user add constraint user_id_pk primary key(id);

/**自動增長**/

alter table t_group modify id int(11) auto_increment;

alter table t_user modify id int(11) auto_increment;

/**建立外來鍵約束**/

alter table t_user add constraint user_group_id_fk foreign key(group_id) references t_group(id);

/**建立唯一約束**/

alter table t_group add constraint group_name_uk unique(name);

alter table t_user add constraint user_name_uk unique(name);

/**建立非空約束**/

alter table t_user add constraint user_email_nk check(email is not null);

/**建立檢查約束**/

alter table t_user add constraint user_gender_ck check(user_***=1 or user_***=2);

4. 刪除約束

/**刪除唯一約束**/

alter table t_user drop unique key user_name_uk;

/**刪除外來鍵約束**/

alter table t_user drop foreign key user_group_id_fk;

5. 修改表字段

/**增加字段**/

alter table t_group add description varchar(255);

alter table t_user add description varchar(255);

/**修改字段**/

alter table t_group modify description varchar(20);

alter table t_user modify description varchar(20);

/**刪除字段**/

alter table t_group drop description;

alter table t_user drop description;

6.刪除表

drop table t_user;

drop table t_group;

mysql建表建索引6 mysql建表建索引

建表 create table sj projects id int 11 not null auto increment,title varchar 255 not null default comment 專案名稱 platform id int 11 not null default 0 co...

mysql建立使用者表 mysql 建庫建表建使用者

1.建立資料庫 create database school 2.使用資料庫 use school 3.建立使用者 create user jame localhost identified by jame 4.授權使用者 注意這裡是用了 哦,可以自己講school也替換成 號 grant sele...

mysql建表建索引6 Mysql建表 建立索引

建立表時可以直接建立索引,這種方式最簡單 方便。其基本形式如下 create table 表名 屬性名 資料型別 完整性約束條件 屬性名 資料型別 完整性約束條件 屬性名 資料型別 unique fulltext spatial index key 別名 屬性名1 長度 asc desc uniqu...