0%

SQL入门

计算机语言

  • 机器语言:例如10101010100011(二进制语言)

  • 汇编语言:也是比较接近计算机底层,例如image-20220112122525180

  • 高级语言:例如C语言(更接近底层)、python、SQL等

SQL概述

SQL (Structured Query Language:结构化查询语言) 是用于管理关系数据库管理系统(RDBMS)。 SQL 的范围包括数据插入、查询、更新和删除,数据库模式创建和修改,以及数据访问控制。

SQL的特点

  • 具有总和统一性,不同数据库所支持的SQL稍有不同
  • 非过程化语言(不需要关心内部操作过程)
  • 语言简洁,用户容易接受
  • 以一种语言结构提供两种使用方式,例如SQL和python或java结合使用

SQL的语法特点

  • SQL对关键字的大小写不敏感,比如SELECT和select一样
  • SQL语句可以以单行或者多行书写,以分号结束
  • SQL注释分单行注释和多行注释,单行注释语法:-- 单行注释,注意–后面有空格;#单行注释,#后可加可不加空格。例如select * from 库名;-- 单行注释。多行注释和C++一样/* 注释内容 */

数据库概述

数据库(DataBase)是“按照数据结构来组织、存储和管理数据的仓库”。是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。

数据库应用系统是指基于数据库的应用软件

数据库管理系统

关系型数据库(RDBMS)

  • Oracle数据库(最挣钱体积庞大,几个Gb)
  • MySQL数据库(最流行中型数据库)
  • SQL server数据库(Window上最好的数据库)
  • PostgreSQL(功能最强大的开源数据库)
  • SQLite(最流行的嵌入式数据库,体积非常小几百kb)

非关系型数据库(NoSQL)

  • Redis(最好的缓存数据库)
  • MongoDB(最好的文档型数据库)
  • Elasticsearch(最好的搜索服务)
  • Cassandra(最好的列式数据库)
  • HBase(优秀的分布式、列式数据库)

两类数据库的区别在于,关系型数据库存储数据用一张张的表,而非关系型数据库有其自身的存储方式

SQL和数据库管理系统的关系

  • SQL是一种用于操作数据库的语言,SQL适用于所有的关系数据库。
  • MySQL、Oracle、SQLSever是一个数据库软件,这些数据库软件支持标准的SQL,也就是通过SQL可以使用这些软件,不过每一个数据库系统会在标准SQL的举出上扩展自己的SQL语法
  • 大部分NoSQL数据库有自己的操作语言,对SQL支持并不好

关系型数据库的组成

数据库管理系统(DBMS)主要由数据库(Database)和表(table)组成,一个系统可以有很多数据库,每个数据库可以有很多表。

MySQL简介

  • MySQL如今归Oracle管,并有社区版和企业版
  • MySQL使用标准化的SQL语言

MySQL的特点

  1. MySQL的数据库是用C和C++语言编写的,以保证源码的可移植性
  2. 支持多个操作系统,例如:Windows、Linux、Mac OS等等
  3. 支持多线程,可以充分利用CPU资源
  4. 为多种编程语言提供API,包括C语言、Java、PHP、Python语言等
  5. MySQL优化了SQL算法,有效的提高了查询速度
  6. MySQL开放源代码,且无版权制约,自主性强,使用成本低
  7. MySQL历史悠久,社区及用户非常活跃,遇到问题,可以很快获得帮助

MySQL的版本

针对不同用户,MySQL分为两种不同的版本:

MySQL Community Server

社区版本,免费,但是MySQL不提供官方的技术支持

MySQL Enterprise Edition

商业版,该版本是收费的,可以试用30天,官方提供技术支持

MySQL Cluster

集群版,开源免费,可将几个MySQL Server封装成一个Server

MySQL Cluster CGE

高级集群版,需要付费

MySQL Workbench (GUI TOOL)

一款专门为MySQL设计的ER/数据库建模工具,MySQL Workbench又分为两个版本,分别是社区版(MySQL Workbench OSS)、商用版(MySQL Workbench SE)

MySQL的版本命名

MySQL的命名机制使用三个数字和一个后缀组成的版本号,例如,mysql-8.0.26的版本号这样解释:

第一个数字(8)是主版本号,描述了文件格式,所有版本5的发行都有相同的文件格式。

第二个数字(0)是发行级别,主版本号和发行级别组合到一块便构成了发行序列号。

第三个数字(26)是在此发行系列的版本号,随每个新发行版本递增

MySQL的安装

压缩包安装

官网下载zip然后解压进行配置

image-20220112153020029

解压后新建my. ini文件,并编辑

image-20220112160645372

若没有新建文件的权力,修改一下内容

image-20220112160750113

然后配置环境变量(若不配置,则cmd无法识别mysql指令

image-20220112161003464

然后在Path中添加如下内容

image-20220112161441314

配置好后,进入cmd(管理员模式)并打开bin文件如图

image-20220112162133149

然后对mysql进行初始化,记住初始化密码,下面登录要用

mysqld --initialize --user=mysql --console

image-20220112221537146

安装mysql服务

mysqld --install

启动mysql服务

net start mysql

登录mysql

mysql -uroot -p

image-20220112223115990

修改root用户密码为root

ALTER USER'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';

修改root用户权限

create user 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';

image-20220112223244690

退出登录用quit

程序安装

官网下载程序然后安装

image-20220112154249700

这种方法比较上一种,少了配置my.ini文件和初始化的步骤,其余差不多,但需要注意的是配置环境变量时,MySQL的安装路径

MySQL的卸载

image-20220112223649914

image-20220112223728875

该图片摘自B站黑马程序员