
MySQL
文章平均质量分 83
个人学习过程
暮棂
学术小渣渣
展开
-
一、MySQL的介绍与安装
数据库是以易于访问的格式存储的数据集合,我们使用一种叫做数据库管理系统或 DBMS 的软件应用,电脑连接一个DBMS下达**查询**或者**修改**数据的指令。DBMS就会执行执行返回结果。DBMS目前分为两大类,关系型or非关系型,后者为NoSQL。原创 2024-12-22 09:25:49 · 250 阅读 · 0 评论 -
二、创建数据库
【创建新标签】【在新的查询选项卡中打开SQL脚本文件】【打开所选对象的检查器】【在连接的服务器中创建新架构】【在连接的服务器中的活动架构中创建新表】【在连接的服务器中的活动架构中创建新视图】【在连接的服务器中的活动架构中创建新的存储过程】【在连接的服务器中的活动架构中创建新函数】【在侧边栏模式树中选择的对象中搜索表数据中的文本】【重新连接到DBMS】原创 2024-12-22 09:26:31 · 424 阅读 · 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 · 231 阅读 · 0 评论 -
1.1 在单一表格中检索数据
首先查看左侧导航面板可观察到,没有任何数据库被选中进行查询。因此,第一步需要获取数据库中的数据。原创 2024-12-22 17:41:03 · 786 阅读 · 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 · 1143 阅读 · 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 · 809 阅读 · 0 评论 -
2.1 汇总数据(形成报表)
通过该语句,可以查询到所有invoice_total的求和,但是并不知道每一个客户总销售,因此可以使用GROUP BY语句。可以看到,通过GROUP BY将总销售额按客户进行求和,并且按照total_sales的降序排序。该段代码将每个客户的销售额进行了加总,现在要求(只想包含>500美金的客户),应该如何去做。1. 聚合函数只运行非空值,所以如果列中有空值,它不会被算在函数里。因此,在GROUP BY前使用WHRER,在之后使用HAVING。注:默认状态下,会取重复值,此时需要在函数中使用。原创 2025-01-17 08:51:04 · 1069 阅读 · 0 评论 -
2.2 使用子查询编写复杂查询
写一段SQL,在sql_store库、products表中查询所有比生菜更贵的产品。原创 2025-03-23 13:20:13 · 812 阅读 · 0 评论 -
2.3 MySQL基本内置函数
【练习】将下面的sql语句改成使用日期函数sql语句。原创 2025-04-03 10:30:39 · 577 阅读 · 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 · 589 阅读 · 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 · 342 阅读 · 0 评论 -
(高频SQL50题)1251. 平均售价
Prices(product_id,start_date,end_date) 是prices表的主键(具有唯一值的列的组合)。prices表的每一行表示的是某个产品在一段时期内的价格。每个产品的对应时间段是不会重叠的,这也意味着同一个产品的价格时段不会出现交叉。UnitsSold该表可能包含重复数据。该表的每一行表示的是每种产品的出售日期,单位和产品 id。编写解决方案以查找每种产品的平均售价。应该。如果产品没有任何售出,则假设其平均售价为 0。返回结果表。结果格式如下例所示。原创 2025-03-23 09:50:20 · 592 阅读 · 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 · 962 阅读 · 0 评论 -
(高频SQL50题)1731.每位经理的下属员工数量
Employeesemployee_id 是这个表中具有不同值的列。该表包含员工以及需要听取他们汇报的上级经理的 ID 的信息。有些员工不需要向任何人汇报(reports_to 为空)。对于此问题,我们将至少有一个其他员工需要向他汇报的员工,视为一个经理。编写一个解决方案来返回需要听取汇报的所有经理的 ID、名称、直接向该经理汇报的员工人数,以及这些员工的平均年龄,其中该平均年龄需要四舍五入到最接近的整数。返回的结果集需要按照进行排序。原创 2025-04-01 11:28:53 · 545 阅读 · 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 · 809 阅读 · 0 评论 -
(高频SQL50题)1978.上级经理已离职的公司员工
表:Employees在 SQL 中,employee_id 是这个表的主键。这个表包含了员工,他们的薪水和上级经理的id。有一些员工没有上级经理(其 manager_id 是空值)。查找这些员工的id,他们的薪水严格少于$30000并且他们的上级经理已离职。当一个经理离开公司时,他们的信息需要从员工表中删除掉,但是表中的员工的manager_id这一列还是设置的离职经理的id。返回的结果按照从小到大排序。原创 2025-04-03 10:12:01 · 246 阅读 · 0 评论