SQL必知必会(二)

简介: 表中的数据都是按行来存储的,所保存的每个记录存储在自己的行内。如果将表想象为网格,网格中垂直的列为表列,水平行为表行。

行(row)

表中的一个记录

主键(Primary Key)

一列(或几列),其值能够唯一标识表中每一行

表中每行都应该有一列(或几列)可以唯一标识自己。顾客可以使用顾客编号,而订单表可以使用订单ID。

唯一标识表中每行的这个列(或这几列)称为主键。主键用来表示一个特定的行。没有主键,更新和删除特定行就会极为困难,因为你无法保证操作不会涉及其他行

注意

1.应该总是定义主键,虽然并不是总是需要主键,但多数数据库设计者都会保证他们创建的每个表中具有一个主键,以便于以后的数据操作和管理

2.表中任何列都可以作为主键,只需要满足以下条件

任何两行都不具有相同的主键值

每一行都必须具有一个主键值(主键不允许NULL值)

主键列中的值不允许修改或更新

主键值不能重用(如果某行从表中删除,它的主键不能赋给以后的新行)

3.主键通常定义在表的一列上,但是并不是必须这么做,也可以一起使用多个列作为主键

目录
打赏
0
0
0
0
0
分享
相关文章
|
10月前
|
每天一道大厂SQL题
每天一道大厂SQL题
72 1
每天一道大厂SQL题
SQL中为什么不要使用1=1
本文探讨了在SQL查询中使用`1=1`的现象及其背后的原因与问题。开发人员有时使用`1=1`作为始终为真的条件来方便动态构建SQL语句,但这样做可能会带来性能问题,尽管现代数据库查询优化器可能能优化掉这种条件,但在复杂查询或特定系统中仍可能影响效率。此外,`1=1`还降低了代码的可读性和跨数据库的兼容性。建议使用更佳实践,如MyBatis的动态SQL标签或Entity Framework的函数式查询,以避免不必要的条件。代码质量的重要性在于每一行代码都应有其明确的目的,避免浪费计算资源。
120 0
|
SQL
SQL日常
SQL日常
132 0
xttdbopen.sql
connect / as sysdba; alter database mount;alter database open; exit
780 0
xttcnvrtbkupdest.sql
---- Convert the incremental backup (target convert) -- Inputs: cross-plaform backups set serveroutput on;set termout on;set verify off; DE...
866 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等