列属性

作者: 赵桓熠_科院 | 来源:发表于2019-08-24 13:35 被阅读0次

07列属性

01列属性——自动增长

  1. 字段从1开始每次递增1,特点是字段中的数据不可能重复,适合记录生成唯一id。

  2. 自动增长都是无符号整数。

  3. 在MySQL中,auto_increment必须是主键,但主键不一定自增

  4. 如果要给自增的字段插入数据,使用null关键字。

  5. 自动增长列上的数据被删除,则默认情况下此记录的编号就不会再使用了。

  6. 字段从1开始

02列属性——主键

  1. 主键是唯一标识表中记录的一个列或一组列。
  2. 主键特点:值不能重复,不能为空。
  3. 一个表只能有一个主键,一个主键可以由多个字段共同组成。
  4. 主键的创建:
    1. 创建表时,在数据类型后直接写primary key。
    2. 创建表时,使用primary key(字段名) 语句创建一般主键或组合键。
    3. 修改表时,用语句 alter table add 表名 primary key (字段名);添加主键。
    4. 修改表时,使用modify或change关键字也可以添加主键。
  5. 主键的删除: alter table 表名 drop primary key;
  6. 主键的作用:
    1. 保证数据完整性。
    2. 加快查询速度。
  7. 选择主键的原则:
    1. 最少性:尽量选择一个字段做主键。
    2. 稳定性:尽量选择更新少的列做主键。
    3. 尽量选择数字类型的列做主键。
  8. 关于主键的一些思考题:
    1. 在主键列输入数值,允许为空吗?——不可以
    2. 一个表可以有多个主键吗?——不可以
    3. 一个学校数据库中,如果一个学校内,允许学员重名,但是在班级内,不允许学员重名,可以组合班级和姓名做主键吗?——可以
    4. 标识列(自动增长列)允许为字符数据类型吗?——不允许
    5. 表中没有合适的列做主键怎么办?——添加自动增长列。
    6. 一个表可以有两个自动增长列吗?——不可以

例子(关于创建和删除主键):

/*
    一、创建表时添加主键
*/
# 4.a 在数据类型后直接写primary key。
create table t1(
    id int primary key,
    name varchar(10)
);
# 4.b 使用primary key(字段名) 语句创建一般主键或组合键。
create table t2(
    id int ,
    name varchar(10),
    primary key(id) -- 添加一个主键
); 
create table t3(
    id int ,
    name varchar(10),
    primary key(id,name) -- 添加一个组合键
); 
/*
    二、修改表时添加主键
*/
alter table t4 add primary key (id); -- 添加一个主键
alter table t4 add primary key (id,name) -- 添加一个组合键
/*
    三、删除主键
*/
alter table t6 drop primary key;

03列属性——唯一键

  1. 特点:

    1. 不能重复,可以为空。
    2. 一个表可以有多个唯一键。
  2. 作用:

    1. 保证数据不能重复,保障数据完整性。
    2. 加快数据访问。
  3. 查看唯一键:

    语法: show create table 表名 \G;

  4. 添加唯一键:

    1. 创建表时,直接在数据类型后写 unique [key]关键词。
    2. 创建表时,写 unique (字段名);创建一个唯一键。
    3. 创建表时,写 unique (字段名1),unique (字段名2),……创建多个唯一键。
    4. 创建表时,写 unique (字段名1,字段名2,....)创建组合唯一键。
    5. 修改表时使用 alter table 表名 add unique (字段名);添加一个唯一键。
    6. 修改表时使用 alter table 表名 add unique (字段名1) , add unique(字段名2),....;添加多个唯一键。
    7. 修改表时使用 alter table 表名 add unique (字段名1,字段名2,....);添加组合唯一键。
    8. 使用modify或change关键词也可以添加唯一键。
  5. 删除唯一键: alter table 表名 drop index 唯一键的名字;

  6. 查询唯一键的名字:show create table 表名 \G;,唯一键可以自己命名,在适当位置命名即可。

# 唯一键的创建与删除
/*
    一、创建表时创建唯一键
*/
# 4.a 创建表时,直接在数据类型后写 unique [key]关键词。
create table t1(
    id int,
    stuid char(11) unique comment '学号',
    name varchar(10) unique,
);
# 4.b 创建表时,写 unique (字段名);创建一个唯一键。
create table t2(
    id int ,
    stuid char(11),
    name varchar(10),
    unique(stuid)
);
# 4.c 创建表时,写 unique (字段名1),unique (字段名2),……创建多个唯一键。
create table t3(
    id int ,
    stuid char(11),
    name varchar(10),
    unique(stuid),
    unique(name)
);
# 4.d 创建表时,写 unique (字段名1,字段名2,....)创建组合唯一键。
create table t4(
    id int,
    stuid char(11),
    name varchar(10),
     unique(stuid,name)
)
/*
    二、修改表时创建唯一键
*/
# 4.e 修改表时使用 alter table 表名 add unique (字段名);添加唯一键。
alter table t5 add unique (stuid);
# 4.f 修改表时使用 alter table 表名 add unique (字段名1)  , add unique(字段名2),....;添加多个唯一键。
alter table t6 add unique (stuid),add unique(name);
# 4.g 修改表时使用 alter table 表名 add unique (字段名1,字段名2,....);添加组合唯一键。
alter table t7 add unique (stuid,name);
/*
    三、删除唯一键
*/
alter table 表名 drop index 唯一键的名字;

04列属性——备注

为了程序员之间的交流,使用comment在创建表时进行备注。实用查询显示创建表的语句查看备注,没啥可说的。

05注释

# 这是一个单行注释
-- 这是一个单行注释
/*
    这是一个多行注释
*/

相关文章

  • 列属性

    列属性:真正约束字段的是数据类型,但是这种约束很单一,需要有一些额外的约束,来更加保证数据的合法性,这就需要列属性...

  • 列属性

    07列属性 01列属性——自动增长 字段从1开始每次递增1,特点是字段中的数据不可能重复,适合记录生成唯一id。 ...

  • 列布局

    1、Columns列属性 定义:columns 属性是一个简写属性,用于设置列宽和 列数 语法:columns: ...

  • 字段属性——列属性

    列属性:真正约束字段的是数据类型,但是数据类型的约束很单一,需要一些额外的约束,来更加的保证数据的合法性,这就是列...

  • columns 多列布局

    语法:columns: || 多列布局columns属性参数主要就两个属性参数:列宽和列数。

  • (八)列属性(列约束)

    1. PRIMARY 主键 2. UNIQUE 唯一索引(唯一约束) 3. NULL 约束 4. DEFAULT ...

  • 数据更新

    插入元组格式:insert into 表名 (属性列1,属性列2,属性3...) values (常量1,常量2,...

  • python读取csv文件的某一列或某几列

    读取csv某一列数据 按照列属性进行读取 按照列属性读取数据前十行

  • MySQL列属性

    列属性:约束,真正约束字段的是数据类型,但是数据的类型的约束很单一,需要有一些额外的约束,来更加保证数据的合法性。...

  • mysql 列属性

    主键的作用: 1.保证数据完整性 2.加快查询速度

网友评论

      本文标题:列属性

      本文链接:https://www.haomeiwen.com/subject/sqtqectx.html