精华内容
下载资源
问答
  • 数据库字段类型
    千次阅读
    2019-08-08 16:59:29

    直奔主题,例如表字段如下:

     create table test_tab(

       type char(3)

    )

    如果我们在前端传值,type给的值为"1",那么保存在数据库中此条记录type的值为"1  " 多出两个长度的空格

    更多相关内容
  • Oracle数据库字段类型详解.
  • 修改数据库字段类型

    千次阅读 2022-03-24 16:06:38
    数据库中本地化城市字段原来是用char(1)类型来存放的城市对应的编码,但是当城市超过10之后,这里编码的大小从1会变成2,导致在数据库中插入时会有数据库异常的情况。 2.解决方法和出现的问题 这里最开始是准备...

    记录生产环境数据库问题

    1.问题出现原因

    在数据库中本地化城市字段原来是用char(1)类型来存放的城市对应的编码,但是当城市超过10之后,这里编码的大小从1会变成2,导致在数据库中插入时会有数据库异常的情况。

    2.解决方法和出现的问题

    1. 这里最开始是准备通过把char(1)改完char(2)来解决,这样乍一看可解决,但是如果查询的是10以内的编码就会有问题,因为char类型是不可变长的,这里设置之后会给原来的1位的编码后面加上一个空格,所以在查询时会有问题

    2. 遇到这个问题后这里就想把这个改为varchar2(2)类型,因为varcahr2类型是可变长,可以解决这个问题,但是有存在新的问题,就是数据库中存在有数据,这里直接修改会出现

      ORA-01439: column to be modified must be empty to change datatype

      这个异常,这里是因为不可以修改有数据时的数据类型

    解决方法:

    这里可以通过先把原来的列重命名,然后把新增一条和原来名字相同的类,然后把数据复制到新增加的列,最后把原来的列删除

    ALTER TABLE TSYS_DEPARTURE RENAME COLUMN LOCALIZED_CITY TO LOCALIZED_CITY_col;//重命名原来的列
    
    ALTER TABLE TSYS_DEPARTURE ADD (LOCALIZED_CITY VARCHAR2(2));//新增和原来一样的列
    
    update TSYS_DEPARTURE td1 set td1.LOCALIZED_CITY = (SELECT td2.LOCALIZED_CITY_col FROM TSYS_DEPARTURE td2 WHERE td1.URID=td2.URID); //复制数据
    
    ALTER TABLE TSYS_DEPARTURE MODIFY (LOCALIZED_CITY VARCHAR2(2) NOT NULL);//这里是因为有数据时不能直接加非空的约束
    
    COMMENT ON COLUMN TSYS_DEPARTURE.LOCALIZED_CITY IS '本地化城市';//加注释
    
    ALTER TABLE TSYS_DEPARTURE DROP (LOCALIZED_CITY_col);//删除原来的列
    
    
    展开全文
  • django数据库字段类型

    千次阅读 2022-04-14 18:52:43
    django模型中常见字段类型

    字段类型 字段类型指使用Django ORM创建数据库时支持的数据字段类型。

    常用字段

    (1) AutoField

    自增的整型字段,必填参数primary_key=True,则成为数据库的主键,无该字段时,django会自动创建主键id字段。

    (2) BigAutoField

    一个64位整数,非常类似与AutoField,但是范围是从1~9223372036854775807。

    (3) BigIntegerField

    一个64位整数,非常类似于IntegerField,不同之处在于保证可以匹配从-9223372036854775808到9223372036854775807。此字段默认表单小部件是TextInput。

    (4) BinaryField

    一个用于存储原始二进制数据的字段,可以分配bytes,bytearray或memoryview。默认情况下,BinaryField设置editable为False,在这种情况下,他不能包含在ModelForm中,在django2.1中进行了修改:旧版本不允许设置editable为True。有一个额外的可选参数:max_length,字段的最大长度,以字符为单位。最大长度在django的验证中使用强制执行MaxLengthValidator。

    (5) BooleanField

    一个真假字段,该字段默认表单控件是CheckboxInput或者NullBooleanSelect。当没有设置default值是,BooleanField的值为None。

    (6) IntegerField

    整数类型字段,数值范围是—2147483648~2147483647.

    (7) CharField

    字符类型,必须提供max_length参数。代表字符的最大长度。

    (8) DateField

    日期类型,日期格式为YYYY-MM-DD,相当于python中的datetime.date实例。

    参数:

    auto_now:每次修改保存修改为当前日期时间,对于“最后修改的” 时间戳有用。在使用Model.save()保存时有效,使用QuerySet.update() 时不会自动更新。

    auto_now_add:新创建对象时自动添加当前日期时间,用于“创建时间”时使用。

    auto_nowauto_now_adddefault参数是互斥的,不能同时设置。

    (9) DatetimeField

    日期时间字段,格式为YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ],相当于Python中的datetime.datetime的实例。

    (10) DecimalField

    固定精度的十进制数字,在python中由Decimal实例表示。有两个必需的参数:max_digits数字允许的最大位数,此数字必须大于或等于decimal_placesdecimal_places表示与数字一起存储的小数位数。例如:要存最大整数为999,小数为两位的数字,可以使用:

    models.DecimalField(max_digits=5, decimal_places=2)
    

    (11) DurationField

    一个用于存储时间的字段-用Python在Python中建模timedelta。在PostgreSQL上使用时,使用的数据类型为interval,在Oracle上使用为。否则,将使用微秒。INTERVAL DAY(9) TO SECOND(6)bigint

    (12) EmailField

    使用EmailValidator检测该字段是否为有效的电子邮箱地址。

    (13) FileField

    文件上传字段,不支持primary_key参数,使用该参数时将引发错误。

    有两个可选参数:

    upload_to:设置上传目录和文件名的方法,并且可以通过两种方法进行设置。将参数附加到MEDIA_ROOT路径中,已形成本地文件系统上将存储上传文件的位置。

    storage:一个存储对象,用于处理文件的存储和检索。

    **注意:**在模型中使用FileField或ImageField时,需要执行以下几个步骤:

    l 在settings.py中定义MEDIA_ROOT为django设置存储上载文件的目录的完整路径(这些文件并未直接存储在数据库中,在数据库中只是存储路径)。定义MEDIA_URL为该目录的基本公共URL,确保该目录可由web服务器的用户账号写入。

    l 在模型中添加FileField或ImageField字段时,定义upload_to指定MEDIA_ROOT的路径用于上传文件的目录。

    l 存储在数据库中的所有文件都是该文件的路径(相对于MEDIA_ROOT)。如果ImageField调用了,则mug_shot可以使用来获取摸板中图像的绝对路径。{undefined{ object.mug_shot.url }}

    假入MEDIA_ROOT的设置为’/home/media’,并且upload_to设置为’photos/%Y/%m/%d’。所述**’%Y/%m/%d’** 的部分upload_to被strftime()格式化;’%Y’是四位数的年份,’%m’是两位数的月份,’%d’是两位数的日期。如果在2007年1月15日上传文件,该文件将保存在目录/home/media/photos/2007/01/15中。

    l FieldFile.name:文件名,包括相对路径。

    l FieldFile.url:一个只读属性,访问文件的相对URL。

    (14) FloatField

    代表在python中由float实例表示的浮点数。

    (15) ImageField

    继承FileField所有的方法,但还验证上传的对象为有效的图像。除了 可用于特殊属性FileField,一个ImageField也具有height和width 属性。为了便于查询这些属性,ImageField有两个额外的可选参数。在数据库中创建的为varchar列,默认最大长度为100字符。

    ImageField.height_field:每次保存模型实例时,模型字段的名称都会自动填充图像的高度。

    ImageField.width_field:每次保存模型实例时,模型字段的名称都会自动填充图像的宽度。

    (16) IntegerField

    一个整数。从-2147483648到2147483647.

    (17) GenericIPAdressField

    字符串格式的IPv4和IPv6地址(如:192.0.2.30或2a02:42fe::4)。默认表单格式为TextInput。

    (18) TextField

    文本字段。默认表单小部件是Textarea,如果指定max_length属性,将反映在Textarea自动生成的表单字段中。

    (19) TimeField

    时间,在Python中以datetime.time实例表示。接受与相同的自动填充选项DateField。

    (20) URLField

    一个CharField一个URL,通过验证 URLValidator。

    此字段的默认表单小部件是TextInput。

    像所有CharField子类一样,URLField采用可选 max_length参数。如果未指定 max_length,则使用默认值200。

    (21) UUIDField

    用于存储通用唯一标识符的字段。使用Python的 UUID类。在PostgreSQL上使用时,它存储在uuid数据类型中,否则存储在 中char(32)。

    是通用的唯一标识符,可以很好的替代带有的 primary_key的AutoField字段。数据库不会为您生成UUID,因此建议使用default:

    import uuidfrom django.db import models
    
    class MyUUIDModel(models.Model):
    
     	id=models.UUIDField(primary_key=True,default=uuid.uuid4,editable=False)
    

    (22) ForeignKey

    多对一关系,需要两个位置参数:与模型相关的类和on_delete选项,如果创建地柜关系(一个与自身具有多对一关系的对象)则使用model.ForeignKey(‘self’,on_delete=models.CASCADE)。如果需要在尚未定义的模型上创建关系,则可以使用模型的名称,而不是模型对象本身。如:

    from django.db import models
    
    class Car(models.Model):
       manufacturer = models.ForeignKey('Manufacturer',on_delete=models.CASCADE, )
    
    class Manufacturer(models.Model):
      	pass
    

    参数:

    ForeignKey.on_delete:所有可能的参数都在django.db.models中。当删除由a引用的对象时,Django将模拟on_delete参数指定的SQL约束的行为。例如:如果有一个可为空的字段,并且在删除引用的对象时将其设置为空,如

    user = models.ForeignKey(
    
    ​    User,
    
    ​    models.SET_NULL,
    
    ​    blank=**True**,
    
    ​    null=**True**,)
    

    **CASCADE:**级联删除。Django会在DELETE CASCADE上模拟 SQL约束的行为,并删除包含ForeignKey的对象。

    **DO_NOTHING:**不采取行动。

    **PROTECT:**通过引发ProtectedError的子类来防止删引用的对象,是django.db.IntegrityError的子类。

    SET_NULL:删除时把外键置为null,当null=True时才可以使用。

    SET_DEFAULT:把外键置为默认值,必须要设置默认值时才可以使用。

    (23) ManyToManyField

    多对多关系表,需要一个位置参数:与模型相关的类,工作原理与ForeignKey完全相同,包括递归和惰性关系。Django会自动创建中间的链接表来表示多对多的关系。

    (24) OneToOneField
    一对一关系的关系,从概念上与带有unique=True的ForeignKey相似,但是在关系的另一侧(主表数据)直接返回单个对象。
    参考文章:https://blog.csdn.net/qq_42486675/article/details/106772211

    展开全文
  • 数据库字段类型和Java的对应关系

    千次阅读 2022-03-24 15:19:42
    1、CHAR、VARCHAR 、LONGVARCHAR 可映射为 String 或 char[],但 String 更适合于一般用法 ...SMALLINT 类型的 Java 映射的推荐类型是16位的 Java short 类型 5、INTEGER INTEGER 类型 Java 映射的推荐类型是 Java int

    1、CHAR、VARCHAR 、LONGVARCHAR

    可映射为 String 或 char[],但 String 更适合于一般用法

    2、BINARY、VARBINARY 和 LONGVARBINARY

    都可用同一 byte数组来表示。

    3、BIT

    BIT 类型的 Java 映射的推荐类型是 Java 布尔型

    4、SMALLINT

    SMALLINT 类型的 Java 映射的推荐类型是16位的 Java short 类型

    5、INTEGER

    INTEGER 类型 Java 映射的推荐类型是 Java int 类型。

    6、REAL

    REAL 类型的 Java 映射的推荐类型为 Java float 类型

    7、DOUBLE

    DOUBLE 类型的 Java 映射的推荐类型为 Java double 类型。

    8、FLOAT

    FLOAT 类型的 Java 映射的推荐类型为 Java double 类型。

    9、DECIMAL 、 NUMERIC

    DECIMAL 和 NUMERIC 类型的 Java 映射的推荐类型是 java.math.BigDecimal

    10、 DATE、TIME 、TIMESTAMP

    java.sql.Date,对应于 SQL DATE 信息。java.util.Date 基本类中的小时、分钟和秒都设为 0。

    java.sql.Time,对应于 SQL TIME 信息。java.util.Date 基本类中的年、月、日域设为 1970 年 1 月 1 日。这是 Java 纪元的“零”日期。

    java.sql.Timestamp,对应于 SQL TIMESTAMP 信息。该类扩展了 java.util.Date,添加了纳秒域。

    展开全文
  • sqlite数据库字段类型

    千次阅读 2020-03-25 14:30:39
    数据库字段类型: 字符型字段 topic=models.CharField(max_length=)#需要传入参数,设置字符串的最长长度 email=models.EmailTield()#电子邮箱字段,在CharField基础上,增加了邮箱的正则验证 a=models.SlugField()#...
  • django系列3—数据库字段类型

    千次阅读 2020-06-15 22:05:08
    字段类型指使用Django ORM创建数据库时支持的数据字段类型。 常用字段 (1) AutoField 自增的整型字段,必填参数primary_key=True,则成为数据库的主键,无该字段时,django会自动创建主键id字段。 (2) BigAutoField ...
  • 实体类与数据库字段类型

    千次阅读 2019-09-29 18:05:12
    //数据库字段类型 rate decimal(12,3) (2)@Column属性详解: name 定义了被标注字段在数据库表中所对应字段的名称; unique 表示该字段是否为唯一标识,默认为false。如果表中有一个字段需要唯一标识,则既可以...
  • 数据库字段类型说明

    千次阅读 2018-03-23 10:08:29
    数据库字段的常见类型一般包括: char varchar text nchar nvarchar datetime samlldatetime int bit decimal numeric float 当然还有一些不常用到的字段类型ntext bignit smallint tinyint real(1) char、...
  • 修改数据库字段类型或名字

    千次阅读 2019-01-30 18:10:00
    ########WF_WORK_FLOW_LOG修改字段类型 1. ##修改原字段名NAME为NAME_TMP 1 ALTER TABLE WF_WORK_FLOW_LOG RENAME COLUMN WORK_WHOLE_FLOW TO WORK_WHOLE_FLOW_TMP; 2.##增加一个和原字段名同名的字段NAME 1 ...
  • Java实体类字段类型与MySQL数据库字段类型的对应关系 序号 Java实体类类型 Java引入 MySQL字段类型 1 String java.lang.String varchar 2 String java.lang.String char 3 String java.lang.String text...
  • mssql 修改数据库字段类型

    千次阅读 2018-10-12 09:00:23
    alter table tablename alter column columnname decimal(18,9)
  • Mysql数据库字段类型

    千次阅读 2022-01-29 18:13:36
    数据库的数据类型字段属性: 1、数值 ①tinyint 十分小的数据 1个字节 ②smallint 较小的数据 2个字节 ③mediumint 中等大小的数据类型 3个字节 ④int 标准的整数 4个字节 (一般用int) ⑤big 较大的数据 8...
  • Oracle数据库字段类型

    千次阅读 2021-05-08 18:02:12
    总结 以上是编程之家为你收集整理的Oracle数据库字段类型全部内容,希望文章能够帮你解决Oracle数据库字段类型所遇到的程序开发问题。 如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。 ...
  • Mysql数据库字段数据类型、长度详解

    千次阅读 2021-01-19 13:21:06
    一、数值类型类型需要的存储量TINYINT1 字节SMALLINT2 个字节MEDIUMINT3 个字节INT4 个字节INTEGER4 个字节BIGINT8 个字节FLOAT(X)4 如果 X < = 24 或 8 如果 25 < = X < = 53FLOAT4 个字节DOUBLE8 个...
  • 数据库字段类型为json,后端对应的实体类中字段格式应该是jsonObject,且在后端对应的字段上加上注解@TableField(value=“字段名”,typeHandler = ObjectJsonHandler.class) 数据库: java后端: 3.在含有json字段的...
  • 问题: 当改为空或0时,提交后时无法更改,仍显示改前数据!   原因:在mybatis映射文件中&lt;update&gt;方法: &lt;if test="orderAmount !...字段order_amount在数据库类型是de...
  • 表是由sql server 转 为mysql , 字符类型的的所有字段都是longtext类型 , 将所有的longtext转为varcher类型
  • 数据库——字段类型

    千次阅读 2020-06-09 15:37:13
    数据库字段类型 今天对数据库中的一些数据类型进行总结。 MySQL数据类型选取的原则 (1)更小通常更好 一般情况下,应该尽量使用可以正确存储数据的最小数据类型。更小的数据类型通常更快,因为它们占用更少的磁盘...
  • mysql数据库字段类型的选择原则

    千次阅读 2016-06-08 21:14:09
    数据库类型的选择对数据库的性能影响很大 1 . 数据类型会影响存储空间的开销2 . 数据类型会影响数据查询性能所以当一个数据类型可以有多种选择多种类型的时候,应该优先考虑数字类型,其次是日期或二进制类型,最后...
  • 数据库字段类型DECIMAL理解

    千次阅读 2019-10-30 10:30:03
    column_name DECIMAL(E,P); E是有效数字的精度,P表是...对于数据类型decimal这篇文章写的很直观明了,我参考他的做了测试,完全没问题。 原文:https://blog.csdn.net/u010002184/article/details/79238624 ...
  • C# 获取数据库字段类型

    千次阅读 2013-12-03 16:51:37
    数据类型, col.max_length AS 占用字节数, col.precision AS 数字长度, col.scale AS 小数位数, col.is_nullable AS 是否允许非空, col.is_identity AS 是否自增, case when exists ( SELECT 1
  • 常用的数据库字段类型及大小

    万次阅读 多人点赞 2018-08-28 08:30:15
    常用的数据库字段类型如下:  字段类型 中文说明 限制条件 其它说明  CHAR 固定长度字符串 最大长度2000 bytes `  VARCHAR2 可变长度的字符串 最大长度4000 bytes 可做索引的最大长度749  NCHAR 根据字符集而定...
  • 常用数据库字段类型及大小

    万次阅读 多人点赞 2017-09-10 21:27:07
    常用的数据库字段类型如下:  字段类型 中文说明 限制条件 其它说明  CHAR 固定长度字符串 最大长度2000 bytes `  VARCHAR2 可变长度的字符串 最大长度4000 bytes 可做索引的最大长度749  NCHAR 根据字符
  • pg 数据库中 某字段类型为jsonJava实体中对应类型是 jsonObject private JSONObject info;在mybatis的xml中,常规无法直接进行映射,需要自己写一个TypeHandler,自定义一个JSONTypeHandlerPg类具体代码:package ...
  • 数据库 字段类型 Number(n,m)

    万次阅读 2016-06-03 15:04:37
    数据库 Number 有效位数 与 小数
  • 字段类型 改为longtext 即可,因为: 1、text字段类型:text字段类型的字节限制为65535字节。 2、longtext字段类型:longtext字段类型的字节限制为2147483647字节。 可见,longtext字段类型的最大长度 为text...
  • sql过程,假设现在有表a,字段为a_col,字段类型为 text 要将 a_col改为 int类型 -- 新建字段 alter table a modify a_col_bak varchar(20); -- 字段原值赋值 update a set a_col_bak = a_col; -- 修改新字段类型...
  • java实体注解映射mysql数据库设置数据库字段类型以及时间格式 下面我们来说一下如何通过在java实体类注解设置数据库字段的类型 @SuppressWarnings(“serial”) @Entity @Table(name = “k_dailyWorkTasks”) public ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 856,427
精华内容 342,570
关键字:

数据库字段类型

友情链接: ABCVSS.zip