表的约束和关系以及SQL的查询(1)

📅 2026/7/22 12:05:26 👤 编程新知 🏷️ 技术资讯
表的约束和关系以及SQL的查询(1) 一、表的约束和关系1、表的约束1-1什么是约束形象的讲表的约束就是数据库自带的“安检门”强行规定数据必须“唯一、非空、合法”从源头堵死脏数据确保数据的完整性。1-2约束的分类1主键primary key主键列的值非空,不能重复,一张表只能设置一个主键,可允许组合主键2唯一键unique值不能重复,允许一个空,一张表可设置多个唯一键3外键foreign外键列中的值不能出现被引用的主键列中没有的值4默认值default插入的数据时,不插入值,就采用默认值5检查约束check插入的数值必须满足检查约束条件 例: check(sex男 or sex女)6非空not null列不能空7自增列auto increment只能是整数型的列,值由DBMS系统提供,自增列必须设置为主键例这是代码的方式也可以通过手动勾选新手建议写代码另外说到主键添加主-外键关联关系是一个麻烦点我们先来看语法。语法alter table 外键(子)表名 add constraint fk_子表名_主表名 foreign key(外键列) references 主键表名(主键列);选择两个表格尝试一下添加主-外键关联关系alter table score add constraint fk_score_xsxt foreign key (id) references xsxt(id);从逆向数据库到模型...可以直观的看到关系2、表的关系2-1三种表关系分别为11(一对一1x一对多yx多对多例以上关系包含了这三种类型一对一1)class and room一对多(1)student and class(2)score and student(3)score and course多对多1course and student二、SQL查询 ----DQL2-1运算符查询1算术运算符 -*/%select 67; select 9-8; select 6*7; select 6/7 select 6%72)关系运算符关系运算符关系运算符的结果为真(用数字1表示)或者假(用数字0表示)种类,,,,, ,!(不等于)select 35; select 35; .....3逻辑运算符用于连接多个关系表达式,组合成一个复合条件。结果真1 假0种类: and 与(并且),or 或(或者) ,not 非(取反)select 34 and 85以上代码为结果为02-2查询语法查询所有数据 select * from 表名; 查询部分列的数据 select 列 from 表名例注意列是可以起别名的用as与空格连接select sname as 名字,sage 年龄from school;2-3条件查询语法:select 字符 from 表名 [where 条件];例子select sno 学号,name 姓名,sage 年龄,ssex 性别 from student where sage20;2-4 模糊查询1like、not like王字开头 select * from score where name like王%; 王字开头并且只有两个字 select * from score where name like王_; 以“阳”结尾的 select * from score where name like_阳; 含有“君”的 select * from score where name like%君%;2between … and 与 not between…and1、select * from score where grade between 70 and 90; 2、select * from score where grade 70 and grade90以上两种表达相同3in 与 not inIN判断某个字段的值是否在给定的一组值里NOT IN判断某个字段的值是否不在给定的一组值里本质都是多个OR的简写形式。例SELECT * FROM edu_student WHERE sname IN (张明, 李娜, 王磊);