mysql(245)

  • 约束

    • 非空约束(not null)
    • 唯一性约束(unique)
    • 主键约束(primary key) PK
    • 外键约束(foreign key) FK
    • 检查约束(目前MySQL不支持、Oracle支持)
  • 非空约束

    • name varchar(32) not null
  • 唯一约束 (表之间插入相同值会报错)

    • email varchar(128) unique
    • email varchar(128), unique(name,email)
    • constraint t_user_email_unique unique(email)给约束表起名,方便以后删除
  • 主键约束

    • id int(10) primary key 单一列级
    • constraint t_user_id_pk primary key(id) 单一表级
    • primary key(id,name) 符合表级
    • 主键自增
      1
      2
      3
      4
      5
      6
      7
      reate table t_user(
      id int(10) primary key auto_increment,
      name varchar(32) not null
      );
      insert into t_user(name) values('jay');
      select * from t_user
  • 外键约束

  • FOREIGN KEY (Id_P) REFERENCES Persons(Id_P)

索引

字段建立索引可以大大提升查询速度

  • 普通索引

    • CREATE INDEX indexName ON mytable(username(length))
    • CREATE TABLE mytable( ID INT NOT NULL, username VARCHAR(16) NOT NULL, INDEX [indexName] (username(length)) )
  • 唯一索引
    它必须唯一,但允许有空值

    • CREATE UNIQUE INDEX indexName ON mytable(username(length))
    • CREATE TABLE mytable( ID INT NOT NULL, username VARCHAR(16) NOT NULL, UNIQUE [indexName] (username(length)) )
  • 主键索引
    唯一且不允许空

    • CREATE TABLE mytable( ID INT NOT NULL, username VARCHAR(16) NOT NULL, PRIMARY KEY(ID) );
  • 组合索引

    • ALTER TABLE mytable ADD INDEX name_city_age (name(10),city,age);

字符串

varchar最好在1024以内,虽然它能支持到6553;其它用blob和text来代替

// //