首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MySQL快速入门(二)

目录 MySQL快速入门(二) 约束条件 自增 自增的特性 主键 级联更新/删除 表与表之间的关系 约束 操作表方法 查询关键字 练习数据 select··from where 筛选 group...''' SQL语句实现 # 使用sql语句实现,先建立不含的表 create table dep( id int primary key auto_increment, dep_name...1、多对多关系创建表的时候,不能像"一对多"关系那样创建,因为两边有对应关系,需要都写入,那么创建一个表另外一个表没有创建,写入就会报错 2、此时,需要第三张表来存储对应关系 SQL语句实现...''' 注意 字段建在任何一方都可以,但是推荐建在查询频率较高的表中 SQL语句实现 create table peo( id int primary key auto_increment,...| operation | | sale | | teacher | +-----------+ 分组只能获取组名,那么想获取到其它信息可以通过聚合函数来获取 1.获取每个部门的最高工资

2.6K20

MySQL数据库的查询

开发流程是先画出E-R模型,然后根据三范式设计数据库中的表结构 SQL语句的编写 1、约束作用 约束:对外字段的值进行更新和插入时会和引用表中字段的数据进行验证,数据如果不合法则更新和插入会失败...,保证数据的有效性 2、对于已经存在的字段添加约束 -- 为cls_id字段添加约束 alter table students add foreign key(cls_id) references...-- 需要先获取约束名称,该名称系统会自动生成,可以通过查看表创建语句来获取名称 show create table teacher; -- 获取名称之后就可以根据名称来删除外约束 alter...table teacher drop foreign key 键名; 5、小结 添加约束: alter table 从表 add foreign key(字段) references 主表(主键字段...); 删除外约束: alter table 表名 drop foreign key 键名; 演练 - 分组和聚合函数的组合使用 1、数据准备 -- 创建 "京东" 数据库 create database

18.5K20
您找到你想要的搜索结果了吗?
是的
没有找到

一篇文章带你了解Django ORM操作(高端篇)

例如:求所有书的总价格和平均价格 原生sql SELECT SUM(price) AS "所有书总价格", avg(price) AS "所有书平均价格" FROM web_book;...如果压缩的是,还可以取出外的详细信息。 示例:查询出每个出版社出版的数量。 通过研究表结构发现,每出版的书,都在book表中记录,并且每本书会一个出版社id。 ?...分组获取字段信息 上述确实可以通过分组实现了功能。 但是上述只能获取出版社id,并不能获取出版社名啥的,但是如何获取压缩字段详细信息呢?...里面只能写字段的列和annotate里面的列,不能写其他。 如果分组分的不是字段,那就不能再跟values!...人类简史2>>", price=66.66, PublishDate="2020-01-02", comment_num=23, collect_num=12, # 字段

1.2K11

MySQL 数据库基础知识(系统化一篇入门)

Language) MySQL、Oracle、Sql Server、DB2、SQLlite 通过表和表之间,行和列之间的关系进行数据的存储 通过关联来建立表与表之间的关系...非关系型数据库:NoSQL(Not Only SQL) Redis、MongoDB 指数据以对象的形式存储在数据库中,而对象之间的关系通过每个对象自身的属性来决定 二.SQL的概述...是用来 实现参照完整性的,不同的约束方式将可以使两张表紧密的结合起来,特别是修改或删除的级联操作将使 得日常维护更轻松。主要用来保证数据的完整性和一致性。...,且只适用于InnoDB表,MyISAM表不支持。...列入,字符串”ab_”匹配”ab”开始长度为3的字符串,abc、abp等等..

3.2K60

MySQ--语句大全

# 联合唯一:在结尾:unique(字段1,字段2) #非空约束:NOT NULL 要求被装饰的字段:非空 #约束...有且只有一个主键,用来组织数据的依据 create table t2(id int)engine=myisam; -- 不支持事务,不支持,支持全文索引,处理速度快。...,意味着以后但凡分组,只能取到分组的依据, 不应该在去取组里面的单个元素的值,那样的话分组就没有意义了,因为不分组就是对单个元素信息的随意获取 """ set global sql_mode="strict_trans_tables...高级查询操作 1、表创建 一对多(Foreign Key) # foreign key(需要关联的本字段) references 需要关联对表的表(需要关联对表的字段) 例如: 创建dep...group by post; # min 最小值 # 每个部门的最低工资 select post,min(salary) from emp group by post; # avg 平均值 # 每个部门的平均工资

1.7K10

06.Django基础五之django模型层(二)多表操作

