SQL在使用中注意事项
在工作中,由于数据库表都是DBA创建好的,开发人员只需要用现成的表,用IDEA或者Eclipse逆向生成对应的DOS代码及对应映射SQL的XML文件,会自动的生成一些常用的以主键,索引来增删改查的SQL语句,这些语句在原则上是不建议开发人员去改动的,这个要求在一些银行的项目尤其重要,在互联网项目上可以根据需要做适当的改动,但不建议改动,如需要改动,自己新增SQL语句。
讲讲SQL约束
SQL有以下6种约束:
NOT NULL: 指某列不能存储 NULL 值。
UNIQUE:保证某列的每行必须有唯一的值。
PRIMARY KEY:确保某列(或两个列多个列的结合)有唯一标识。
FOREIGN KEY:保证一个表中的数据匹配另一个表中的值的参照完整性。
CHECK :保证列中的值符合指定的条件。
DEFAULT:规定没有给列赋值时的默认值。
NOT NULL 约束
NOT NULL 约束强制列不接受 NULL 值。
NOT NULL 约束强制字段始终包含值。这意味着,如果不向字段添加值,就无法插入新记录或者更新记录。
UNIQUE 约束
UNIQUE 约束唯一标识数据库表中的每条记录。
UNIQUE 和 PRIMARY KEY 约束均为列或列集合提供了唯一性的保证。
PRIMARY KEY 约束拥有自动定义的 UNIQUE 约束。
每个表可以有多个 UNIQUE 约束,但是每个表只能有一个 PRIMARY KEY 约束.
PRIMARY KEY 约束
唯一标识数据库表中的每条记录。
主键必须包含唯一的值。
主键列不能包含 NULL 值。
每个表都应该有一个主键,并且每个表只能有一个主键,一个PRIMARY KEY约束可以有一个列或者多个列。
FOREIGN KEY 约束
一个表中的 FOREIGN KEY 指向另一个表中的 UNIQUE KEY(唯一约束的键)。
CHECK 约束
如果对单个列定义 CHECK 约束,那么该列只允许特定的值。
如果对一个表定义 CHECK 约束,那么此约束会基于行中其他列的值在特定的列中对值进行限制。
DEFAULT 约束
如果没有规定其他的值,那么会将默认值添加到所有的新记录。
INDEX 索引语句
更加快速高效地查询数据。
建议:在经常被搜索的列(以及表)上创建索引。