MySQL 第一章

内容来自:

1、b站mosh老师的SQL课程(第一章) 【中字】SQL进阶教程 | 史上最易懂SQL教程!10小时零基础成长SQL大师!!_哔哩哔哩_bilibili www.bilibili.com/video/BV1UE41147KC/?p=17&spm_id_from=333.1007.top_right_bar_window_history.content.click&vd_source=171e84ea90c06aa5a434d7fa2502e75c

2、《SQL必知必会(第五版)》(第一章)

3、菜菜菊花酱数据分析课程

什么是SQL

  • A DATABASE is a collection of data stored in a format that can easily be accessed
    数据库是一个以易访问格式存储的数据集合,是用来保存有组织的数据的容器(可以是一个文件【文件在数据库中被称为是表】或一组文件)。

  • 数据库:将大量数据保存起来,通过计算机加工而成的可以进行高效访问的数据集合称为数据库(DataBase, DB)。比如企业将用户姓名、住址、联系方式等数据保存到数据库里面,需要的时候就可以随时调用。

  • 为了管理我们的数据库 我们使用一种叫做数据库管理系统(RDBMS, Relational Database Management System,也可以叫做DBMS)的软件。我们连接到一个DBMS(管理数据库的计算机系统)然后下达查询或者修改数据的指令,DBMS就会执行我们的指令并返回结果v2-6d286bfbc8c9d28f607b46691bc8fda0_1440w

  • RDBMS的常见系统结构主要就是客户端/服务器类型(也就是C/S类型) image-20240110212011401

    服务器指的是用来接收其他程序发出的请求,并对该请求进行相应处理的程序(软件),或者是安装了此类程序的设备(计算机,比如集群、服务器)。计算机上持续执行处理,并等待接收下一条请求。RDBMS 也是一种服务器,它能够从保存在硬盘上的数据库中读取数据并返回还可以把数据变更为指定内容
    与之相对,向服务器发出请求的程序(软件),或者是安装了该程序的设备(计算机)称为客户端。访问由 RDBMS 管理的数据库,进行数据读写的程序称为 RDBMS 客户端。RDBMS 客户端将想要获取什么样的数据,或者想对哪些数据进行何种变更等信息通过 SQL 语句发送给RDBMS 服务器。RDBMS 根据该语句的内容返回所请求的数据,或者对存储在数据库中的数据进行更新。
    另外,RDBMS 既可以和其客户端安装在同一台计算机上,也可以分别安装在不同的计算机上。这样一来,不仅可以通过网络使二者相互关联,还可以实现多个客户端访问同一个 RDBMS

    需要注意的是:

    1. 客户端没有必要使用同样的程序,只要能将SQL代码发送给RDBMS,就可以操作数据库了。
    2. 多个客户端可以同时对一个数据库进行读写操作。
    3. 服务器一般安装在性能比较优越的计算机上,因为它除了需要同时接收多个客户端的请求之外,还

    要操作存有大量数据的数据库

  • 有关系型和非关系型(NoSQL)两类数据库,在更流行的关系型数据库中,我们把数据存储在通过某些关系相互关联的数据表中,每张表储存特定的一类数据,这正是关系型数据库名称的由来(如:顾客表通过顾客id与订单表相联系,订单表又通过商品id与商品表相联系)。缺点:无法处理当前出现的越来越多的复杂类型数据(如文本、图像、视频等) ;在非关系型数据库中,我们没有表或者关系,另外非关系型DBMS无法读取SQL语言.

  • SQL(Structured Query Language,结构化查询语言)是专门用来处理(包括查询和修改)关系型数据库的标准语言

  • SQL是一种声明式语言,并且 SQL 语句中不能包含变量。它为计算机声明了一个你想从原始数据中获得什么样的结果的一个范例,而不是告诉计算机如何能够得到结果, SQL 语句的内容返回的数据同样必须是二维表的形式 。

    SELECT first_name, last_name FROM employees WHERE salary > 100000
    

    image-20240110214510218

    我们不关心这些雇员记录从哪里来,我们所需要的只是那些高薪者的数据(salary > 100000)

模式(Schema):

关于数据库和表的布局及特性的信息,模式也可以用来描述数据库中特定的表,也可以用来描述整个数据库(和其中表的关系)

特性:定义数据在表中如何存储,包括存储什么样的数据,数据如何分解,各部分的信息如何命名等信息

数据分解: 例如,城市、州、邮政编码应该总是彼此独立的列。通过分解这些数据,才有可能利用特定的列对数据进行分类和过滤(如找出特定州或特定城市的所有顾客)。表中的数据是如果城市和州组合在一个列中,则按照这个组合列进行分类或过滤就会很困难。(类似于excel的某列进行分列)

屏幕截图 2023-12-11 164536

这5个数据库的是由创建代码命名的,不会意外地和另一个数据库服务器中名称一样的数据库冲突,但在不同的数据库中可以使用相同的表名。

屏幕截图 2023-12-11 165019

  • Tables:储存某种特定类型数据的结构化清单,存储在表中的数据是同种特定类型的数据或者清单

    表由列组成,表中的数据按行存储

    • 列:表中的一个字段,所有表都由一个或多个列组成
    • 行:表中的一条记录
  • Views:虚拟的表(可以把不同表的数据结合在一起)

  • Stored Procedures:存储过程

  • Functions: 存储函数

如果有数据库打开Tables、Views、Stored Procedure、Functions显示tables fetching,可以退出重新进

屏幕截图 2023-12-11 165745

带闪电的表格:click可以查看表格内容

屏幕截图 2023-12-11 165929

解释名词

记录

表格的每一行代表一条记录

主键

一列(或几列),其值能够唯一标识表中的每一行

image-20240110215144695

补充

  • 没有主键,更新或删除表中特定行就极为困难

    • 表中的任何列都可以作为主键,只要它满足以下条件
    1. 任意两行都不具有相同的主键值;
    2. 每一行都必须具有一个主键值(主键列不允许空值 NULL);> 3. 主键列中的值不允许修改或更新;
    3. 主键值不能重用(如果某行从表中删除,它的主键不能赋给以后的新行);
    4. 在使用多列作为主键时,上述条件必须应用到作为主键的所有列,所有列值的组合必须是唯一的(但其中单个列的值可以不唯一)
  • 解释为什么order表的第二列是customer_id,不是其他信息(name啥的)?

屏幕截图 2023-12-11 165929

如果订购人的个人信息(name、phone)发生变化,就不需要在多个有关系的table中修改,只用在customers中修改信息,而相比于birth_date,customer_id比较简洁(customer表和orders表通过customer_id进行关联)

  • 关系数据库以行为单位读写数据

  • 一个单元格中只能输入一个数据image-20240121152744992

omer表和orders表通过customer_id进行关联)

  • 关系数据库以行为单位读写数据

  • 一个单元格中只能输入一个数据[外链图片转存中…(img-IKa5XZeW-1708250317900)]

  • 6
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值