一 创建模型 表和表之间的关系     一对一、多对一、多对多 ,用book表和publish表自己来想想关系,想想里面的操作,加约束和不加约束的区别,一对一的约束是在一对多的约束上加上唯一约束...models.CharField( max_length=32) email=models.EmailField() #多对多的表关系,我们学mysql的时候是怎么建立的,是不是手动创建一个第三张表,然后写上两个字段,每个字段关联到另外两张多对多关系的表...字段 ForeignKey 有一个 null=True 的设置(它允许接受空值 NULL),你可以赋给它空值 None 。   ...但是我们就不能使用ORM相关的方法了,所以我们单纯的将换成一个其他字段类型,只是单纯的存着另外一个关联表的主键值是不能使用ORM方法的。...#db_constraint=False只加两者的关系,没有强制约束的效果,并且ORM相关的接口(方法)还能使用,所以如果将来公司让你建立,并且不能有强制的约束关系,那么就可以将这个参数改为False

2.7K20

包含列的索引:SQL Server索引进阶 Level 5

在检查书签操作的级别6中,我们将看到SQL Server可能会单方面向您的索引添加一些列。 包括列 在非聚集索引中但不属于索引的列称为包含列。 这些列不是的一部分,因此不影响索引中条目的顺序。...而且,正如我们将会看到的那样,它们比列造成的开销更少。 创建非聚集索引时,我们指定了与列分开的包含列; 清单5.1所示。...我们必须过滤最右边的搜索列ModifiedDate; 而不是最左边的一列ProductID。 新的查询清单5.4所示。...构成每个单独组的行在索引内是连续的;但是这些群体本身分散在指数的长度上。因此,SQL Server扫描索引。 扫描索引而不是表格有两个好处: 索引小于表,需要更少的读取。...每当你创建一个非聚集索引,特别是在一个列上时,问问自己 - “我应该在这个索引中包含哪些额外的列? ----

2.3K20

SQL面试 100 问

主键为员工编号,部门编号字段是引用部门表的,职位编号字段是引用职位表的,经理编号字段是引用员工表自身的 。 1. 什么是 SQL?SQL 有哪些功能?...例如,AVG 函数可以计算一组数据的平均值。 22. 如何知道每个员工的邮箱长度?...如何获取每个部门的统计信息,比如员工的数量、平均月薪?...约束(FOREIGN KEY),用于表示两个表之间的引用关系。例如,员工属于部门,因此员工表中的部门编号字段可以定 义为,它引用了部门信息表中的主键。...答案:SQL 中删除表的命令如下: DROP TABLE table_name; 如果被删除的表是其他表的引用表,比如部门表(department),需要先删除子表。

2K20

定了!MySQL基础这样学

1.3、书写规则 数据库中,SQL 语句大小写不敏感. : select、SELECT.、SeleCt,为了提高可读性,一般关键字大写,其他小写。...设计从表可以有两种方案: 在t_card表中添加列(相对t_user表),并且给添加唯一约束; 给t_card表的主键添加约束(相对t_user表),即t_card表的主键也是。...例如再创建一张表t_stu_tea表,给出两个,一个相对t_stu表的,另一个相对t_teacher表的。...MIN(列) : 获取某一列的最小值 AVG(列) : 获取列的平均值 -- 查询货品表中有多少数据 SELECT COUNT(*) FROM product -- 计算所有货品的总的进货价 SELECT...如下面这条错误的sql语句: select * from emp where sal > avg(sal);     当执行到avg(sal)的时候,还没有执行group by,所以没办法执行分组函数。

2.2K20

MySQL与JDBC精简笔记

