1-2数据库基础------Mysql数据库技术

目录

什么是数据、数据库

数据库在工作中的应用

数据库管理软件(DBMS)

MySQL数据特点

MySQL数据库架构

MySQL服务器与客户端

 数据表(关系表)

表结构

行实例

主键(PRIMARY KEY)

外键(FOREIGN KEY)

外键的作用

外键实例说明

SQL语言

启动MySQL服务

客户端软件--MySQL Workbench 6.1 CE

 select查询语句

 查询特定列

查询多列

查询所有列

避免查询到重复的内容

设定查询结果返回的行数

查询结果排序

order by 与 limit 组合


什么是数据、数据库

  • 数据是数据库中存储的基本对象,种类包括文字、图形、图像、声音等等。
  • 数据库(database)是以某种有组织的方式存储的数据集合,保存有组织的数的容器,通常是一个文件或者一组文件。
  • 理解数据库的一种最简单的办法是将其想象为一个文件柜。此文件柜是一个存放数据的物理位置,不管数据是什么以及如何组织的。

数据库在工作中的应用

  1. 部署测试环境需要安装数据库、配置数据库。
  2. 数据库中构造初始化数据。(接口测试时,没有界面的时候,需要去数据库去查看)
  3. 测试执行过程中需验证数据库中的数据是否正确。
  4. 有些时候验证功能,需要修改数据库中的数据。
  5. 构造数据进行性能测试,大数据量测试。

数据库管理软件(DBMS)

  • 数据库存放于文件中,管理该数据库的软件称为数据库管理软件(DBMS)。
  • 对数据库的操作与管理是通过数据库管理软件来完成的。
  • 行业中主流的数据库管理软件有ORACLE、SQLSERVER、MySQL等。
  • 本课程讲解MySQL的使用。

MySQL数据特点

  • MySQL是一种关系型数据库管理系统,关系数据库将保存在不同的表中,而不是将所有数据放在一个大仓库,这样就增加了速度并提高了灵活性。
  • MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。
  • MySQL分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。

MySQL数据库架构

  • MySQL是基于客户机-服务器模式(C/S)的数据库管理软件,客户机-服务器应用分为两个不同的部分:
  1. 服务器是负责所有数据访问和处理的软件,这个软件运行在称为数据库服务器的计算机上;与数据文件打交道的只有服务器软件,书籍添加、删除、更新的所有请求操作都是由服务器软件完成。
  2. 客户机是与用户打交道的软件,服务器处理客户机发送的请求,并把处理结果返回给客户机。

MySQL服务器与客户端

  • 为了能够使用MySQL,需要有MySQL服务器软件与MySQL客户端软件。
  • 通常情况下安装MySQL,会安装MySQL服务器软件与默认的客户端软件。
  • 数据库和表都是创建在服务器端(设备)。

数据表(关系表)

  • 关系数据库中的数据是保存在表里面的,存储在表中的数据是一种特定类型的数据。在数据库中,表有一个唯一的名字。在数据库中,表有一个唯一的名字来标识该表,称为表名
  • 表定义了数据在表中如何存储,如可以存储什么样的数据,数据如何分解,各部分信息如何命名等等。
  • 比如:将京东商城的客户信息保存在一个顾客表中,可以取名customer。
  • 注意:表名不可以重名。

表结构

  • 表由列组成,列中存储着表中某部分的信息。
  • 所有表都是由一个或多个列组成的。
  • 比如:在学生表中,一个学生信息如下:学号,姓名,性别,班级,手机号等等,相同的属性的值都存放在一列,比如学号存放在一列,姓名存放在一列。
  • 而这个属性在我们数据表也叫字段

一行记录由多个属性值(字段)组成的。

一行叫做一条记录。

一列叫做一个字段(属性)

学号姓名性别班级年龄联系电话
      
      

 

 

 

 

  • 表中的数据是按行存储的,一行就是一条记录。
  • 如果将表想象为网格,网格中垂直的列为表列,水平行为表行

行实例

主键(PRIMARY KEY)

  • 唯一标识表中每行的这个列(或几个列)称为主键。
  • 主键用来表示一个特定的行。
  • 表中任何列都可以作为主键,主要满足一下条件。
  1. 任意两行都不具有相同的主键值,即主键值不能重复。
  2. 每个行都必须具有一个主键值,即主键值不能为空(NULL)。

