欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

SQL学习--基础概念

程序员文章站 2024-02-04 14:06:16
...

关系型数据库中,每一行数据是一条记录,一张表中有一条或多条记录构成,一条记录由多个字段组成。

主键

为了区分每一条记录,需要定义表中的主键,即可以唯一识别特定记录的一个属性字段,如学生表中的student_id。主键不能为空,最好不再修改,有时候主键也是外键。

联合主键
有时候仅一个字段无法唯一确定一条记录,数据库允许多个字段唯一标识记录,即两个或两个以上的字段都设为主键,此类主键是联合主键。

外键

为了将两个或多个关系表相互连接起来需要外键的支持,即外键是连接表和表的桥梁。而表和表之间的关系有1:1(一对一)、1:n(一对多)、n:m(多对多)。
外键约束的定义:`

ALTER TABLE student
ADD CONSTRAINT fk_class_id//外键约束名称
FOREIGN KEY (class_id)//class_id是外键
REFERENCES class (id);//外键将关联到class的id字段

外键约束的删除:

  ALTER TABLE student
    DROP FOREIGN KEY fk_class_id;

当表之间的关系是多对多时,可以通过创建两张表之间的中间表进行数据之间的关联。

索引

利用数据库创建索引能够提高查询数据的速度,通过使用索引,可以让数据库系统直接定位到符合条件的记录,加快了查询速度。

创建索引

ALTER TABLE student
ADD INDEX idx_score(score)//创建了名为idx_score的索引,使用列score索引

若索引有多列,则:

ALTER TABLE student
ADD INDEX idx_name_score(name,score)

索引的效率取决于索引列的值是否散列,若索引列的值越不同,则索引的效率就越高。

一张表可创建多个索引,索引的缺点在于在增删改数据时,同时要修改索引。对于主键,关系数据库会自动对其创建主键索引,使用主键索引的效率最高,因为主键的值唯一。

感谢廖雪峰老师的SQL教程,学习SQL的第二天,打卡学习笔记。

上一篇: sed常见用法总结

下一篇: