创建数据表主键外键

  

<强> 1,创建数据表
按行和列的方式存储,每一行唯一一条记录,每一列代表记录中的某个字段或者是域。
格式:表的名称不区分大小写,不能使用SQL关键字;存在多列使用逗号分隔。

  
 <代码>创建表& lt; table_name>
  (
  字段1,数据类型(列约束条件),
  字段2,数据类型(列约束条件),
  字段3、数据类型(列约束条件),
  ……
  (表级别约束条件)
  ); 
  

测试:表名test01

  

|字段名|数据类型|
| |名称varchar (30) |
| | int id (11) |

  

<强>(1)主键约束
单字段

  
 <代码> mysql>创建表test02
  →(int id(11)主键,
  →varchar(30))名称;
  查询好,0行影响(0.08秒) 
  
 <代码> mysql>创建表test03
  →(int id (11),
  →名字varchar (30),
  →主键(id));
  查询好,0行影响(0.10秒) 
  
 <代码> mysql>desc test02;
  + - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - + +
  | |字段类型零额外默认关键| | | | |
  + - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - + +
  | | int id (11) | | PRI零| | |
  | |名称varchar(30) |是| |零| |
  + - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - + +
  2行集(0.00秒)
  
  mysql>desc test03;
  + - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - + +
  | |字段类型零额外默认关键| | | | |
  + - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - + +
  | | int id (11) | | PRI | 0 | |
  | |名称varchar(30) |是| |零| |
  + - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - + +
  2行集(0.01秒) 
  

创建数据表主键外键

  

列的会隐含一个rowid字段
表的会明确要求id是可识别的标志

  <人力资源/>   

<强>多字段

  
 <代码> mysql>创建表test05 (int id(11),名字varchar(30),主键(id、名称));
  查询好,0行影响(0.11秒) 
  

创建数据表主键外键

  <人力资源/>   

<>强删除主键约束

  
 <代码> mysql>alter table test0004删除主键;查询好,0行影响(0.08秒)记录:0副本:0警告:0 mysql>显示创建表test0004 \ G;
  * * * * * * * * * * * * * * * * * * * * * * * * * * * 1。行* * * * * * * * * * * * * * * * * * * * * * * * * * *表:test0004
  
  创建表:创建表“test0004”(“用户名”varchar(10)不是NULL,
  “pid”短整型(5)无符号默认为空,
  “id”短整型(5)无符号NOT NULL默认“0”,
  “年龄”非常小的整数(3)无符号不是零,
  唯一键“用户名”(用户名)
  )引擎=InnoDB的默认字符集=utf8 1行组(0.00秒) 
  
 <代码> mysql>desc test0004;
  + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - + +
  | |字段类型零额外默认关键| | | | |
  + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - + + |
  没有用户名| varchar (10) | | PRI零| | | |
  pid |短整型(5)无符号|是| |零| | |
  id |短整型(5)无符号没有| | | 0 | | |
  |年龄非常小的整数(3)无符号没有| | | | NULL
  | + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - + +
  4行集(0.00秒) 
  

怎么在已有的表中添加主键呢?
举个例子:
创建一个书记表,后在增加一个字段

  
 <代码> mysql>创建表test0004(用户名varchar (10) not null, pid smallint无符号);
  查询好,0行影响(0.13秒)
  
  mysql>desc test0004;
  + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - + +
  | |字段类型零额外默认关键| | | | |
  + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - + +
  | |用户名没有varchar(10) | | |零| |
  | | smallint pid(5)无符号|是| |零| |
  + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - + +
  2行集(0.00秒)
  
  mysql>alter table test0004添加id smallint无符号;
  查询好,0行影响(0.10秒)
  记录:0副本:警告:0 

创建数据表主键外键