开发者学堂课程【SQL进阶及查询练习:约束之主键约束】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/36
约束之主键约束
内容简介:
1.主键约束(唯一标识)
2.主键自然增长
约束是添加在列上的,用来约束列的!
1.主键约束(唯一标识)
***非空***
***唯一***
***被引用***(学习外键时)
*当表的某一列被指定为主键后,该列就不能为空,不能有重复值出现。
*创建表时指定主键的两种方式:
>
CREATE TABLE stu(
Sid CHAR(6) PRIMARY KEY,
Sname VARCHAR (20),
Age INT
Gender VARCHAR(10)
):
指定sid列为主键列,即为id列添加主键约束
>
CREATE TABLE stu(
Sid CHAR(6),
sname VARCHAR (20),
Age int
gender VARCHAR (10)
PRIMARY KEY (sid)
);
指定sid列为主键列,即为sid列添加主键约束
*修改表时指定主键: ALTER TABLE stu ADD PRIMARY KEY(sid);
*删除主键:ALTER TABLE stu DROP PRIMARY KEY;
HAR (20)
PRIMARY
Y(sid)
指定51d列为主键列,即为s1d
列添加主键约束
*修改表时指定主键: ALTER TABLE SCU ADD PRIMARY KEY(s1d)
删除主键: ALTER TABLE stu DROP PRIMARY KEY
2.主键自然增长
*因为主键列的特性是:必须唯一、不能为空,所以我们通常会指定主键类为整型,然后设置自动增长,这样可以保证在插入数据时主键列的唯一和非空特性
*创建表时指定主键自增长
CREATE TABLE stu (
Sid INT PRIMARY KEY AUTO_INCREATE ,
Sname VARCHAR(20),
AGE INT,
1.CREATE TABLE emp(
empno INT PRIMARY KEY,
ename VARCHAR (50)
);
INSERT INTO emp VALUES (1, ' zhangSan'):
SELECT FROM emp:
INsERT INTo emp VALUES(,1151);
DROP TABLE emp;
CREATE TABLE emp(
empno INT,
ename VARCHAR (50),
PRIMARY KEY(empno)
);
INSERT INTO emp VALUES(1, 'zhangSan');
SELECT * FROM emp:
INSERT INTo emp VALUES(1, '11s1'):
-----------------------------------------------------------------
ALTER TABLE emp
ADD PRIMARY KEY (empno):
ALTER TABLE emp DROP PRIMARY KEY: