学习数据库的作用

什么是结构化语言?

雷蒙德·博伊斯(Raymond Boyce)和唐纳德·张伯林(Donald Chamberlin)在1970年代初期在IBM开发了SQL。 创建它是为了获取和修改数据库中保存的数据。最初,它被称为SEQUEL(结构化英语查询语言),但后来需要更改其名称,因为另一家企业声称该名称为商标。此后,SQL已成为ANSI(美国国家标准协会)和ISO(国际标准化组织)的正式标准。

  • SQL是一种特殊的编程语言,被用来与数据库对接。
  • 通过了解和分析在表中包含数据字段的数据库来工作。
  • SQL是一个前端与后端数据库(服务器上的计算机和数据库)相关联的平台

学习SQL的优势

  1. 通用语言
    • 涉及到许多学科,使用SQL时会促使你学习其他的编程语言,例如:c++,python,JavaScript,这些都对SQL有着重大作用。
    • 增强自己作为一个开发者,程序员的专业素养。
  2. 易于学习和使用
    • 一种开源语言,拥有庞大的社区团体。
    • 比起其他语言(c++)更易于学习。
    • 大量的流行数据库(如MySQL、MariaDB)都是开源的。
  3. 管理数百万行数据
    • 几乎能处理所有大小的数据池。
    • 能在大量数据上执行活动,而不崩溃。

数据库分类

关系型数据库(SQL):

  • 以行和列的形式存储数据,以便于用户理解,关系型数据库这一系列的行和列被称为表,一组表组成了数据库
  • 常见的数据库:
    • Oracle、DB2、Sybase、MS SQL Server、Informax、MySQL。

非关系型数据库(NoSQL --->Not Only SQL):

  • 结构不固定,集合内数据字段可以不一样,自由度高,可以减少一些时间和空间的开销。
  • 常见数据库:
    • Redis、MongDB。
  • 特征:
    1. 使用键值对存储数据。
    2. 分布式。
    3. 一般不支持ACID特性。
    4. 非关系型数据库严格上不是一种数据库,应该是一种数据结构化存储方法的集合。
  • 优点:
    1. 无需经过sql层的解析,读写性能很高。
    2. 基于键值对,数据没有耦合性,容易扩展。
    3. 存储数据的格式:nosql的存储格式是key,value形式、文档形式、图片形式等等,文档形式、图片形式等等,而关系型数据库则只支持基础类型。
  • 缺点:
    1. 不提供sql支持,学习和使用成本较高。
    2. 无事务处理,附加功能bi和报表等支持也不好。

DBMS(数据库管理系统)

DBMS

  • 数据库的管理软件,科学有效的管理我们的数据,维护和获取数据。
  • 特点:
    1. 控制数据冗余。
    2. 保证数据一致性
    3. 提高数据共享。

MySql介绍

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在WEB应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。

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

MySQL版本选择:5.7的版本,最稳定。不建议下载exe类型的MySQL,尽量使用zip类型

MySQL安装

  1. 官网下载5.7的MySQL压缩包

  2. 随便找一个盘解压压缩包,并在文件夹里创建一个名为my.ini的的文件

my

  1. 在my.ini输入以下代码

    [mysqld]
    #文件主目录
    basedir=D:\Exploit\mysql-5.7.33\   
    #文件主目录下的data目录,注意data目录本身不会存在,等到初始化数据库时,data目录会自动生成
    datadir=D:\Exploit\mysql-5.7.33\data\
    port=3306
    skip-grant-tables
    
  2. 配置环境变量配置D:\Exploit\mysql-5.7.33\bin到系统变量的path里。

  3. 打开cmd管理员终端,必须是在管理员权限下打开,否则下面提到的代码效果不会实现

  4. 使用dos命令在终端下将路径移动到MySQL主目录下,例如:cd D:\Exploit\mysql-5.7.33

  5. 输入mysqld -install安装mysql

  6. 继续输入mysqld --initialize-insecure --user=mysql初始化数据文件

  7. 启动mysql,net start mysql,在输入mysql -u root -p,继续输入update mysql.user set authentication_string=password('新密码') where user='用户名' and Host ='localhost';设置新密码。

  8. 输入 flush privileges; 命令刷新权限。

  9. 删除my.ini文件下的skip-grant-tables或者注释(#)

  10. 重启mysql,输入net stop mysql停止,在输入net start mysql开启。

  11. 重新登录连接数据库mysql -u root -p-p后面没有空格,出现下面类似的画面即成功了

cmd

MySQL会出现的安装问题

  • 缺少dll文件
  • 输入错误的MySQL指令
  • 指令无误,但运行MySQL指令的路径错误。区分MySQL命令行(mysql>)和windows命令行

MySQL可视化软件SQLyog

登录界面: 密码是MySQL设置的密码,用户名与MySQL一样,端口默认3306

SQLyog

主要功能区:

SQl语言

常见语法:

-- 为单行注释
/**/  --为多行注释
mysql -u root -p    --连接数据库
update mysql.user set authentication_string=password('新密码') where user='用户名' and Host ='localhost';   --修改用户密码
flush privileges;  --刷新权限
show databases;  --查看所有的数据库
use dormitory  --切换数据库名
show tables;  --查看数据库中的所有表
describe student;  --查看数据库中所有表的信息
create databases school; -- 创建一个数据库

DDL(Data Definition Language 数据定义语言): 是用于描述数据库中要存储的现实世界实体的语言。

DML(Data Manipulation Language 数据操控语言): 用于数据库操作,对数据库其中的对象和数据运行访问工作的编程语。

句,通常是数据库专用编程语言之中的一个子集。

DQL(Data QueryLanguage 数据查询语言): 基本结构是由SELECT子句,FROM子句,WHERE子句组成的查询块:
SELECT <字段名表>
FROM <表或视图名>
WHERE <查询条件>

DCL(Data Control Language 数据控制语句): 一种可对数据访问权进行控制的指令,它可以控制特定用户账户对数据表、查看表、存储程序、用户自定义函数等数据库对象的控制权。