数据库之SQL基本数据类型
SQL是结构化查询语言,是一种用来操作RDBMS(关系型数据库管理系统)的数据库语言,当前关系型数据库都支持使用SQL语言进行操作,也就是说可以通过SQL操作oracle,sql server,mysql等关系型数据库。
SQL语句主要分为:
• DQL:数据查询语言,用于对数据进行查询
• DML:数据操作语言,对数据进行增加、修改、删除
• DDL:数据定义语言,进行数据库、表的管理等
数据完整性
在表中为了更加准确的存储数据,保证数据的正确有效,可以在创建表的时候,为表添加一些强制性的验证,包括数据字段的类型、约束。
数据类型
常见数据类型
• 整数:int
• 小数:decimal
• 字符串:varchar,char
• 日期时间:date, time, datetime
• 枚举类:enum
数值类型
字符串类型
枚举类型
枚举类型英文为ENUM,对1~255个成员的枚举需要1个字节存储;对于255 ~ 65535个成员,需要2个字节存储。最多允许65535个成员。创建方式:enum(“M”,“F”);
日期类型
注意:
• decimal表示定点小数,如decimal(5,2)表示共存5位数,小数占2位。不写则默认为decimal(10,0)
• char表示固定长度的字符串,如char(3),如果填充’ab’时会补一个空格为’ab ’
• varchar表示可变长度的字符串,如varchar(3),填充’ab’时就会存储’ab’
• 对于图片、音频、视频等文件,不存储在数据库中,而是上传到某个服务器上,然后在表中存储这个文件的保存路径
• 枚举类型不区分大小写
详细数据类型可参考:http://blog.****.net/anxpp/article/details/51284106
约束:
• 主键primary key:物理上存储的顺序
• 非空not null:此字段不允许填写空值
• 惟一unique:此字段的值不允许重复(身份证号,银行卡号等)
• 默认default:当不填写此值时会使用默认值,如果填写时以填写为准
• 外键foreign key:对关系字段进行约束,当为关系字段填写值时,会到关联的表中查询此值是否存在,如果存在则填写成功,如果不存在则填写失败并抛出异常