mysql第四篇:数据操作之多表查询 一.多表联合查询 #创建部门 CREATE TABLE IF NOT EXISTS dept ( did int not null auto_increment PRIMARY KEY, dname VARCHAR() not null COMMENT '部门名称' )ENGINE=INNODB DEFAULT charset utf8; #添加部门数据 INSERT INTO `dept` VALUES (', '教学部'); INSERT INTO `d…
Django基础五之django模型层(二)多表操作 本节目录 一 创建模型 二 添加表记录 三 基于对象的跨表查询 四 基于双下划线的跨表查询 五 聚合查询.分组查询.F查询和Q查询 六 xxx 七 xxx 八 xxx 一 创建模型 表和表之间的关系 一对一.多对一.多对多 ,用book表和publish表自己来想想关系,想想里面的操作,加外键约束和不加外键约束的区别,一对一的外键约束是在一对多的约束上加上唯一约束. 实例:我们来假定下面这些概念,字段和关系 作者模型:一个作者有姓名和年龄.…
数据操作 插入数据(记录): 用insert: 补充:插入查询结果: insert into 表名(字段1,字段2,...字段n) select (字段1,字段2,...字段n) where ...; 更新数据update 语法: update 表名 set 字段1=值1,字段2=值2 where condition; 删除数据delete:delete from 表名 where condition; 查询数据select: 单表查询: 语法: select distinct 字段1,字段2.…
单表查询 一.简单查询 -- 创建表 DROP TABLE IF EXISTS `person`; CREATE TABLE `person` ( `id` ) NOT NULL AUTO_INCREMENT, `name` varchar() NOT NULL, `age` tinyint() DEFAULT ', `sex` enum('男','女','人妖') NOT NULL DEFAULT '人妖', `salary` ,) NOT NULL DEFAULT '250.00', `hi…
数据库分类 关系型数据库 行列, 列如Mysql,oracle 通过表和表之间,行和列之间的关系进行数据的存储 非关系型数据库: Redis,MongDb 以对象存储,同过对象的自身属性来决定 表与表的关系 一对一,一对多,多对多 外键特点 从表外键的值是对主表主键的引⽤. 从表外键类型,必须与主表主键类型⼀致. 声明外键约束语法 alter table 从表 add [constraint][外键名称] foreign key (从表外键字段名) references 主表 (主表的主键);…
1. 前言 在SQL开发当中,多表联查是绝对绕不开的一种技能.同样的查询结果不同的写法其运行效率也是千差万别. 在实际开发当中,我见过(好像还写过~)不少又长又臭的查询SQL,数据量一上来查个十几分钟那是家常便饭. 因此,深入理解SQL的多表查询机制,少写一些慢查询,应该可以少挨点骂. 2. 等值连接和非等值连接 2.1 等值连接 等值连接是在多表查询中最基础,也最简单的一种,其值为所有满足条件的笛卡尔积. 在from后面,哪个表写在前面结果中哪个表的值就先出现,如下: select * fro…
1.重写ID [Column("数据库指定的ID")] [Column("CarTypeID")] public override int Id { get; set; } 2.映射中指定 这里用的是AutoMapper第一个UserID是Dto模型里面的 第二个Id是实体类中我们重写的那个Id var carTypeDtoMapper = mapperConfig.CreateMap<CarType, CarTypeDto>(); carTypeDto…
-- 创建部门 (主表) create table dept( id int primary key auto_increment, name varchar(20) ); -- 创建员工 (副表) create table employee( id int primary key auto_increment, name varchar(20), deptId int, -- 级联修改 级联删除 constraint employee_dept_fk foreign key(deptId) r…
1.使用union和union all合并两个查询结果:select 字段名 from tablename1 union select 字段名 from tablename2: 注意这个操作必须保证两张表字段相同,字段数据类型也相同.另外,使用union的时候会去除重复(相同)的记录,而union all则不会. 注:下边的几个连接查询涉及到笛卡尔积的概念,即如果存在两张表,第一张记录数为n条,另一张表的记录数为m条,那么笛卡尔积得出的记录数就是n*m条:如果第一张表的字段数为a个,另一张的字段…
一 单表查询的语法 二 关键字的执行优先级 三 简单查询 四 WHERE约束 五 分组查询:GROUP BY 六 HAVING过滤 七 查询排序:ORDER BY 八 限制查询的记录数:LIMIT 九 使用正则表达式 一 单表查询的语法 SELECT 字段1,字段2... FROM 表名 WHERE 条件 GROUP BY field HAVING 筛选 ORDER BY field LIMIT 限制条数 二 关键字的执行优先级 重点中的重点:关键字的执行优先级 from where group…