前言

我们使用它进行大量数据的存储,以便于日后我们进行大量数据的调用。

MySQL的安装

你想用数据库,就必须进行安装,具体安装步骤,请打开以下链接,堪称史上最强的安装详解:

MySQL 5.x界面安装 - Windows

MySQL的作用?

通俗地讲:MySQL的作用就像一个军团,我们将征集的大量“士兵”(数据)先集中到兵营,然后为他们分配兵种,使其有序的明白自己的归属,然后当我们需要他们的时候,就可以快速有序的调用他们,使他们在最短的时间内发挥最大的作用。

MySQL简介

1.首先它是是开源的,所以你不需要支付额外的费用。
(有时候你会发现,有些开源的软件特别受欢迎,没办法,不出钱的总是受人喜欢)

2.它可以处理数据很多的大型数据库。
(现代全球每分每秒产生的数据都是相当可怕的,所以一个好的数据库,必须是可以进行大量数据的记录,并且质量还不错)

3.MySQL 使用标准的 SQL 数据语言形式。
(SQL关系型数据库:MySQL、Oracle、SQL Server、SQLite、DB2)

4.MySQL 可以运行于多个系统上,并且支持多种语言。
(这些编程语言包括 C、C++、Python、Java、Perl、PHP、Eiffel、Ruby 和 Tcl 等。)

MySQL语法

. 我们在打开的windows终端中
. 输入 mysql -uroot -p(mysql -h 服务器主机地址 –u 用户名 -p用户密码)
. 然后输入密码,进入到 mysql操作,然后就可以进行我们的操作了。

… (这里需要注意的是命令之后要加 “;”,否则命令不执行)

数据库的基本操作(创建 删除 查看 使用)

1.创建数据库

. 数据库的查看命令是: show database 查看的数据库名字;
(查看操作 我们就不单独解释了)
. 数据库的创建命令是: create database 自定义数据库名字;

(这里我们顺便学习了一下查看数据库的命令,因为这样我们更有对比性,我们的操作平台是 windows的终端,数据库不分大小写,创建好的数据库按小写计入)


2.删除数据库

. 数据库的删除命令是: drop database 删除的数据库名字;


3.使用数据库

. 数据库的使用命令是:use 使用的数据库名字;

(当你的终端出现 Database changed,就意味着你成功了,你就可以使用该数据库里的数据)
(这里我们将删除的 dxcdatabase (帝小辰数据库)重新创建,系统本身存在的数据库我们先不用)

4. 数据表基本操作

. 要想进行数据查询,必须有表和数据
. 查看数据库中所有表 show tables;
. 删除数据表:drop table 表名;
. 显示表结构命令 desc 表名;
. 显示表创建语句 show create table 表名;

(为了方便 —— 我们开始使用Navicat,该工具的具体使用情况请点击该链接查看 MySQL数据库界面化工具 - Navicat的常用功能)

4.1. 创建表


4.2. 添加数据


4.3.修改数据

5. 数据查询

5.1:数据查询基本结构

    select 要查看的数据  from  查看数据所在表 where 筛选条件

怎么更好的理解这个格式呢?
通俗一点就是:select 衣服 from 衣柜 where 和裤子配套

5.2.1:单表查询
. 单表查询:顾名思义,就是是在一个表里查询;

图片解说

: 我们在 Navicat 中进行操作,我们先在数据库中右键点击查询,并且新建一个查询,在新建的查询表中我们输入查询语句,就可以得到我们所需要的数据了;

 SELECT S_no as '学号',Class_no as "班级号" ,S_name as "xingming",S_sex as "性别",S_birthday as "出生日期"FROMstudent 该语句是查询所有学生的信息,又因为学生所有的信息都在一个表中所以整体来说这是一个简单的单表查询;AS 是增加别称的意思;

查询后只需要赋予这个查询表一个名字就可以了。

5.2.2:多表查询
. 多表查询:顾名思义,就是在多个表中查询;

图片解说
: 在图中我们所进行的查询是 多表查询,虽然只是利用了两个表。但目的我们已经达到了,至于两个表以上于此类似;

 SELECTs.S_no as "学号",s.S_name as "姓名",ch.Course_no as "课程",Score as "分数"FROMstudent s,choice chWHEREs.S_no=ch.S_no我们在这里分别查询了学号,姓名,课程,分数,而学号,姓名是从 student表中获取的;课程,分数是从 choice表中获取的;所以 where 之前的是可以好懂的,但是 where 之后的东西 需要解释一下,其实我们仔细观察两个表,会发现两个表中都有  S_no 这个数据,所以当你没有where 这个条件的话,他会报错 [Err] 1052 - Column 'S_no' in field list is ambiguous该含义就是 你有相同的字段,也就是两个表中的S_no重复了所以我们要将两个合并,你即是我,我就是你;至于student s 和  choice ch 中的 s  和 ch  都是我们定义的(为了好区分,否则S_no=S_no .这样系统不知道你想表达什么意思)

