SQL入门
内容目录
- 为什么要使用数据库?
- 什么是数据库?
- MySQL介绍
- 如何下载和安装
- 什么是SQL?
1 为什么要使用数据库?
那我们在没有学习数据库的时候,数据存放在Excel中不也挺好的嘛,为啥还要学习数据库?
1.Excel处理数据量比较大的数据非常慢
Excel对于处理几万条的数据是没有问题的,但是如果数据量达到10万以上,Excel程序在处理的过程中会非常慢,时不时的还会出现卡死的现象,而数据库则不会出现此类的问题,并且它是专业的数据存储软件,在很多方面都比较方便。
2.使用文件存储,无法实现数据共享问题
Excel数据在你自己的本地电脑上,其他人是无法直接读取数据的,想要获取数据必须通过你发送给他;而数据库是则相当于一个共享的服务端,你可以通过安装数据库的客户端软件或者通过IP和端口,建立好链接,输入账户和密码即可进行多用户同时操作;类似于移动硬盘和百度网盘的区别,移动硬盘在谁那就只能谁用,而百度网盘,大家只要输入网盘链接都可以使用。
3.多表查询,Excel操作更为麻烦
涉及到多张表进行连表操作是,Excel需要使用函数才能实现跨表操作,而数据库通过建立好数据表之间的结构进行多表关联,轻松实现多表查询。
我们这里就不再涉及太多计算机的知识了,就从我们数据的角度去了解为什么要使用数据库
2 什么是数据库?
先介绍几个概念
数据(Data)
描述事物的符号记录称为数据,描述事物的符号既可以是数字,也可以是文字、图片,图像、声音、语言等,数据由多种表现形式,它们都可以经过数字化后存入计算机。
例如:描述一个人的基本信息就是一组数据,在数据库中叫一行记录
name age sex
Ailsa 23 女
数据库(DataBase,简称DB)
即存放数据的仓库,我们可以把它想象成文件夹,里面存放了很多张表,每个表就是一个文件,不过数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种 用户共享
数据库管理软件(DataBase Management System 简称DBMS)
在了解了Data与DB的概念后,如何科学地组织和存储数据,如何高效获取和维护数据成了关键,这就用到了一个系统软件---数据库管理系统
如MySQL、Oracle、SQLite、Access、MS SQL Server
但是我们日常工作中经常会把数据库管理软件称为数据库,注意理解对象的意思
例如:
1 小王啊,你们公司用的什么数据库啊,这个指的是数据库管理软件
2 小王啊,这个学生管理系统的数据库是哪个?这个指的就是数据库文件夹,一般情况下一个项目的所有涉及到的数据会存放在一个数据库中,方便统一管理。
总结
数据库服务器、数据管理系统、数据库、表与记录的关系
记录:1 小王 324245234 22(多个字段的信息组成一条记录,即文件中的一行内容)
表:student,scholl,class_list(即文件)
数据库:oldboy_stu(即文件夹)
数据库管理系统:如mysql(是一个软件)
数据库服务器:一台计算机(对内存要求比较高)
总结:
数据库服务器-:运行数据库管理软件
数据库管理软件:管理-数据库
数据库:即文件夹,用来组织文件/表
表:即文件,用来存放多行内容/多条记录
来看下图
这就是关系型数据库存储的基本形态
3 MySQL介绍
数据库管理软件按照分类分为 关系型数据库和非关系型数据库
关系型数据库
在数据库中各个表之间存在关联关系,需要设计表结构,一张表中每个字段之间也存在关系,通过SQL语句对数据库进行增删改查的操作。
例如:MySQL、oracle 、sql server、sqllite,access,db2
注意:sql语句通用
非关系型数据库
非关系型数据库是key-value存储的,没有表结构,存取速度快
例如:redis、mongodb、memcached
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下公司。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。
MySQL被广泛的应用在Internet上的大中小型网站中。由于体积小、速度快、总体拥有成本低,开放源代码
特点:开源,免费,应用广泛
4 如何下载和安装
我们下载安装的是mysql管理软件,它相当于是一个服务端,每个建立好的连接的用户都可以访问,但是这里为了让自己自主学习,所以我们会把这个软件下载安装到每个人的自己电脑上,相当于在自己电脑上安装了mysql的服务端,这个软件他也自带一个客户端,我们可以通过cmd终端的形式进行访问,当然也可以通过可视化工具navicate来访问,接下来我们会一一讲解。
下载和安装:https://www.cnblogs.com/Ailsa-a/articles/11368879.html
下载Navicate:https://www.navicat.com.cn/products
1 使用cmd终端连接mysql
设置密码
mysql5.6版本root用户默认是不需要密码登录的,所以这里的密码可以不写
但登录成功之后需要设置密码
语法: set password = password('密码') 为了方便记忆,密码尽量简单一点,但是实际工作中为了保证数据安全,密码尽量设置的复杂一些。
这样就显示连接成功了,root用户是mysql的最高管理员权限用户,一般在公司中只有DBA才有此权限。
2 使用Navicate连接mysql
连接成功之后,你就可以通过该软件查看所有的数据库文件了。
5 什么是SQL
先来看个例子
小王第一次使用数据库,然后跟数据库来了个隔空对话
哎呀,这给小王气的,这咋办?
其实,我们想一想,mysql是一个软件,它有它自己一套的管理规则,我们想要跟它打交道,就必须遵守它的规则,如果我想获取数据,它自己有一套规则,这个规则就是SQL。
什么是SQL呢?
SQL : 结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程言,是一种数据库查询和程序设计语言,SQL语言主要用于存取数据、查询数据、更新数据和管理关系数据库系统,SQL语言由IBM开发。
其实简单的说,就是你发送给他能识别的暗号,他懂了就会给你返回数据。
这下明白了吧,另外对于关系型数据库而言,SQL语句是通用的,学会了一种,其他只是一些细微的差别,毕竟人家数据库也是一个种族,语言是通用的,只不过有些存在方言的差别。
SQL的分类(了解)
SQL语言分为3种类型:
1、DDL语句 数据库定义语言: 数据库、表、视图、索引、存储过程,例如CREATE DROP ALTER
2、DML语句 数据库操纵语言: 插入数据INSERT、删除数据DELETE、更新数据UPDATE、查询数据SELECT
3、DCL语句 数据库控制语言: 例如控制用户的访问权限GRANT、REVOKE