歡迎您光臨本站 註冊首頁

· mysql create table雜誌閱讀

MySQL建表(create table)命令詳解

admin @ 2020-04-18 reply:0

1. create table命令

強調:使用建表命令之前必須使用use命令選擇表所在的資料庫。create table命令的格式如下:

create table tablename(
     col_name1 type auto_increment,
     col_name2 type not null|null default val,
     col_name3 type unique,
     .... ,
    primary key(col_name),
    index idx_name(col_name1,col_name2,...),
    foreign key(col_name) references tablename(col_name)
) engine=innoDB|myISAM default charset=字符集;

   

說明:

(1)type:定義欄位的資料型別。其中:字元串型別(char,varchar)需要指定長度;整型(int,biging,tinyint等)和日期型別(datetime,timestamp等)只需要指定型別,不需要指定長度;decimal型別需要指定精度和小數位數。
(2)primary key引數指定表的主鍵。
(3)auto_increment引數指定欄位為自增欄位,該欄位的型別必須為int或bigint才能設定為自增欄位。
(4)not null|null引數設定欄位能否取空值。
(5)default引數設定欄位的預設值。
(6)index引數用來建立索引。idx_name指定索引名,該引數可以省略,如果省略則索引名就是欄位名。
(7)foreign key引數用來指定外來鍵。
(8)engine引數用來設定引擎型別,常用的有innoDB和myISAM引擎。
(9)default charset引數設定表所用的字符集。
2.舉例:

(1)建立dept表:

create table dept(
    dept_id int primary key auto_increment,    --dept_id設定為int型別,自增欄位,主鍵
    dept_name char(20) not null default '',    --dept_name不能為空,預設值為空字元串
    phone char(20)
);

   
(2)建立emp表:

create table emp(
    emp_id int auto_increment,
    emp_name char(20) not null default '',
    birth datetime not null,
    phone char(20) not null,
    addr varchar(200) not null,
    dept_id int not null default 0,
    index idx_emp_name(emp_name),
    index idx_emp_name_birth(emp_name,birth),
    primary key(emp_id),               --emp_id欄位為主鍵
    foreign key(dept_id) references dept(dept_id)
) engine=innoDB default charset=utf8;

[admin via ] MySQL建表(create table)命令詳解已經有496次圍觀

http://coctec.com/magazine/show-post-item-43.html