精华内容
下载资源
问答
  • 数据库学习3-列属性(字段属性

    千次阅读 2021-01-14 16:07:18
    列属性又称为字段属性,在mysql中共有6个属性,null,默认值,列描述,主键,唯一键和自动增长 null属性 null属性,代表字段为空 如果对应的值为YES表示该字段可以为空值 注意: 在设计表的时候,尽量不要让...

    目录

    列属性

    简单属性

    null属性

     默认值

    列描述

    主键

    创建主键

    查看主键

    删除主键

    主键约束

    主键分类

    自动增长

    原理

    使用自动增长

    修改自动增长

    删除自动增长

    初始设置

    细节问题

    唯一键

    创建唯一键

    查看唯一键

    删除唯一键

    修改唯一键

    复合唯一键


    列属性

    简单属性

    列属性又称为字段属性,在mysql中共有6个属性,null,默认值,列描述,主键,唯一键和自动增长

    null属性

    null属性,代表字段为空

    如果对应的值为YES表示该字段可以为空值

    注意:

    在设计表的时候,尽量不要让数据为空

     默认值

    default:默认值,当字段被设计的时候,如果允许默认条件下,用户不进行数据的插入,那么就可以使用事先准备好的数据来填充,通常填充的是NULL

    测试:不给当前字段提供插入值

    从图中可以发现age字段使用默认值18进行填充

    default关键字的另外一层使用,显示的告知字段使用默认值,在进行数据插入的时候,对字段值直接使用default

    列描述

    comment:专门用于给开发人员进行维护的一个注释说明

    基本语法:

    comment 字段描述;

    查看comment,必须通过查看表创建语句

    主键

    顾名思意,主要的键,primary key,在一张表中,有且只有一个字段,里面的值具有唯一性

    创建主键

    随表创建

    系统提供了两种增加主键的方式

    方案一:直接在需要当作主键的字段之后,增加primary key属性来确定主键

    方案二:在所有字段之后增加primary key选项,primary key(字段信息)

    表后增加

    基本语法:

    alter table 表名 add primary key(字段);

    查看主键

    方案一:查看表结构

    方案二:查看表的创建语句

    删除主键

    基本语法:

    alter table 表名 drop primary key;

    复合主键

    案例:有一张学生选修课表,一个学生可以选修多个选修课,一个选修课也可以由多个学生来选,但是一个学生在一个选修课中只有一个成绩。

    主键一般用在中间表,学生有学生表,课程有课程表,学生与课程的中间表my_score就用复合主键

    主键约束

    主键一旦增加,那么对对应的字段有数据要求

    1、当前字段对应的数据不能为空;

    2、当前字段对应的数据不能有任何重复;

    数据重复后报错:

    主键分类

    主键分类采用的是主键所对应的字段业务意义分类

    业务主键:主键所在的字段,具有业务意义(学生ID,课程ID)

    逻辑主键:自然增长的整型(应用广泛)

    自动增长

    自动增长,auto_increment,当给定某个字段该属性之后,该列的数据在没有提供确定数据的时候,系统会根据之前已经存在的数据进行自动增加后填充。

    通常自动增长用于逻辑主键。

    原理

    1、系统中有维护一组数据用来保存当前使用了自动增长属性的字段,记住当前对应的数据值,再给定一个指定的步长;

    2、当用户进行数据插入的时候,如果没有给定值,系统在原始值上再增加上步长变成新的数据;

    3、自动增长的触发,给定属性的字段没有提供值;

    4、自动增长只适用于数值;

    使用自动增长

    基本语法:

    在字段之后增加一个属性auto_increment

    修改自动增长

    1、查看自增长,自增长一旦触发之后,会自动的在表选项中增加一个选项(一张表最多只能拥有一个自增长)

    2、表选项可以通过修改表结构来实现

    基本语法:

    alter table 表名 auto_increment=数值;

    删除自动增长

    删除自增长,就是在字段属性之后不再保留auto_increment,当用户修改自增长所在字段时,如果没有看到auto_increment属性,系统会自动清除该自增长

    初始设置

    在系统中,有一组变量用来维护自增长的初始值和步长

    细节问题

    1、一张表只有一个自增长,自增长会上升到表选项中

    2、如果数据插入中没有触发自增长(给定了数据),那么自增长不会表现

    3、自增长修改的时候,值可以较大,但是不能比当前已有的自增长字段的值小


    唯一键

    unique key,用来保证对应的字段中的数据唯一的

    主键也可以用来保证数据唯一性,但是一张表只有一个主键

    1、唯一键在一张表中可以有多个

    2、唯一键允许字段数据为NULL,NULL可以有多个(NULL不参与比较)

    创建唯一键

    创建唯一键与创建主键非常类似

    1、直接在表字段之后增加唯一键标识符,unique [key];

    -- 唯一键
    create table my_unique1(
    id int primary key auto_increment,
    username varchar(10) unique
    )charset utf8;

    2、在所有的字段之后使用unique key(字段列表);

    create table my_unique2(
    id int primary key auto_increment,
    username varchar(10),
    unique key(username)
    )charset utf8;

    3、在创建完表之后也可以增加唯一键;

    alter table 表名 add unique key(字段列表);

    查看唯一键

    唯一键效果:在不为空的情况下不允许重复

    在查看表创建语句的时候,会看到与主键不同的一点:多出一个“名字”

    删除唯一键

    index:关键字,唯一键是索引的一种(提升查询效率)

    基本语法:

    alter table 表名 drop index 唯一键名字;

    修改唯一键

    先删除后增加

    复合唯一键

    唯一键与主键一样,可以使用多个字段共同保证唯一性

    一般主键都是单一字段(逻辑主键),而其他需要唯一性的内容都是由唯一键来处理

     

     

    展开全文
  • SQL新增、删除字段、修改字段属性

    千次阅读 2019-07-30 17:05:50
    新增字段: ALTER TABLE [表名] ADD [字段名] [字段属性] [是否允许为空]; 例如ALTER TABLE TEST_INFO ADD 'NAME' VARCHAR(256) NOT NULL COMMENT '名称';
    1. 新增字段:ALTER TABLE [表名] ADD [字段名] [字段属性] [是否允许为空];
      例如:ALTER TABLE TEST_INFO ADD 'NAME' VARCHAR(256) NOT NULL COMMENT '名称';

    2. DB2修改表字段长度:ALTER TABLE [表名] ALTER [字段名] SET DATA TYPE 类型;
      例如:ALTER TABLE TEST_INFO ALTER NAME SET DATA TYPE VARCHAR(500);

    3. mysql修改表字段长度:alter table 表名 modify column 字段名 类型;
      例如:alter table test_info modify column name VARCHAR(1000);

    4. 删除字段:ALTER TABLE [表名] DROP COLUMN [字段名];
      例如:ALTER TABLE TEST_INFO DROP COLUMN NAME;

    5. 修改DB2表的字段属性由非空改为空
      例如:ALTER TABLE TEST_INFO ALTER NAME DROPNOT NULL;

    6. 创建表时指定表空间:直接在建表语句后面;前面加上IN 表空间名称
      例如:CREATE TABLE TEST_INFO(id DECIMAL(19,0),...) IN tablespace_name; COMMENT ON TABLE TEST_INFO IS '信息表';

    展开全文
  • MySQL数据库字段属性

    2015-09-22 11:56:41
    字段属性有很多,比如零填充、自增、默认值等。以下指令打开test数据库后创建一个user表, 此时会有一个错误,原因是将某个字段属性定义为auto_increment是,它必须是主键。因此,修改指令如下: 此时表的结构...

    字段属性有很多,比如零填充、自增、默认值等。以下指令打开test数据库后创建一个user表,
    创建一个表,使字段id的属性为auto_increment
    此时会有一个错误,原因是将某个字段属性定义为auto_increment是,它必须是主键。因此,修改指令如下:
    创建一个带主键的表
    此时表的结构如下:
    user表的字段结构和属性
    用insert指令插入三条数据,然后查看表中的数据,如下所示:
    id字段此时就可以不用插入,自己会自增,而且是不允许为空的
    为了更进一步描述字段属性的默认值,用alter添加一列pass,指令如下:
    在表中添加一个字段的方法,并且附带默认值属性
    此时表的结构和字段属性如下所示:
    这里写图片描述
    插入一条新的记录,此时查询到的表中的记录如下:
    这里写图片描述
    最后演示一个完整表的创建过程指令如下:
    创建一个完整的表,附带所需的字段属性

    展开全文
  • 数据库字段属性和索引

    千次阅读 2019-07-05 23:30:25
    字段属性 主键,唯一值和自增长 主键 主键:primary key ,主要的键,一张表只能有一个字段可以使用对应的键,用来唯一的约束该字段里面的数据,不能重复,这种称之为主键。 1.增加主键 SQL操作中有多种方式可以...

    字段属性
    主键,唯一值和自增长
    一、主键
    主键:primary key ,主要的键,一张表只能有一个字段可以使用对应的键,用来唯一的约束该字段里面的数据,不能重复,这种称之为主键。
    1.增加主键
    SQL操作中有多种方式可以给表增加主键:大体分为三种
    方案1:在创建表的时候,直接在字段之后,跟primary key 关键字(主键本身不允许为空)
    例如:创建表course,设置主键为Cname
    create table course(
    -> id varchar (20) not null comment ‘课程号’,
    -> Cname varchar (20) primary key comment ‘课程名’
    -> ) charset utf8;
    在这里插入图片描述优点:非常直接;缺点:只能使用一个字段作为主键。
    方案2:在创建表的时候,在所有的字段之后,使用primary key(主键字段列表)来创建主键(如果有多个字段作为主键,可以使复合主键)

    复合主键
    create table sc(
    number char(10) comment ‘学号’,
    course char(10) comment ‘课程代码’,
    score tinyint unsigned default 60 comment ‘成绩’,
    –增加主键限制:学号和课程号应该是对应的,具有唯一性
    primary key(number,course)
    )charset utf8;

    在这里插入图片描述

    方案3:当表已经创建好后,再次额外追加主键,可以通过修改表字段属性,也可以直接追加。
    Alter table 表名 add primary key (字段列表)

    在这里插入图片描述在这里插入图片描述前提:表中字段对应的数据本身是独立的(不重复)

    2、主键约束
    主键对应的字段的数据不允许重复,一旦重复,数据操作失败(增和改)
    向student插入数据
    insert into test_student values(‘itcast001’,‘王二’,‘男’),(‘itcast002’,‘吴三’,‘女’);
    insert into sc values(‘itcast001’,‘3901001’,90),(‘itcast002’,‘3901002’,100);

    insert into test_student values(‘itcast002’,‘刘四’,‘女’);
    insert into sc values(‘itcast001’,‘3901001’,100);
    在这里插入图片描述操作失败

    3、更新主键&删除主键
    没有办法更新主键,逐渐必须先删除后才能添加
    Alter table 表名 drop primary key
    删除一个主键
    alter table ccc drop primary key;
    在这里插入图片描述
    4、主键分类
    在实际创建表的过程中,很少使用真是业务数据作为主键字段(业务主键,如学号,课程号);
    大部分的时候是使用逻辑性的字段(字段没有业务含义,值是什么没有关系),将这种字段主键称之为逻辑主键。

    create table my_student(
    id int primary key auto_increment comment ‘逻辑主键:自增长’,
    number char(10) not null comment ‘学号’,
    name varchar(10) not null
    )

    二、自动增长

    1、新增自增长:当对应的字段,不给值或者说给默认值,或者给null的时候,会自动的被系统触发,系统会从当前字段中已有的最大值再进行+1操作,得到一个新的在不同的字段
    自增长特点:auto_increment
    1、任何一个字段都要做自增长必须前提是本身是一个索引(key一栏有值)
    2、自增长字段必须是数字(整型)
    3、一张表最多只能有一个自增长

    create table my_auto(
    id int auto_increment comment ‘自动增长’ ,
    name varchar(10) not null
    )charset utf8;

    在这里插入图片描述错误
    改正为

    create table my_auto(
    id int primary key auto_increment comment ‘自动增长’ ,
    name varchar(10) not null
    )charset utf8;

    在这里插入图片描述2、自增长的使用:
    当自增长被给定的值为null或者默认值的时候会触发自动增长

    insert into my_auto(name) values (‘邓丽君’);
    insert into my_auto values(null,‘一一’);
    insert into my_auto values(default ,‘张韬’);

    在这里插入图片描述在这里插入图片描述自增长如果对应的字段输入了值,那么自增长失效,但是下一次还是能够正确的自增长(从最大值+1)

    insert into my_auto values (6,‘荷花’);
    insert into my_auto values(null,‘莲花’);
    在这里插入图片描述如何确定下一次是什么自增长呢?可以通过查看表创建语句看到。

    show create table my_auto;
    在这里插入图片描述3、修改自增长
    1、自增长如果是涉及到字段改变,这个时候必须先删除自增长,因为一张表只能有一个自增长
    2、修改当前自增长已经存在的值:修改只能比当前已有的自增长的最大值大,不能小(小不生效)。

    alter table my_auto auto_increment=4;–向下修改(小) 不成功
    在这里插入图片描述alter table my_auto auto_increment=10;–向上修改(大) 成功
    在这里插入图片描述思考:为什么自增长是从1开始?为什么每次都是自增1呢?
    所有系统的变化(如字符集,校对集)都是由系统内部的变量进行控制的。
    查看自增长对应的变量:
    show variables like ‘auto_increment%’;
    在这里插入图片描述可知,步长为1,起始值也为1.
    可以修改变量实现不同的效果:修改时对整个数据修改,而不是单张表(修改是会话级)

    修改自增长步长
    set auto_increment_increment=5;
    在这里插入图片描述测试效果:自动使用增长
    插入记录:使用自增长
    insert into my_auto values(null,‘刘洋’);
    insert into my_auto values(null,‘刘杨’);
    在这里插入图片描述刚开始修改时系统没有反应过来,所以测试第二次。

    4、删除自增长
    自增长是字段的一个属性:可以通过modify来进行修改(保证字段没有auto_increment即可)
    alter table 表名 modify 字段 类型;
    例如:
    alter table my_auto modify id int primary key;–错误:主键理论是单独存在的。
    alter table my_auto modify id int;–有主键的时候,千万不要再添加主键。
    在这里插入图片描述三、唯一键
    一张表往往有很多字段需要具有唯一性,数据不能重复:但是一张表中只能有一个主键,唯一键就可以解决表中有多个字段需要唯一性约束的问题。

    唯一键的本质和主键差不多:唯一键默认的允许自动为空,而且可以多个为空(空字段不参与唯一性比较)

    1、增加唯一键
    基本与主键差不多:三种方案
    方案1:在创建表的时候,字段后面直接跟unique/unique key

    create table my_unique1(
    number char(10) unique comment ‘学号: 唯一,允许为空’,
    name varchar(20) not null
    )charset utf8;

    在这里插入图片描述
    方案2:在所有的字段之后增加unique key(字段列表);–复合唯一键

    create table my_unique2(
    number char(10) not null comment ‘学号’,
    name varchar(20) not null,
    unique key(number)
    )charset utf8;

    在这里插入图片描述在这里插入图片描述之所以会显示为PRI,刚好是一个不为空的唯一键(主键性质一样),原因是没有主键。
    方案3:

    create table my_unique3(
    id int primary key auto_increment,
    number char(10) not null,
    name varchar(20) not null)charset utf8;

    –追加唯一键
    alter table my_unique3 add unique key(number);
    在这里插入图片描述当主键存在的时候,unique不能变成主键
    2、唯一键约束

    唯一键与主键本质相同;唯一的区别就是唯一值默认允许为空,而且是多个为空。
    insert into my_unique1 values(null,‘曾光’),(‘itcast001’,‘陈八’),(null,‘陈九’);
    在这里插入图片描述insert into my_unique1 values(‘itcast001’,‘陈十’);
    在这里插入图片描述如果唯一键也不允许为空,那么与逐渐的约束是一样的。
    3、更新唯一键&删除唯一键
    更新唯一键:先删除后新增(唯一键有多个,可以不删除)
    删除唯一键
    alter table 表名 drop unique key;–错误,唯一键有多个
    alter table 表名 drop index 索引名字 --索引名字默认是字段名
    alter table my_unique3 drop index number;
    在这里插入图片描述

    四、索引
    几乎所有的索引都是建立在字段之上
    索引:系统根据某种算法,将已有的数据(未来可能新增的数据),单独建立一个文件,文件能够实现快速的匹配数据,并且能够快速的找到对应表中的记录。
    索引的意义:
    1、提升查询数据的效率
    2、约束数据的有效性(唯一性等)

    增加索引的条件:索引本身会产生索引文件(有时候可能比数据文件还大),会非常耗费磁盘空间。
    如果某个字段需要作为查询的条件经常使用,那么可以使用索引(一定会想办法增加);
    如果某个字段需要进行数据的有效性约束,也可能使用索引(主键,唯一键)

    Mysql中提供了多种索引
    1、主键索引 primary key
    2、唯一索引 unique key
    3、全文索引 fulltext index
    4、普通索引 index

    全文索引:针对文章内部的关键字进行索引
    全文索引最大的问题:在于如何确定关键字
    英文很容易;英文单词与单词之间有空格
    中文很难;没有空格,而且中文可以各种随意组合(分词:sphinx)

    展开全文
  • Swagger字段属性说明不显示

    千次阅读 2020-06-15 22:46:41
    Swagger字段属性说明不显示问题 问题 返回单个bean就显示 字段说明 返回 map 就不显示字段说明 解决 返回字段使用泛型 ,并且返回方法 返回泛型 例如controller 方法 @GetMapping("localpermapList") @...
  • sql语句 修改字段属性

    千次阅读 2016-02-24 18:00:05
    alter table sysmenu modify 字段名 字段属性;
  • odoo12:常用字段属性

    千次阅读 2019-01-21 01:10:19
    常用字段属性 字段它具有可供我们定义其行为的其他属性。下面列出一些通常用作关键字参数的属性。 String 是要在用户界面中使用的字段的默认标签。除了Selection和Relation字段之外,它是第一个位置参数,因此 ...
  • SQL Server修改字段属性总结

    千次阅读 热门讨论 2017-09-19 20:14:24
    SQL Server修改字段属性总结1:向表中添加字段 Alter table [表名] add [列名] 类型 2: 删除字段 Alter table [表名] drop column [列名] 3: 修改表中字段类型 可以修改列的类型,是否为空) Alter table [表名] ...
  • mysql-修改字段属性(8)

    千次阅读 2018-07-28 10:23:23
    modify和change关键字修改属性,使用modify和change关键字都可以修改字段属性,可以字段的数据格式类型,以及约束性条件。 但是change和modify也有不同之处的,change可以修改字段名,但是modify不能。下面分别...
  • SQL 字段属性大小更改

    千次阅读 2017-07-20 12:04:35
    用V$LOCK_TYPE 查询DML锁:select * from v$lock_type v where v.is_user='YES'; 结果发现各个属性之间的间距很大,查看的时候很不方便。为了方便查看结果,可以用下面的操作更改字段属性大小:col...format...
  • SQL之字段属性(1)

    千次阅读 2019-01-01 16:51:15
    列属性又称之为字段属性,在mysql中一共有6个属性:null,默认值,描述列,主键,唯一键和自动增长 一.null属性 null属性:代表字段为空 mysql的记录长度为65535个字节,如果表中有字段允许为null,那么系统就会设计...
  • 171204之数据库修改字段属性

    千次阅读 2017-12-04 10:01:43
    修改字段属性的一些操作,包括添加字段、删除字段、添加主键、添加唯一约束、添加外键等。1:向表中添加字段 alter table [表名] add [列名] 类型2:删除字段 alter table [表名] drop column [列名]3:修改表中...
  • mysql修改字段属性及修改是否非空

    千次阅读 2020-05-21 10:46:31
    不过我们可以选择直接修改表的字段属性并且可以修改为是否非空。 SQL语句: ALTER TABLE 表名 MODIFY column 字段名 字段类型 是否非空; 列如: ALTER TABLE t_user MODIFY column user_id VARCHAR(255) NOT NU
  • @JsonField 修改json字段属性名称

    千次阅读 2019-03-02 14:24:00
    @JsonField 修改json字段属性名称 在前后端分离的开发方式中,经常会遇到后端字段名称和前端字段名称定义不一致的问题,比如,后端定义的Bean中的字段名称为createAt,而前端用的字段名称为...
  • MYSQL给已存在的数据表增加字段(修改字段属性)的语句 此处对于使用图形界面操作数据库的方法不作描述了,使用Navicat对数据库数据表进行此类操作并没有难度,以下是对于使用数据库语句代码进行数据库表增加字段,...
  • MySQL 字段属性(约束)

    千次阅读 2016-07-24 08:12:14
    字段属性:null/not null,primary key,auto_increment,unique key,comment,default Null:表示字段的值可以为空(在进行数据插入的时候,该字段可以不给数据),notnull表示不能为空,必须要给定值(不能是null) ...
  • 需求:需求是在数据库插入的时候,不使用第三...在插入时,由于字段数量的庞大,使用考虑使用反射来获取字段属性和字段值插件:org.jetbrains.kotlin:kotlin-reflect:1.1.4-3方法: suspects. javaClass. kotlin.
  • 以上代码为SQL查询表中所有字段属性,字段长度,备注信息
  • Odoo-初识系统-ORM之字段属性对象Field

    千次阅读 2017-09-18 11:14:07
    字段属性对象Field Model的字段属性对应数据表中的相应字段,pg表中不同的字段有不同类型,Odoo也为其封装了相应的类型对象 Field类型的属性: type = None 字段类型 relational = False 是否是关联字段 ...
  • PLSQL Developer 查看字段属性描述信息乱码问题 操作系统:WIN 10 PLSQL Developer:本地的只是客户端,Oracle数据库在远程服务器上。 PLSQL Developer版本:7.1.4.1390 在使用PLSQL Developer的时候,我们...
  • 知识要点:1、字段属性的基本设置方法。2、字段属性中的基本要点。 当们完成了表字段的命名,字段数据类型的设计后,表的设计并没有完成。为了保证表中数据的完整性、一致性及兼容性,也为了使数据表的数据能有效的...
  • 在开发过程中,难免触及到关于金额的项目,这时候,数据表的设计就得注意了,金额的字段属性的给予,需要多加注意,不然容易出错。 先介绍下以下三种属性: float:浮点类型,数值范围为-3.4E38 ~ +3.4E38(也就是7...
  • 字段属性也叫列属性,在mysql中一共有6个列属性:null、default、comment、primary key、unique key、auto_increment。简单属性1、null:该字段是否可以为空。2、default(默认值):当字段允许默认时,如果没有插入...
  • Oracle数据库修改Number字段属性

    千次阅读 2016-04-17 10:53:03
    在Oracle数据库中,我们会因为一些需求或其他原因要修改数据库的字段属性,但是直接用语句:alter table TEST_TABLE modify (TEST_AGE NUMBER (3) DEFAULT null ); 会出现以下的错误日志: 这是因为数据库中,该列...
  • 在线DDL修改varchar字段属性时不锁表

    千次阅读 2019-06-12 09:21:54
    《MySQL管理之道:性能调优、高可用与监控(第2版)》第2章MySQL 5.7与...本节为大家介绍在线DDL修改varchar字段属性时不锁表。 2.3.2 在线DDL修改varchar字段属性时不锁表 MySQL 5.7针对DDL功能做了加强,修改...
  • 这种情况常常是因为 某一张表 修改了 字段属性之后 没有对应的修改 另一张表的属性  那我们怎么能找出那些有区别的 字段属性呢  架设 tableTest是测试库表 tableUse是正式库的表 通过下面的语句即可查询出 ...
  • mysql 更改字段属性

    千次阅读 2019-07-09 22:18:47
    有的时候创建好的表,由于后续的逻辑等更改,需要修改字段属性或者是字符串类型的长度。 alter table table_name modify colume_name varchar(128);
  • shp文件导出CAD,同一图层按字段属性一起导出CAD ABC
  • SQL Server不允许更改字段属性

    千次阅读 2017-01-11 14:32:54
    在更改SQL Server2008的表结构的时候,遇到了如图1所示的问题:不允许更改字段属性,解决办法:打开SQL SERVER 2008 工具-->选项-->Designers-->表设计器和数据库设计器,把“阻止保存要求重新创建表的更改”的勾...
  • Spring 注解实体类中非数据库字段属性 解决办法:在属性的get方法上加上一段注解标识它是临时属性,不是数据库字段就OK @Transient public List<Reverts> getChildList() { return ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 57,773
精华内容 23,109
关键字:

字段属性