5.2.3:子查询
. 子查询:顾名思义,就是where(select…)条件值来自于另一个查询

5.2.4:模糊查询
. 模糊查询:顾名思议,就是没有准确信息的进行查询
(你想查一个人,但是只知道他的名字中的一个字)

 SELECTS_nameFROMstudent WHERES_name LIKE '王%'该语句所表达的是我要查询一个人,但我所知道的是他是学生和姓王;所以我们用模糊查询;LIKE : 模糊查询的关键字,意思是你要查什么格式的内容;%  : 把你知道内容写上,不清楚就加 % ;


6. 数据库关键字
6.1.like
: 我们之前做过的那个模糊查询就是利用了 like 关键字,她的作用就是当你不知你要查询的具体消息时,他会帮你查询出所有和你所了解的消息有关的消息,

图片解说
:像图片中我们查询的时候只是知道他姓李,其余信息不缺定,那么我们就可以运用like 关键字进行模糊查询,以便缩小范围,更加利于我们寻找,% 就是你不知道的信息用百分号代替;

6.2.AS
: 该关键字就通俗易懂了,他就是先当于给你去了一个外号,让别人更加易懂,

图片解说
: 你比如查询的时候 S_no 他的本意就是学号, 但是你需要让大部分人看懂,所以我们为其加上别称,学号,这样更加清晰明白你所表达的含义(需要注意的还是:别称要加 单引号,或者 双引号)

6.3.DISTINCT
:该关键字去重数据,就是相同的数据只会留下一个;

图片解说
: 如我们是一般查询,我们会在查询结果中得到两个分数为 88,但是我们用了 去重查询关键字 DISTINCT 后,他会将重复的数字只留下一个;

7. 内外链接
: 这里我将他称为 多表查询三部曲

7.1.等值连接
:该方法就和我们上面初次认识多表查询的例子一样;


7.2.内连接
: 只看结果的话,两者是没有任何区别的,两者的区别就是 FROM 中的 , 的符号变成了 innner join,where 变成了 on;


7.3.外连接(outer join)
: 这里会有主表和从表之分;

7.3.1.左连接
:左连接中左侧部分为主表,右侧为从表;

图片解说
: 从图片中我们可以看到,student 为主表,所以主表的内容全部来到查询结果中,而 choice 为从表,从表就是配合主表的,他会将主表需要的信息提取出来,从而结合成一个表,而主表不需要的数据,他是不会出现的;

和等值查询,内连接的区别?(结果)

就结果而论,等值查询和内连接查询他们两个表中的数据是相匹配的,就是你有我也有才显示,就比如我们之前看到的,学生和成绩是相匹配的,但是在外连接中他不是索尼匹配不匹配,而是主表的内容全部查出来,然后从表去匹配;就像我们看到的,在外连接中有部分人的课程号,分数为 null,这就是因为他们在 choice 中并没有匹配的数据存在;

7.3.2.右连接
: 和左连接相反,主表在右,从表在左,

图片解说
:从图中我们能看出来本次查询的主表为 choice ,从表为 student,我么之前也说过从表是为了配合主表,主表数据全部输出,所以 我们看到的结果就是这样,从表有的数据,主表没有,从表也不会输出该部分数据;

8. 聚合函数
8.1.语法
. select 中使用;
. group by 列名:分组
. having : 对已经进行数据计算的数据进行筛选,在 group by 之后;

8.2.计算符号
. sum:计算总和
. count:计数
. avg:计算平均值
. max: 取最大值
. min: 取最小值

图片解说
:图中我们利用了 avg 和 count 进行计算,并且最终结果按学号分组;
. 就得到了图中的结果;


9. 索引的建立
: 索引的作用是什么呢?举个例子来说,战争时期,我们会将所有兵种分成一个个部队,而这些部队都有属于自己的番号,你在调用的时候就不用一个一个人去叫了,直叫番号就行了,而索引就是这个番号;如果没有索引,就像100多个人的部队没有番号,一旦战争来临。还的调查这10个人属于什么兵种,能干什么?这样就会贻误战机;

9.1.创建索引

     alter tablet ableName add index indexName(表名1,表名2);

9.2.删除索引

  DROP index indexName ON tableName;

9.3.查看索引

     show index from tableName;

9.4.修改索引

     先删除 -> 后创建

9.5.索引分类:

9.5.1 常规索引
. 操作关键字:INDEX
. 作用:建立索引,提高查询效率

9.5.2 唯一索引
. 操作关键字:Unique INDEX
. 作用:建立索引,提高查询效率限制数据,不能出现重复

9.5.3 主键索引
. 操作关键字:PRIMARY KEY
. 作用:建立索引,提高查询效率限制数据,不能出现重复限制数据,非空

10.数据库备份和恢复

内容后续补充。。。。。。

