CREATE TABLE stu ( `sid` INT PRIMARY KEY, `sname` VARCHAR (20), `age` INT, `gender` VARCHAR (10) )ENGINE=INNODB DEFAULT CHARSET=utf8 COMMENT='学生表'; 方式二:CREATE TABLE stu ( `sid` INT, `sname` VARCHAR (20), `age` INT, `gender` VARCHAR (10), PRIMARY KEY(`sid`) )ENGINE=INNODB DEFAULT CHARSET=utf8 COMMENT='学生表';2).修改表时指定主键
ALTER TABLE stu ADD PRIMARY KEY(`sid`);3).删除主键
ALTER TABLE stu DROP PRIMARY KEY;2、主键自增长
1).创建表时指定主键自增长
CREATE TABLE stu ( `sid` INT AUTO_INCREMENT PRIMARY KEY, `sname` VARCHAR (20), `age` INT, `gender` VARCHAR (10) )ENGINE=INNODB AUTO_INCREMENT=10000 DEFAULT CHARSET=utf8 COMMENT='学生表';2).修改表时设置主键自增长(设置自增长时,该字段必须是个key,如果不是则需要添加)
ALTER TABLE stu CHANGE sid sid INT AUTO_INCREMENT PRIMARY KEY;3).修改表时删除主键自增长
ALTER TABLE stu CHANGE sid sid INT;3、非空约束
某列不能设置为NULL值,所以要对该列添加非空约束。CREATE TABLE stu( `sid` INT AUTO_INCREMENT PRIMARY KEY, `sname` VARCHAR(20) NOT NULL, `age` INT, `gender` VARCHAR (10) )ENGINE=INNODB DEFAULT CHARSET=utf8 COMMENT='学生表';4、唯一约束
某些列不能设置重复的值,所以可以对该列添加唯一约束。CREATE TABLE stu( `sid` INT AUTO_INCREMENT PRIMARY KEY, `sname` VARCHAR(20) NOT NULL UNIQUE, `age` INT, `gender` VARCHAR (10) )ENGINE=INNODB DEFAULT CHARSET=utf8 COMMENT='学生表';5、外键约束
外键用于关联另一张表,可以确定另一张表记录的字段,用于保持数据的一致性。比如:A表中的一个字段,是B表的主键,那他就可以是A表的外键。特点:外键可以为空,可以重复,但是不能是主表中引用的字段没有的值。1).创建表时指定外键
A表: CREATE TABLE dept ( `deptno` INT PRIMARY KEY AUTO_INCREMENT, `deptname` VARCHAR (50) ) ENGINE = INNODB DEFAULT CHARSET = utf8 COMMENT = '部门表' ; B表: CREATE TABLE emp( `empno` INT PRIMARY KEY AUTO_INCREMENT, `empname` VARCHAR(50) NOT NULL UNIQUE, `deptno` INT NOT NULL, CONSTRAINT fk_emp_dept FOREIGN KEY(deptno) REFERENCES dept(deptno) )ENGINE=INNODB DEFAULT CHARSET=utf8 COMMENT='员工表';2).修改表时指定外键
ALTER TABLE emp ADD CONSTRAINT fk_emp_dept FOREIGN KEY (deptno) REFERENCES dept (deptno) ;
新闻热点
疑难解答