约束:foreign key 概述: 让表与表产生关系,从而保证数据的正确性。 在创建表时,添加 * 语法: create table 表名 ( ......列, constraint 键名称 foreign key (列名称) references 主表名称(主表列名称) ); 删除外 alter table 表名 drop foreign...key 键名称; 创建表之后,添加 示例: -- 主表必须先创建,否则创建失败 CREATE TABLE sch ( id INT PRIMARY KEY AUTO_INCREMENT...2.一对多(多对一): :部门和员工 分析:一个部门有多个员工,一个员工只能对应一个部门 实现方式:在多的一方建立,指向一的一方的主键。 3....多对多: :学生和课程 分析:一个学生可以选择很多门课程,一个课程也可以被很多学生选择 实现方式: 多对多关系实现需要借助第三张中间表; 中间表至少包含两个字段,这两个字段作为第三张表的,分别指向两张表的主键

4K30

0 基础MYSQL自学之路

2.SQL的优点SQL具有以下几个优点:简单易学:SQL的语法相对简单,易于学习和理解。高度可用:SQL可以用于各种数据库管理系统,MySQL、Oracle、SQL Server等。...约束约束用于保持数据表之间的一致性和约束关系,确保数据的完整性。6.1 数据一致性概念在设置约束之前,需要了解数据一致性的概念。...通过使用约束,可以确保数据表之间的关联关系的一致性。6.2 删除外使用ALTER TABLE语句来删除外约束。...ALTER TABLE table_name DROP FOREIGN KEY constraint_name;6.3 关于约束需要注意的细节约束必须指向已经存在的主键或唯一。...通过约束,可以实现数据表之间的一对一、一对多或多对多的关系。约束会导致数据库的性能下降,因此在设计数据库时需要权衡性能和数据一致性的要求。

16810

23篇大数据系列(三)sql基础知识(史上最全,建议收藏)

6.用户画像 基于用户的各方面数据,建立对用户的全方位理解,构建每个特定用户的画像,以便针对每个个体完成精细化运营。...一个表的主键,通常也会作为其他表引用的对象,即后面要讲到的。 1.5    通常用来建立两张表之间的关联关系,一个表的通常是与之关联的另一个表的主键。...这样在进行关联查询时,就可以通过两个表和主键之间的关系,将两张表连接起来,形成一张中间表,将两张表的信息融合,产生更大的价值。...1对1 和 1对多关系,通常使用引用对应表的主键就可以表达。而多对多关系,通常需要使用中间表来表达,中间表中记录了两张表的主键的对应关系。...SQL用关键字、表名、列名、操作符等组合而成的一条语句,用来描述操作的内容。SQL是有国际标准的,因此其通用性不言而喻。 2.1  关键字  SQL有很多关键字,每个关键字的含义和用法都不相同。

2.6K60

【Java 进阶篇】MySQL启动与关闭、目录结构以及 SQL 相关概念

每个数据库都有一个对应的子目录,其中包含表的数据文件。 etc目录:包含了MySQL的配置文件,my.cnf。 var目录:用于存储MySQL的临时文件和日志文件。...以下是SQL中一些重要的概念: 数据库(Database):数据库是一个包含数据表、视图、存储过程等对象的容器。每个数据库都有一个唯一的名称,用于标识。...主键(Primary Key):主键是一列或一组列,用于唯一标识数据表中的每个记录。 (Foreign Key):是一个或多个字段,用于建立数据表之间的关联。...子查询(Subquery):子查询是嵌套在其他查询中的查询,通常用于从内部查询中获取数据以供外部查询使用。...聚合函数(Aggregate Functions):聚合函数是用于计算数据汇总值的函数,SUM、AVG、COUNT等。

24810

sql语言总结合集

语句简介 SQL(Structured Query Language):结构化查询语言 SQL是在关系数据库上执行数据操作、检索及维护所使用的标准语言,可以用来查询数据,操纵数据,定义数据,控制数据。...,需要指定引用主表的那一列 如果表A的主键是表B中的字段,则该字段称为表B的,表A(主表),表B(从表)....AVG(sal) FROM empp GROUP BY deptno; 查询每个职位的最高工资和最低工资 SELECT job,MAX(sal),MIN(sal) FROM empp GROUP BY...='clerk'; -- 8.查看每个城市员工的平均工资' SELECT dept.loc,AVG(sal) FROM emp INNER JOIN dept ON emp.deptno=dept.deptno...='clerk'; 8 查看每个城市员工的平均工资 SELECT dept.loc, IFNULL(AVG(sal),0) FROM test INNER JOIN dept ON test.deptno

64430

MySQL总结

指定模式的语法:foreign key(字段)references 父表(主键字段)on delete 模式 on update 模式; 注意:删除置空的前提条件是 字段允许为空,不然会创建失败...虽然很强大,能够进行各种约束,但是的约束降低了数据的可控性和可拓展性。通常在实际开发时,很少使用来约束。...3.MySQL的行的详细操作 1.删除或修改被关联字段 场景:book表和publish表为多对一关系,book表的pid字段关联到了publish表的id字段 1 查看关系名称: show...,每个人都有唯一的id号,我count是计算一下分组之后每组有多少的id记录,通过这个id记录我就知道每个组有多少人了 关于集合函数,mysql提供了以下几种聚合函数:count、max、min、avg...设计表: 5. 新建查询 6. 备份库/表 注意: 批量加注释:ctrl+? 批量去注释:ctrl+shift+?

1.8K30

Mysql 窗口函数学习

何为窗口函数呢?既然窗口函数这个名字源于数据库,那么我们就援引其在数据库中的定义。下图源于 MySQL8.0 的官方文档,从标黄高亮的一句介绍可知:窗口函数是用与当前行有关的数据行参与计算。...其中,上表所述的窗口函数主要分为两大类: 排序类,包括 row_number、rank、dense_rank 等,也包括 percent_rank、cume_dist 等分布排序类 相对引用类, lag...进一步地,由于此处限定计算近 3 次成绩的平均分,所以除了 partition 和 order by 两个关键字,还需增加 rows between 的限定。...具体 SQL 语句和查询结果如下: SELECT *, avg(score) over(partition by uid order by date rows between 2 preceding and...current row) as avg_score3 from score ?

1.1K20
领券