创建数据表
在Mysql中,创建数据表通过SQL语句CREATE TABLE实现:
CREATE TABLE 表名( 属性名 数据类型 [完整性约束条件],
属性名 数据类型 [完整性约束条件],
、、、、、
属性名 数据类型 [完整性约束条件],
);
注意:在创建数据表之前必须先用USE语句选择 数据库,格式为;USE 数据库名
实例1:
INT,
name
VARCHAR(20),
sex
BOOLEAN
);
主键是由一个字段构成时,可以直接在该字段的后面加上 PRIMARY KEY 来设置主键:
属性名 数据类型 PRIMARY KEY
实例2:
INT PRIMARY KEY,
stu_name
VARCHAR(20),
stu_sex
BOOLEAN
);
2、多字段主键
主键是由多个属性组合而成的,在属性定义完之后统一设置主键,如下:
实例3:
course_id INT,
grade FLOAT,
PRIMARY KEY(stu_id, course_id)
);
3、设置表的外键
CONSTRAINT
外键别名 FOREIGN KEY (属性1.1,属性1.2,、、、、、、属性1.n)
其中,“外键别名”参数是为外键的代号,“属性1” 参数列表是子表中设置的外键,“表名”参数是指父表的名称,“属性2”参数列表是父表的主键。
实例4:
stu_id INT,
course_id INT,
CONSTRAINT c_fk FOREIGN KEY(stu_id, course_id)
REFERENCES example2(stu_id, course_id)
);
4、设置表的非空约束
设置表的的非空约束是指在创建表的时候为表中的某些特殊字段加上NOT NULL 约束条件,基本语法为:
属性名 数据类型 NOT NULL
实例5:
name VARCHAR(20) NOT NULL,
stu_id INT,
CONSTRAINT d_fk FOREIGN KEY(stu_id)
REFERENCES example1(stu_id)
);
5、设置表的唯一性约束
实例6:
stu_id INT UNIQUE,
name VARCHAR(20) NOT NULL
);
6、设置表的的属性值自动增加
AUTO_INCREMENT是My sql数据库中一个特殊的约束条件。其主要用于为表中插入的新记录自动生成唯一的ID。一个表只能只能有一个字段使用AUTO_INCREMENT约束,且该字段必须为主键的一部分。默认情况下,该字段的值是从1开始自增。基本语法为:
实例7:
stu_id INT UNIQUE,
name VARCHAR(20) NOT NULL
);
默认值是通过DEFAULT关键字来设置的。基本语法为:
属性名 数据类型 DEFAULT 默认值
实例8:
stu_id INT UNIQUE,
name VARCHAR(20) NOT NULL ,
English VARCHAR(20) DEFAULT 'zero',
Math FLOAT DEFAULT 0,
Computer FLOAT DEFAULT 0
);