MySQL数据库教程01

13 阅读5分钟

一、数据库基础概念

1.1 什么是数据库

用于存储数据的仓库,只不过这里的数据库指的是使用计算机来存储数据的。

1.2 数据库的组成

由表、表与表之间的关联关系、操作对象(如索引、视图等)共同组成。

1.3 数据存储方式

传统存储方式

  • 靠记忆存储
    • 容易遗忘
    • 在传承数据过程中易发生偏差
  • 靠载体记忆存储
    • 绳结记忆    石刻      甲骨  竹简     布匹   纸张

计算机存储方式

  • 基于内存存储
    • 临时存储(断电后数据丢失)
  • 基于磁盘存储
    • 永久保存数据(断电后数据保留)

1.4 数据库存储的优点

  • 支持大数据量存储
  • 存储速度快,支持高效索引查询与维护
  • 保障数据一致性与完整性
  • 实现数据共享与安全控制
  • 可通过组合查询生成新信息

1.5 数据库的发展史

萌芽阶段

  • 存储形式:文件存储(如Excel、CSV、TXT等)

初级阶段

  • 模型类型
  • 网状模型

image.png

  • 层次模型

image.png

中级阶段

  • 核心技术
  • 关系型数据库(RDB - Relational Database)
  • SQL(Structured Query Language,结构化查询语言)

image.png

高级阶段

  • 主流模型
    • "关系-对象"模型
    • 当前项目仍以关系型数据库为主流

二、数据库核心概念

2.1 关系模型

将现实世界视为由独立实体及其属性构成,实体对应数据库表,属性对应表字段。

2.2 表间关系

关系类型描述示例
一对一表A与表B的某行相互关联班级与班长
一对多表A的一行关联表B的多行班级与学生
多对多表A与表B的多行相互关联教师与学生

2.3 数据库管理系统(DBMS)

  • 核心功能
    管理数据库的存储、安全、事务等操作

  • 分类

    类型代表产品典型应用场景
    商业数据库Oracle、DB2金融、通信、制造业
    开源数据库MySQL、PostgreSQL互联网、中小企业
    内存数据库Redis、Memcached高速缓存
    大数据HBase、Hive海量数据处理

三、MySQL数据库

3.1 简介

mysql数据库是一个免费开源的关系型数据库管理系统,是瑞典的mysql  AB公司的产品,08年被美国sun以10亿美金收购,09年被oracle公司以74亿美金收购。

3.2 特点

  • MySQL 是开源的,不需要支付额外的费用。
  • MySQL 支持大型的数据库。支持5000万条记录的数据仓库,32位系统表文件最大可支持4GB,64位系统支持最大的表文件为8TB。
  • MySQL 使用标准的SQL数据语言形式。
  • MySQL 可以运行于多个系统上,并且支持多种语言。这些编程语言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。
  • MySQL 对PHP有很好的支持,PHP是目前最流行的Web开发语言。

3.3 环境部署

 1.xampp集成环境部署安装

  • 只需要安装xampp集成环境就可以了,apache服务器,mysql数据库,php,perl编程语言环境
  • 启动mysql

image.png

 2.独立安装部署:

  • 选择跳过更新安装

image.png

  • 选择默认的―Development Default‖进行安装,表示用于开发目的,包含绝大部分实用工具:

image.png

  • 对于其它依赖组件,保持默认即可:

image.png

  • 安装过程如下图所示

image.png

  • 对 MySQL 进行基础配置,保持默认即可,也可以在“Config Type”中选择“Server Machine”

image.png

  •  输入默认用户“root”的密码,如“123456”

image.png

  • 选择是否让 MySQL 随 Windows 启动而自动启动,为了加快 Windows 启动速度,不建议自动启动,而是在我们需要的时候手工启动最好:

image.png

  • 后续操作保持默认,一路向下即可完成安装。

 3.登录mysql数据库:

 3.1 命令行登录mysql数据库

image.png

  • mysql -uroot -p

  • mysql -u root -p [-P 3306]按回车键,再输入密码

    -u:username

    -p:password

    -P:端口

 3.2 通过工具登录mysql数据库
  • work bench --  mysql自带的一个基于界面的管理工具

  •  navicate

    具体使用参照系统测试环境部署

    执行sql语句,选择查询,新建一个查询

image.png

在当前编辑器窗口执行sql语句,保存查询文件

image.png

 3.3 常见的SQL命令:
  •  show databases;       查看当前所有的数据库
  •  use  dbname[数据库名];     切换数据库,使用数据库
  •  show tables;    查看数据库的所有表文件
  •  select   *   from    tbname;   查询表中数据
  •  desc   tbname[表名];     查看数据库的表结构
  •  exit;       推出数据库登录
  •  注释       对SQL语句的注解,在执行的时候不会去执行注解文件,注两个横线后面有空格
  •  注释快捷键:ctrl+?
  •  取消注释快捷键:ctrl+shift+?
 3.4 修改初始密码:
  • 登录到mysql数据库,进入到mysql数据库的user表中,修改root用户对应的password密码就可以了

    mysql -uroot -p

    use mysql;

    update user set password='*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9' where user='root';

    update user set password = password('123456')  where user='root';

    mysqladmin -uroot -p123456 password='654321';

  • 直接在cmd命令窗口输入:

    mysqladmin -uroot -p654321 password "123456"        

    注意事项:引号必须是英文

 3.5 SQL语句的分类:
  • SQL--structured query language  结构化查询语言,就是用来管理关系型数据库的,对数据库进行常规的增删查改操作,结合RDBMS共同协作的。

  • 常见分类:

    DDL (database definition language   数据定义语言):用来对数据库的表,表结构,数据类型,约束限制等进行定义的

    DML(database manipulation language  数据操作语言):对数据库的数据进行增、删、改的操作

    DQL(database query language  数据查询语言):用来查询数据库中的数据的,可以单表查询,多表组合查询

    DCL(database control language 数据控制语言):用来数据库的用户、用户组、所属权限进行管理的

备注:资料来源对蜗牛学院的测试开发的学习。