mysql的主键/删除操作等

 

目录

 一:mysql的主键

1.1 定义

1.2 主键约束字段的选取

2 设置主键约束

2.1 在创建表的时候指定主键

2.2 在定义完所有列之后,指定主键

2.3 在修改表的时候添加主键约束

三:truncate和delete的区别


一:mysql的主键

1.1 定义

主键(primary key)的完整称呼是主键约束。mysql主键约束是一个列或者列的组合,其值能够唯一标示表中的每一行,这样的一列或者多列称为表的主键,通过它可以强制表的实体完整性。

1.2 主键约束字段的选取

  • 每个表只能定义一个主键
  • 主键值必须唯一标识表中的每一行,且不能为null,即表中不可能存在两行数据相同的主键值。这是唯一性原则。
  • 一个列名只能在复合主键列表中出现一次。
  • 复合主键不能包含不必要的列。

2 设置主键约束

2.1 在创建表的时候指定主键

语法:<字段名> <数据类型> primary key

create table tb_name
(id int(11) primary key,
 name varchar(50) 
)

2.2 在定义完所有列之后,指定主键

语法格式为:primary key 字段名

create table table_name
(
    id int(11),
    name carchar(20),
    primary key (id)
);

2.3 在修改表的时候添加主键约束

语法:alter table 数据表名 add primary key (列名);

alter table table_name add primary key (id)

三:truncate和delete的区别

truncate : 

  • 删除表中的内容,不删除表结构,释放空间;
  • truncate删除数据后重新写数据会从1开始;
  • truncate删除速度较快;
  • truncate和drop都属于ddl语句,不可以回滚
  • 语法: truncate 表名

delete : 

  • 删除内容,不删除表结构,但不释放空间;
  • delete删除数据后只会从删除前的最后一行续写;
  • delete属于dml语句,可以进行回滚
  • 语法: delete from 表名(where...可写可不写)。

参考:

https://www.cnblogs.com/ccstu/p/12159895.html

上一篇:MySQL-字段约束


下一篇:MySQL数据库约束条件的补充