day12:数据类型和约束

一、了解数据类型

  数据类型指表中的列可以包含的数据类型。MySQL支持大量的数据类型用来指定列中可以包含的数据类型,根据一些共同特征,这些数据类型可以分为以下类型:数值、字符串、日期

1、数值:数值数据类型用于存储数字。例如,在给定场景中,已出租的房间或可供出租的房间数将为数值数据类型。此数据类型可以进一步分为以下几类:整数数据类型、小数数据类型、Bit数据类型

整数数据类型用于存储整数值。整数可以为正数或负数,因此,使用其中一种整数数据类型声明的列可以接受正值也可以接受负值。整数值绝对不会有小数部分或小数点,因此,声明为整数的列永远不会接受带有小数部分的值。常用的整数类型是:int

小数数据类型用于存储带有整数部分和带有小数部分的值。因此,使用其中一种小数数据类型声明的列可以接受不带小数部分的值、不带整数部分的值和包含两个部分的值。同样可以是正数或负数。常用的小数类型有:float和double

bit数据类型用于存储除了整数和小数的值。常见的bit数据类型有:bit

2、字符串:为存储字符或二进制值,常见的字符类型有:char和varchar

3、日期:日期数据类型用于存储日期或时间值。因此,应将可以接受日期或时间值的列与任一日期数据类型相关联。常见的日期类型有:date(日期数据)、time(时间数据)、year(年份数据)

二、创建表

基本语法:

create  table  表名称(

  字段名称  字段类型(字段长度),

  字段名称  字段类型(字段长度),

  ...

  字段名称  字段类型(字段长度)

);

应用约束:

约束定义必须遵从的规则,以维护数据的完整性。约束可以在创建表的过程中定义,也可以稍后在添加。在创建表后添加约束时,它将检查现有数据以确定其是否违背约束。如果有数据违背了将添加的约束,那么不会向指定的列施加该约束。

约束的类型:

  主键约束、唯一约束、外键约束

主键约束:对一个列或一组列定义,这些列的值唯一地标识表中的所有行。这些列称为主键列。并且,主键列不能包含NULL值,因为它用于唯一地标识表中的行。定义主键列用:primary key,例如:

create  table  student(

  sid  varchar(55)  primary  key  not  null,

  sname  varchar(55)  not  null,

  sage  varchar(55)  not  null

);

create  table  student(

  sid  varchar(55)   not  null,

  sname  varchar(55)  not  null,

  sage  varchar(55)  not  null,

     primary  key( sid)

);

唯一约束:唯一约束用于强制非主键列的唯一性。主键约束列自动包括对唯一性的限制。唯一约束与主键约束类似,但是它在唯一约束所定义的列中允许NULL值。可以向表中添加多个唯一约束。但是,表中只能有一个主键,它可以基于一列或一组列。定义唯一约束用:unique,例如:

create  table  teacher(

  tid  varchar(55)  unique,

  tname  varchar(55),

  tage  varchar(55)

);

或:

create  table  teacher(

  tid  varchar(55) ,

  tname  varchar(55),

  tage  varchar(55),

  unique(tid)

);

外键约束:当一个表中的数据依赖另一个表中的数据时,将使用外键约束维护这些表中数据的一致性。表中的外键总是引用其他表中的主键列。

CREATE TABLE department (
id INT auto_increment PRIMARY KEY,
dname CHAR (255),
INDEX (id)
);

CREATE TABLE employee (
did INT,
username CHAR (255),
PASSWORD CHAR (255),
FOREIGN KEY (did) REFERENCES department (id)
);

猜你喜欢

转载自www.cnblogs.com/wuguiyu/p/11572728.html