MySQL
文章平均质量分 81
个人学习过程
暮棂
学术小渣渣
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
一、MySQL的介绍与安装
数据库是以易于访问的格式存储的数据集合,我们使用一种叫做数据库管理系统或 DBMS 的软件应用,电脑连接一个DBMS下达**查询**或者**修改**数据的指令。DBMS就会执行执行返回结果。DBMS目前分为两大类,关系型or非关系型,后者为NoSQL。原创 2024-12-22 09:25:49 · 298 阅读 · 0 评论 -
二、创建数据库
【创建新标签】【在新的查询选项卡中打开SQL脚本文件】【打开所选对象的检查器】【在连接的服务器中创建新架构】【在连接的服务器中的活动架构中创建新表】【在连接的服务器中的活动架构中创建新视图】【在连接的服务器中的活动架构中创建新的存储过程】【在连接的服务器中的活动架构中创建新函数】【在侧边栏模式树中选择的对象中搜索表数据中的文本】【重新连接到DBMS】原创 2024-12-22 09:26:31 · 620 阅读 · 0 评论 -
三、MySQL学习路径
1. 基础操作1.1 在单一表格中检索数据1.2 多表格检索查询1.3数据插入、更新和删除1.4数据删除2. 进阶操作2.1 汇总数据(形成报表)2.2 使用子查询编写复杂查询2.3MySQL基本内置函数2.4 创建视图2.5 创建过程3. 高阶操作3.1 触发器3.2 事件3.3 实务3.4 并发4. 独立设计数据库4.1 设计数据库4.2 更高效的索引4.3 保护数据库原创 2024-12-22 20:22:34 · 405 阅读 · 0 评论 -
1.1 在单一表格中检索数据
首先查看左侧导航面板可观察到,没有任何数据库被选中进行查询。因此,第一步需要获取数据库中的数据。原创 2024-12-22 17:41:03 · 1034 阅读 · 0 评论 -
1.2 多表格检索查询
表【order_statuses】中的order_statuses_id对应表【order】中的status,而表【orders】中的customer_id对应表【customers】中的customer_id,也就是这三个表产生了联系。在把表【customers】与表【orders】连接的过程中,可观察到表【orders】中的shippers_id有缺失值,通过外连接将表【shippers】连入。注:一般避免使用右连接,因为当连接多表时,同时使用左连接、右连接及内连接会变得非常复杂,可读性查。原创 2024-12-25 20:44:21 · 1341 阅读 · 0 评论 -
1.3 数据插入、更新和删除
观察结果可以发现,当orders表中创建了id为11的信息时,对应的order_items也创建出id为11的两条信息。可以看出,实际上每一笔订单可以有多个product订单,所以说orders为母表,order_items为子表。表【orders_archived】缺少主键,也没有自动递增列AI,所以利用该方法创建表时,会忽略掉这些属性。在刚才的例子中,我们对client_id为3的信息进行了更新,如果此时只有地址,没有id应该如何?再打开导航面板,就可以看到数据库消失,再点击刷新,练习数据库就会出现。原创 2024-12-28 18:22:53 · 957 阅读 · 0 评论 -
2.1 汇总数据(形成报表)
通过该语句,可以查询到所有invoice_total的求和,但是并不知道每一个客户总销售,因此可以使用GROUP BY语句。可以看到,通过GROUP BY将总销售额按客户进行求和,并且按照total_sales的降序排序。该段代码将每个客户的销售额进行了加总,现在要求(只想包含>500美金的客户),应该如何去做。1. 聚合函数只运行非空值,所以如果列中有空值,它不会被算在函数里。因此,在GROUP BY前使用WHRER,在之后使用HAVING。注:默认状态下,会取重复值,此时需要在函数中使用。原创 2025-01-17 08:51:04 · 1198 阅读 · 0 评论 -
2.2 使用子查询编写复杂查询
写一段SQL,在sql_store库、products表中查询所有比生菜更贵的产品。原创 2025-03-23 13:20:13 · 997 阅读 · 0 评论 -
2.3 MySQL基本内置函数
【练习】将下面的sql语句改成使用日期函数sql语句。原创 2025-04-03 10:30:39 · 697 阅读 · 0 评论 -
2.4 创建视图
因为越来越多的表连接+子查询会十分复杂,所以可以将这些查询or子查询存在视图里,下一次还可以继续使用这些视图,而不需要再写一次查询。这样的查询十分频繁,所以可以直接保存为视图,在其他地方进行使用。views中将会显示我们创建的视图。原创 2025-06-12 20:53:53 · 584 阅读 · 0 评论 -
4.1 设计数据库
utf8 最长字节为 3,假如有一张表,其中有一列的类型为 char(10),表示固定长度的字符串,代表不管实际使用了 1 个字符还是 10 个字符,MySQL 还是机会保留 10 个字符串的空间,如果使用的 utf8 字符集,MySQL 则会为每个字符串预留最大字节数 3,这个列则会为每个单元格预留 10×3 的空间,也就是 30 个字节,如果这张表有 100 万记录,MySQL 则会为这张表配置 3000 万个字节的空间。删除操作也同理,假如表里存储的信息时财务信息,我们可能。原创 2025-03-09 18:19:50 · 733 阅读 · 0 评论 -
(高频SQL50题)196.删除重复的电子邮箱
表:Personid 是该表的主键列(具有唯一值的列)。该表的每一行包含一封电子邮件。电子邮件将不包含大写字母。编写解决方案所有重复的电子邮件,只保留一个具有最小id的唯一电子邮件。(对于 SQL 用户,请注意你应该编写一个DELETE语句而不是SELECT语句。(对于 Pandas 用户,请注意你应该直接修改Person表。运行脚本后,显示的答案是Person表。驱动程序将首先编译并运行您的代码片段,然后再显示Person表。Person表的最终顺序。返回结果格式如下示例所示。原创 2025-04-08 08:44:07 · 534 阅读 · 0 评论 -
(高频SQL50题)197. 上升的温度
表:Weatherid 是该表具有唯一值的列。没有具有相同 recordDate 的不同行。该表包含特定日期的温度信息编写解决方案,找出与之前(昨天的)日期相比温度更高的所有日期的id。返回结果。结果格式如下例子所示。Weather 表:+----+| id |+----+| 2 || 4 |+----+2015-01-02 的温度比前一天高(10 -> 25)2015-01-04 的温度比前一天高(20 -> 30)原创 2025-03-18 14:49:38 · 431 阅读 · 0 评论 -
(高频SQL50题)1251. 平均售价
Prices(product_id,start_date,end_date) 是prices表的主键(具有唯一值的列的组合)。prices表的每一行表示的是某个产品在一段时期内的价格。每个产品的对应时间段是不会重叠的,这也意味着同一个产品的价格时段不会出现交叉。UnitsSold该表可能包含重复数据。该表的每一行表示的是每种产品的出售日期,单位和产品 id。编写解决方案以查找每种产品的平均售价。应该。如果产品没有任何售出,则假设其平均售价为 0。返回结果表。结果格式如下例所示。原创 2025-03-23 09:50:20 · 704 阅读 · 0 评论 -
(高频SQL50题)1661. 每台机器的进程平均运行时间
表:Activity该表展示了一家工厂网站的用户活动。(machine_id, process_id, activity_type) 是当前表的主键(具有唯一值的列的组合)。machine_id 是一台机器的ID号。process_id 是运行在各机器上的进程ID号。activity_type 是枚举类型 ('start', 'end')。timestamp 是浮点类型,代表当前时间(以秒为单位)。原创 2025-03-22 11:25:34 · 1042 阅读 · 0 评论 -
(高频SQL50题)1667. 修复表中的名字
表:Usersuser_id 是该表的主键(具有唯一值的列)。该表包含用户的 ID 和名字。名字仅由小写和大写字符组成。编写解决方案,修复名字,使得只有第一个字符是大写的,其余都是小写的。返回按user_id排序的结果表。返回结果格式示例如下。原创 2025-04-07 15:24:03 · 281 阅读 · 0 评论 -
(高频SQL50题)1731.每位经理的下属员工数量
Employeesemployee_id 是这个表中具有不同值的列。该表包含员工以及需要听取他们汇报的上级经理的 ID 的信息。有些员工不需要向任何人汇报(reports_to 为空)。对于此问题,我们将至少有一个其他员工需要向他汇报的员工,视为一个经理。编写一个解决方案来返回需要听取汇报的所有经理的 ID、名称、直接向该经理汇报的员工人数,以及这些员工的平均年龄,其中该平均年龄需要四舍五入到最接近的整数。返回的结果集需要按照进行排序。原创 2025-04-01 11:28:53 · 614 阅读 · 0 评论 -
(高频SQL50题)1789.员工的直属部门
Employee这张表的主键为 employee_id, department_id (具有唯一值的列的组合)employee_id 是员工的IDdepartment_id 是部门的ID,表示员工与该部门有关系primary_flag 是一个枚举类型,值分别为('Y', 'N'). 如果值为'Y',表示该部门是员工的直属部门。如果值是'N',则否一个员工可以属于多个部门。当一个员工加入的时候,他需要决定哪个部门是他的直属部门。原创 2025-04-02 11:27:00 · 888 阅读 · 0 评论 -
(高频SQL50题)1978.上级经理已离职的公司员工
表:Employees在 SQL 中,employee_id 是这个表的主键。这个表包含了员工,他们的薪水和上级经理的id。有一些员工没有上级经理(其 manager_id 是空值)。查找这些员工的id,他们的薪水严格少于$30000并且他们的上级经理已离职。当一个经理离开公司时,他们的信息需要从员工表中删除掉,但是表中的员工的manager_id这一列还是设置的离职经理的id。返回的结果按照从小到大排序。原创 2025-04-03 10:12:01 · 317 阅读 · 0 评论
分享