Learning MySQL 1 - create database & tables using specified charset


1 Create Databases

create database mydb DEFAULT CHARSET=utf8;

2 Create Tables

create table ids (
    id int auto_increment,
    name varchar(10) not null,
    num  varchar(10),
    description text,
    primary key (id, name), -- not primary key (name, id) : ordered by fields defination
    key `num` (`num`)
) ENGINE=InnoDB default charset=utf8;

create table ref (
    sno varchar(10),
    foreign key (sno) references ids(num) on update cascade on delete cascade
) ENGINE=InnoDB default charset=utf8;

注意:

(1) primary(field1, field2, ...)字段必须按照表中定义时的字段顺序,否则出错;

(2) 若表的一个字段(ref表的sno)是外引用,即引用另一个表的一个字段(ids表的num),那么被引用的字段(ids表的字段num)必须建立索引(key `index_name` (`num`));

(3) 若一个字段(ids表的id字段)是auto_increment型的,那么这个字段必须是定义为键(primary key);

(4) 反撇号`作用于表名、字段名;


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值