注意,一张表只能有一个主键,主键也有可能是多个列的组合,组合值必须唯一且不能为空。

外键(FOREIGN KEY)

  • 列A存在于表1和表2中,如果列A在表1中是主键,那么列A是表2的外键。
  • 外键表示了两个表之间的相关联系。
  • 以另一个表的外键作主键的表被称为主表,具有此外建的表被称为主表的从表。
  • 外键又称作外关键字。
  • ①外键只能引用其他表中主键的值,②外键可以为空值或者可以重复。

外键的作用

  • 保持数据一致性,完整性
  • 主要目的是控住存储在外键表中的数据。是两张表形成关联,外键只能引用外表中的列的值或者使用空值。
  • 最直观的作用是防止非法数据录入,就是说录入外键数据时必须在它所属的主表中存在相应数据,如果录入空字符或其他数据会报错。

外键实例说明

  • 保有两张表,用户表和订单表:
  1. 如果删除了用户表里的用户,那么订单表里面和这个用户有关的数据,就成了无头数据了,不完整了;
  2. 如果在订单表里,随便插入了一条数据,这个订单在用户表里面,没有之对应的用户。这样数据也不完整了;
  3. 如果有外键的话,可以不让用户删除数据,或者删除用户的话,通过外键同样删除订单表里的数据,这样也能让数据完整。

SQL语言

  • SQL是结构化查询语言,是一种专门用来与数据库通信的语言。
  • SQL语言由国际标准委员会定义,但是不同的数据库管理系统采用的SQL语言会存在一些小的差异。

启动MySQL服务

启动服务:双击启动MySQL数据库.bat,出现命令窗口之后不可以关闭。

客户端软件--MySQL Workbench 6.1 CE

 select查询语句

  • MySQL使用select语句查询数据。
  • select语句的作用是从一个或多个表中查询信息。
  • 使用select语句,必须至少给出两条信息:
  1. 选择什么(字段名)
  2. 从什么地方选择(表名)
  • 注意:SQL语言中,不区分大小写,每一条SQL语句,使用英文分号“;”表示结尾。

 查询特定列

  • 格式:select 列名 from 数据库.表名;
  • #(ctrl+enter) 执行当前行
  • 说明:如果在from后面直接使用表名的话,需要先指定使用的是哪个数据库。

查询多列

  • 格式:select 列1,列2,... from 表名;

查询所有列

  • 格式:select * from 表名;

避免查询到重复的内容

  • 如果查询到的两行内容一样,默认情况下,MySQL是会显示这些重复的行;
  • 如果需要相同的行只显示一次,可以使用distinct关键字。
  • 格式:select distinct 列名 from 表名;

设定查询结果返回的行数

  • 如果一个表的行数非常多,可以使用limit关键字,指定需要返回多少行。
  • 格式1:select 列名 from 表名 limit n;
  • 例如:limit 3是指前三行
  • 说明:n是限定的行数;
  • 格式2:select 列名 from 表名 limit n,m;       #只显示从第n行开始的后面m行。
  • 说明:MySQL中的行号是从0开始计算的,limit 2,3是第3行开始往后数3行,也就是第3,4,5行。

查询结果排序

  • 为了明确的排序用select语句查询出的数据,可使用 order by 语句。默认是升序(asc),降序是(desc)
  • order by语句取一个或多个列的名字,根据这些列进行排序。
  • 格式:select  列名 from 表名 order by 列名;
  •            select  列名 from 表名 order by 列名1,列名2;
  • 例如select * from products order by vend_id,prod_name,prod_price asc(desc);
  • #(先按vend_id排序,vend——id相同的数据,再根据prod——name去排序,然后在根据prod_price排序)

order by 与 limit 组合

  • 使用order by 与 limit 的组合,能够找出一个列中最高或者最低的值。
  • 例1:找出最贵物品的价格
  • select prod_name,prod_price from products order by prod_price desc limit 1;
  • 说明:order by 子句位于from子句之后,如果使用limit,那么它必须位于order by之后

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值