MySQL 让你拥有不一样感觉相关推荐

  1. 如何安装mysql 匹配_学习笔记----安装MySQL

    安装MySQL 1.下载解压源代码包. 我的是mysql 5.1.48版本的. 2.添加mysql用户和组 [root@tigertall mysql-5.1.48]#groupadd  mysql ...

  2. mysql odbc连接池_Java Mysql连接池配置和案例分析--超时异常和处理

    前言: 最近在开发服务的时候, 发现服务只要一段时间不用, 下次首次访问总是失败. 该问题影响虽不大, 但终究影响用户体验. 观察日志后发现, mysql连接因长时间空闲而被关闭, 使用时没有死链检测 ...

  3. MySQL安全性机制

    一.学习任务1:MySQL软件所提供的权限 在MySQL软件中存在许多系统数据库,其中一个名为mysql的数据库,在该数据库下存储的都是关于权限的表.其中最重要的表是mysql.user.mysql. ...

  4. ubuntu mysql emma_Ubuntu 11.10 MySQL客户端 Emma 6.0 中文乱码解决办法

    在Linux如果使用MySQL的图形客户端,我感觉Emma算一个好用的了. 比起mysql自己的Mysql Query Browser 要好, 而且最不能忍受的是Mysql Query Browser ...

  5. mysql管理用户数据库_MySQL 数据库管理(一)(用户与受权)

    前言 在企业信息化的过程当中,数据库中库和表都会大量存在,须要分配给管理者核实的权限进行操做 合理地分配权限,可使数据库管理井井有理,各个管理者只须要关注本身负责的内容,也可避免误操做对系统形成损失 ...

  6. mysql选出重复的字段_mysql查询表里的重复数据方法:

    INSERT INTO hk_test(username, passwd) VALUES ('qmf1', 'qmf1'),('qmf2', 'qmf11') delete from hk_test  ...

  7. mysql grant 主机名_MySQL GRANT:用户授权

    授权就是为某个用户赋予某些权限.例如,可以为新建的用户赋予查询所有数据库和表的权限.MySQL 提供了 GRANT 语句来为用户设置权限. 在 MySQL 中,拥有 GRANT 权限的用户才可以执行 ...

  8. mysql表文件被删_mysql表物理文件被误删的解决方法

    前言 1.该方法只介绍了如何救回这个表名(数据不恢复) 如果想要恢复原来数据 直接用extundelete把文件恢复后放回去即可 2.并且是适用于平时没有全备的情况下  如果有全备 直接那全备的frm ...

  9. MySQL集群系列2:通过keepalived实现双主集群读写分离

    在上一节基础上,通过添加keepalived实现读写分离. 首先关闭防火墙 安装keepalived keepalived 2台机器都要安装 rpm -q openssl kernel-devel y ...

最新文章

  1. 智能驾驶L2的黄金时代,打磨地图是关键
  2. 斯坦福大学报告称中国AI论文引用率首超美国!但李国杰院士也发文灵魂拷问...
  3. 改善程序代码质量的一些技巧
  4. 【python数据挖掘课程】二十九.数据预处理之字符型转换数值型、标准化、归一化处理
  5. vue如何获取年月日_BootstrapVue——Vue和Bootstrap的相结合,构建响应式应用更简单...
  6. magicbook linux系统换w7,荣耀magicbook怎么安装win7 荣耀magicbook安装win7方法
  7. LeetCode 1634. 求两个多项式链表的和
  8. bootstrapV4.6.0 图片宫格布局(案例篇)
  9. android NullPointerException (转)
  10. 【python】导入自定义模块
  11. excel使用mysql数据库查询语句_如何通过Excel查询MySQL数据库
  12. CENTOS 配置串口连接
  13. 24寸4驱java山地车_我自己亲身骑过24和26寸山地车,说说我的感受
  14. 压缩包修改所属目录Linux,linux文件/目录/压缩解压 操作指令
  15. 计算机软考网络管理员题,计算机软考网络管理员理论练习题及答案(5)
  16. 2021年一战南大AI上岸经验贴
  17. ROS2机器人-C++和Python怎么选
  18. 51单片机 时间控制的不同时段交通灯控制设计(简单版)
  19. hcnp三本书_这是我关于人工智能的三本书
  20. oracle 会话数上不去_程序员笔记|全面解析Oracle等待事件的分类、发现及优化

热门文章

  1. list中删除另一个list中相同属性值
  2. linux scp文件传输,Linux 文件传输 SCP
  3. linux软件推荐及安装
  4. 读书笔记-精准努力-因为理解所以宽容
  5. java 抽样_Java实现采样,等比例分和均分
  6. [云原生 | ubuntu Docker卸载] ubuntu中docker彻底卸载
  7. [原创工具] 文件MD5批量修改工具及原理解析(附C#源码)
  8. 分析:有效提升博客人气的十种方法
  9. win10双显卡怎么切换amd和英特尔_win10系统a卡切换独显的操作方法
  10. 加入百度数据挖掘研究群