大学生个人网站怎么做,关于网站开发的评审时间安排,网站推广服务合同模板,ui设计都包括什么目录 函数
一.字符串函数
二.数值函数 三.日期函数
四.流程控制函数 约束
多表查询
多表关系
一.内连接
二.外连接 三.自连接
四.联合查询 五.子查询 标量子查询 列子查询 行子查询 表子查询 函数
一.字符串函数 二.数值函数 SELECT LPAD(FLOOR(RAND()*1000000),…目录 函数
一.字符串函数
二.数值函数 三.日期函数
四.流程控制函数 约束
多表查询
多表关系
一.内连接
二.外连接 三.自连接
四.联合查询 五.子查询 标量子查询 列子查询 行子查询 表子查询 函数
一.字符串函数 二.数值函数 SELECT LPAD(FLOOR(RAND()*1000000),6,0);//生成6位随机数 三.日期函数 四.流程控制函数 约束
1.概念作用于字段上的规则用于限制存储在表中的数据
2.使用在create创建表或者alter修改表时添加约束。 AUTO_INCREMENT 自动递增
3.外键
在创建表时添加外键 create table 表名( 字段名 数据类型 ... [constraint] [外键名称] foreign key (外键字段名) references 主表(主表列名) ); 为表中已有字段添加外键
alter table 表名 add constaint 外键名称 foreign key (外键字段名) references 主表(主表列名); 删除外键
alter table 表名 drop foreign key 外键名称;
外键删除/更新行为 在添加外键时后面跟上 on update 行为 on delete 行为 cascade 级联
多表查询
多表关系 1.多对一(一对多) e.g. 员工与部门
实现在多的一方建立外键指向一的一方的主键。 2.多对多 eg.学生选修课程
实现建立中间表至少包含两个外键分别关联两方主键 3.一对一 用于单表拆分
实现:在其中一方添加外键另一方添加主键并且设置外键unique
多表查询时应添加过滤条件消除无效的笛卡尔积
一.内连接 相当于查询俩表或多表的交集部分数据 隐式内连接
select student.name,sc.courseid from student ,student_course sc where student.idsc.studentid; 显式内连接
select student.name,sc.courseid from student [inner]jion student_course sc on student.idsc.studentid; 可读性和可维护性显式内连接在语法上更加明确和直观易于理解和维护。它可以清楚地表达出连接操作和连接条件。相比之下隐式内连接的语法相对简洁但在复杂的查询中可能会较难理解和调试。 二者执行内连接的操作是相同的只是语法形式不同 二.外连接 左外连接和内连接都是基于连接条件将两个表中符合条件的行进行匹配。但是左外连接会返回左表中所有的行不管是否在右表中有与之匹配的行而内连接只返回两个表中匹配的行。 右表中没有与之匹配的行对应的列值将为NULL。 三.自连接 表必须起别名
按需求不同选择内连接/外连接进行自连接查询
应用场景员工包括普通员工和领导当查所属领导时可使用。
四.联合查询 五.子查询 标量子查询 列子查询
子查询 返回 一列多行 依据学生id查询该名学生的选课情况。
select id,name,teacherId,teacherName,description from course where id in(select courseid from student_course where studentid?) 行子查询
子查询 返回 一行多列
select * from student where (age,sex,class) (select age,sex,class from student where nameLee) 表子查询
子查询 返回 多行多列 操作符主要为in 常放于from后作为一张临时表再和其他表进行连查操作 这张临时表应起别名 *参考视频 bilibili黑马程序员*