数据库基本操作:第二篇约束条件

1.数据表中引用约束条件

(1)单字段主键:

/* PRIMARY KEY 主键,具有唯一,不为空的属性 */
CREATE TABLE td_emp
(
	td_id INT PRIMARY KEY,
	td_name VARCHAR(50),
	td_salary FLOAT
);

运行结果为:

/* 查看表结构 */
DESC td_emp;

运行结果为:

(2)多字段主键:

/* PRIMARY KEY(t_id,t_name)多字段联合主键 */

/* 注意:一般只有ID才要设置主键 */

CREATE TABLE td_emp2
(
	t_id INT,
	t_name VARCHAR(50),
	t_salary FLOAT,
	PRIMARY KEY(t_id,t_name)
);

运行结果为:

/* 查看表结构 */
DESC td_emp2;

运行结果为:

(3)外键的使用

/* 创建一张数据附表命名为td_students */

/* 使用外键约束 */

 CREATE TABLE td_students
 (
	st_id INT PRIMARY KEY,
	st_name VARCHAR(20) NOT NULL,
	st_sex CHAR(2),
	st_deptid INT,
	CONSTRAINT fk_students_emp FOREIGN KEY(st_deptid) REFERENCES td_emp(td_id)
);

/* 查看表结构 */
DESC td_students;

运行结果为:

(4)使用非空约束

/* 使用非空约束 */

/* 设置了非空约束 NOT NULL 后,那个值得的属性就不能为空,一定要填写。 */

 CREATE TABLE td_students01
 (
	st_id INT PRIMARY KEY,
	st_name VARCHAR(20) NOT NULL,
	st_sex CHAR(2),
	st_deptid INT
);

运行结果为:

/* 查看表结构 */
DESC td_students01;

(5)使用唯一性约束

/* 使用唯一性约束 */

/* 设置了唯一性约束 UNIQUE ,要求该列唯一,允许为空,但只能出现一个空值。 */

 CREATE TABLE td_students02
 (
	st_id INT PRIMARY KEY,
	st_name VARCHAR(20) NOT NULL,
	st_sex CHAR(2),
	st_deptid INT UNIQUE
);

运行结果为:

/* 查看表结构 */
DESC td_students02;

运行结果为:

(6)使用默认约束

/* 使用默认约束  DEFAULT '男' 后,该值的属性会根据默认的属性所执行。*/

 CREATE TABLE td_students03
 (
	st_id INT PRIMARY KEY,
	st_name VARCHAR(20),
	st_sex CHAR(2) DEFAULT '男',
	st_deptid
);

运行结果为:

/* 查看数据表结构 */

DESC td_students03;

运行结果为:

(7)使用自动增加性约束

/* 使用自动增加性约束 */

/* 当 id 设置了自动增加约束 AUTO_INCREMENT 后,id的数字顺序就会自动的增加,不会出现重复效果。 */

 CREATE TABLE td_students04
 (
	st_id INT PRIMARY KEY AUTO_INCREMENT,
	st_name VARCHAR(20) NOT NULL,
	st_sex CHAR(2) DEFAULT '男',
	st_deptid INT UNIQUE
);

运行结果为:

/* 查看表结构 */
DESC td_students04;

运行结果为:

插入语句到数据表td_students04中

/* 插入语句到数据表td_students04中 */

INSERT INTO td_students04(st_name,st_deptid) VALUES('张一',1);
INSERT INTO td_students04(st_name,st_deptid) VALUES('张二',2);
INSERT INTO td_students04(st_name,st_deptid) VALUES('张三',3);
INSERT INTO td_students04(st_name,st_deptid) VALUES('张四',4);
INSERT INTO td_students04(st_name,st_deptid) VALUES('张五',5);

运行结果为:

/* 输入查看数据表内容 */

SELECT * FROM td_students04;

运行结果为:

注意:自动增加的效果起步自加不是从10开始算起的,而是从1开始算的。

注意:这里的每个约束条件属性都可以同时设置在一张数据表中,而我这里的每个约束条件属性用了各自不同的数据表,是为了更好的区分每一个约束条件的属性值。

发布了6 篇原创文章 · 获赞 1 · 访问量 1265

猜你喜欢

转载自blog.csdn.net/weixin_44754813/article/details/88553958