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) ;
新聞熱點
疑難解答