SQL的数据类型

SQL的数据类型

只有一条路不能选择——那就是放弃的路;只有一条路不能拒绝——那就是成长的路。

命名规则

字段名必须以字母开头,尽量不要使用拼音
长度不能超过30个字符(不同数据库,不同版本会有不同)
不能使用SQL的保留字,如where,order,group
只能使用如下字符az、AZ、0~9、$ 等
Oracle习惯全大写:USER_NAME,mysql习惯全小写:user_name
多个单词用下划线隔开,而非java语言的驼峰规则

数字

  • tinyint,smallint,mediuint,int,bigint-->整型
    • tinyint 1字节 -128~127
    • smallint 2字节 -32768~32767
    • mediuint 3字节 -8388608~8388607
    • int 4字节 -2147483648~2147483647
    • bigint 8字节 +-9.22*10的18次方
  • float,double,decimal-->浮点型
    • float(m,d) 4字节 单精度浮点类型,m总个数,d小数位
    • double(m,d) 8字节 双精度浮点类型,m总个数,d小数位
    • decimal(m,d) decimal是存储为字符串的浮点数
  • numberic(5,2) decimal(5,2)—也可以表示小数,表示总共5位,其中可以有两位小数
  • decimal和numeric表示精确的整数数字

字符

  • char长度固定,不足使用空格填充,最多容纳2000个字符,char(11)存储abc,占11位。查询速度极快但浪费空间
    • char 0-255字节 定长字符串
  • varchar变长字符串,最多容纳4000个字符,varchar(11)存储abc,只占3位。查询稍慢,但节省空间。Oracle为varchar2
    • varchar 0-65535字节 边长字符串
  • 大文本: 大量文字(不推荐使用,尽量使用varchar替代)
    以utf8编码计算的话,一个汉字在u8下占3个字节

注:不同数据库版本长度限制可能会有不同

日期

  • date 包含年月日
    • date 4字节 日期,格式:2021-08-09
  • time时分秒
  • datetime包含年月日和时分秒
  • timestamp时间戳,不是日期,而是从1970年1月1日到指定日期的毫秒数

图片

  • blob 二进制数据,可以存放图片、声音,容量4g。早期有这样的设计。但其缺点非常明显,数据库庞大,备份缓慢,这些内容去备份多份价值不大。同时数据库迁移时过大,迁移时间过久。所以目前主流都不会直接存储这样的数据,而只存储其访问路径,文件则存放在磁盘上。
上一篇:js中货币格式化两种方法


下一篇:sqlserver