表的约束和关系以及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 (张明, 李娜, 王磊);
💡
读完这篇文章,你可以带走什么

本文来自编程新知一线开发与建站实战沉淀:讲清原理、给出可复现步骤、标注避坑要点。看完后可以直接在你的项目或网站中落地验证。

编程新知内容团队
一线开发 · 建站实施 · 持续更新
由资深前端工程师、后端架构师与建站实施人员共同维护,坚持"真实案例 + 完整步骤 + 避坑指南"的内容准则。如果你在落地中遇到问题,欢迎联系我们交流。

想把这套方案用到自己的项目上?

编程新知提供技术答疑与网站建设一站式服务,欢迎联系我们获取针对性建议。

联系工程师
📚

系统学习该技术

进入对应栏目,从基础到进阶完整学习,配套案例与避坑指南。

前往栏目 →
🏗️

需要落地实施

企业建站、SEO 优化、服务器部署等需求,交给工程师一步到位。

了解服务 →
💬

还有疑问

技术难题或方案咨询,联系编程新知获取一对一的专业建议。

联系我们 →