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常见用法总结
推荐阅读