Mysql学习笔记

初识MySQL

数据库在我们IT行业的应用:

比如你看到一个网页,有图片视频什么的,他们都是来自于数据库的。是服务器处理过数据库里的数据后,然后呈现到网页上的。

在这里插入图片描述

所以数据库是很重要的,然后因为MySql是所有数据库里面最常用的,所以我们学MySQL。

1、数据库和SQL概述

1.1 什么是数据库

数据库指的是长期存在计算机内、有组织、可共享的、大量数据的集合。数据是按照特定的数据模型来组织、存储在数据库中的。

1.2 数据库的好处

以前我们学java知道存数据的地方有:数组、集合、文件。但是存数据到数组和集合里面就是存到内存里面,内存在计算机断电的时候,数据就没有了,所以缺点是不能持久化。文件存储不会在断电的时候丢失数据。可以持久化,但是文件存储的弊端是:当你要查询某个数据的时候是比较麻烦的,比如,你一个文件里面存了很多人物图片,然后你想查询这些图片中的人物年龄在20岁以上的人,你就不好查,所以出现了数据库。数据库既能持久化又能便于查询。

​ 1.持久化数据到本地
​ 2.可以实现结构化查询,方便管理

1.3 数据库相关概念

  • DB(database):数据库,保存一组有组织的数据的容器
  • DBMS(Database Management System):数据库管理系统,又称为数据库软件(产品),用于管理DB中的数据
    • 常见DBMS:MySQL、Oracle、DB2、SqlServer等(数据库管理系统就是数据库管理软件)
  • SQL:结构化查询语言,用于和数据库通信的语言。就是一种和数据库交流的语言,就像普通话、java、c语言一样,是一种语言。SQL语言不是针对某个特定的数据库软件的,它是适用于几乎全部的数据库软件的(SQL适用于大多数数据库软件但不是全部软件都适用SQL语言)。还有就是虽然很多软件支持都支持SQL语言,但是每个软件都有一些他们自己的特色语句,就像大家都说普通话,但是每个人除了说普通话外还会说一些方言一样。

数据库、程序员和数据库管理系统的关系就像下图这样:

在这里插入图片描述

1.4 数据库存储数据的特点

  1. 将数据放到表中,表再放到库中.
  2. 一个数据库中可以有多个表,每个表都有一个的名字,用来标识自己。表名具有唯一性。
  3. 表具有一些特性,这些特性定义了数据在表中如何存储,类似java中“ 类”的设计。
  4. 表由列组成,我们也称为字段。所有表都是由一个或多个列组成的,每一列类似java中的” 属性”
  5. 表中的数据是按行存储的,每一行类似于java中的 “对象’

数据库的一张表就是下面这样:

在这里插入图片描述

1.5 DBMS分为两类

  • 基于共享文件系统的DBMS(如微软的Access)
  • 基于客户机——服务器的DBMS(如MySQL、SqlServer等)(基于CS这样的架构的数据库管理软件一般要在客户机、服务器都安装软件。在客户机安装的软件叫客户端,在服务器安装的软件叫服务端。所以使用MySQL既要安装客户端又要安装服务端)

2、MySQL介绍和安装

你安装时可以设置服务名,这里我的服务名是MySQL0924,然后你可以设置开机自启。要是设置了开机自启,就不用每次使用MySQL的时候都得先启动服务了。你要是没有设置自启,就需要启动服务。

方式一:可以找“计算机管理”这个选项,找到你的服务名,选择启动,如图:

在这里插入图片描述

方式二:用管理员身份运行命令行,然后输入命令,你要是输入net stop mysql0924表示停止这个mysql0924服务(不区分大小写),你要是输入net start mysql0924表示启动这个服务。

在这里插入图片描述

在这里插入图片描述

2.1 MySQL介绍

MySQL 是一款安全、跨平台、高效的,并与 PHP、Java 等主流编程语言紧密结合的数据库系统。该数据库系统是由瑞典的 MySQL AB 公司开发、发布并支持,由 MySQL 的初始开发人员 David Axmark 和 Michael Monty Widenius 于 1995 年建立的。

官方网址:https://www.mysql.com/

2.2 MySQL安装

注意:安装路径不要包含中文或者空格等特殊字符(使用纯英文目录),默认安装在C盘。

具体安装步骤请参见《MySQL数据库安装手册》

2.3 MySQL服务的启动和停止

要登入MySQL就必须让MySQL处于启动状态。(能登入的人只有root用户和已经注册的用户)

​ 方式一:搜索计算机管理——选择服务和应用程序——双击服务——找到MySQL0924右击选择启动或者停止
​ 方式二:通过管理员身份运行cmd命令提示行
​ net start mysql0924(mysql0924是我起的服务名,启动服务)
​ net stop mysql0924(停止服务)

2.4 MySQL服务的登录和退出

方式一:通过MySQL自带的客户端(你安装了MySQL就会自带一个MySQL客户端)
​ 只限于root用户(普通用户用不了,所以不建议用)

在这里插入图片描述

进去后只要输入root用户的密码就行能进入账号,然后输入一些增删改查的语句就能查看数据库了。下面这个账号表示登入账号了。要退出就输入:exit或ctrl+C就行了。

在这里插入图片描述

方式二:通过cmd命令提示行关闭,未配置MySQL环境变量,需在MySQL安装的bin下启动cmd。

​ 登录:
​ mysql -h主机名 -P端口号 -u用户名 -p回车

或者

​ mysql -h主机名 -P端口号 -u用户名 -p密码

或者(下面这个只能用于本机,本机可以省略“-h主机名 -P端口号”)

​ mysql -u用户名 -p密码

(localhost表示连接本台主机的主机名,-h和主机名之间加不加空格都可以。-P和端口号之间加不加空格也都可以。-u和用户名之间加不加空格也行)(你输入-p回车然后下面输入密码,你也可以mysql -h主机名 -P端口号 -u用户名 -p密码,但是这样别人就看到你的密码了。”-p密码“的-p和密码之间不能有空格,前面的“-h主机名“、”-P端口号“、”-u用户名”的-XX和名字之间有没有空格都行。)

在这里插入图片描述

在这里插入图片描述

​ 退出还是一样:
​ exit或ctrl+C(前面说的登入其实就是登入到服务端(登入到服务端可以理解为你客户一个程序,你服务器一个程序,登入相当于你把客户这边的程序连接到服务器那边的程序就是登录,然后登录后可以让客户端使用服务器提供的一些接口来进行操作),这里的exit/ctrl+c表示断开客户端和服务端的连接。要注意的是:进客户端前得需要启动服务,不然进不了客户端。登入的模型就相当于使用者是人,就账号是一个大仓库,仓库有一个刷卡机,你启动服务就相当于给刷卡机通电,然后把钥匙即你的房卡刷到刷卡机上,就相当于你输入密码登入,然后你就可以进入的仓库里了查询信息或者修改数据了)

2.5 MySQL语句的语法规范

SQL语句不区分大小写,所以输入show database;和输入show DATABASE的效果一样。

SQL语句的规范是:建议关键字大写,表名、字段名小写

使用“;”结尾或者用”\g“结尾

一条命令太长可以适当进行缩进和换行

关键字与关键字之间使用多个空格或者换行没有关系,一个关键字之间不能使用空格或者换行分开,关键字、数据和分号逗号等符号可以用多个空格或者分号分开,这个没事

合理使用缩进

注释
单行注释:#注释文字
单行注释:-- 注释文字 (注意这里有空格,这个空格必须加,SQLserver没有要求一定要用空格分开)
多行注释:/* 注释文字 */

2.6 DQL语言

2.6.1 初识查询(要是使用这些语句就得先登入客户端)

下面是你账号初始就默认有的四个库,你用use test;可以进入到test这个小房间里面,小房间就是数据库。比如现在你要查看第二个数据库的表的话,你就需要用use information_schema;然后再用show tables;来查看小人所在的数据库。use命令可以换小人的位置。还有另一种方法可以查看information_schema的表,就是show tables from information_schema;命令。这个命令不会移动小人的位置,所以你下一次使用show tables;还是查看的是test这个数据库的表。(假设下面的几个数据依次是information_schema、mysql、performance_schema、test)

在这里插入图片描述

常用语句:

  • show databases; 查看账号这个大仓库里面所有的数据库。相当于在这个大仓库里面看看有哪些小房间。账号初始就有默认的四个数据库(information_schema、mysql、performance_schema、test)。注意:在任何一个小房间里面都可以用show databases;查看到大仓库里面所有的数据库。
  • use 数据库名; 可以进到小房间里面,移动小人位置。
  • show tables; 可以查看所在小房间里面的所有表
  • show tables from 数据库名; 可以查看某个数据库的所有表,但是不移动小人位置。
  • select database(); 可以查看小人在哪一个数据库内。在哪个小房间里面。
  • create table 表名(字段名 字段类型,字段名 字段类型……); 创建表,字段与字段之间加逗号,但是最后一个不用加逗号
  • desc 表名; 可以查看某表的结构,只能查看小人所在的数据库里面的表的结构。
  • select * from 表名; 可以查看某表的所有数据。注意这个什么逗号、分号、*等符号和其他关键字没有空格或者有空格都无所谓的,所以select *from 表名; 这样写没有问题(后面这个from和星号之间没有写空格)。
  • select 字段名1,字段名2… from 表名; 多个字段的查询,可以只查你想要查的字段
  • insert into 表名(字段名,字段名……) value(值,值……); 这里可以只写你想写的字段(所以这里的字段名你可以不用写那个表的全部字段,后面那个value括号里面的值是和字段名匹配填充的),其他的会自动是默认值地添加记录。注意,数据库里面的插入和删除等修改都是实时同步到电脑里的数据库文件里面的,所以你电脑关机再打开这个表格,看到的数据修改后的数据。其实数据库也是用以文件保存的,只是比直接用文件保存更有结构,所以它可以比直接的文件保存数据有更好的查询效果。
  • update 表名 set 字段名 = 值 where 字段名=值; 可以修改某些记录的字段的值,where后面是匹配字段的条件。
  • delete from 表名 where 字段名=值; 可以删除某些记录

小技巧

查看数据库管理软件版本的方式:

方式一:没有登入到mysql可以用dos命令:mysql --version或者用简写mysql -V(因为这个是dos的命令,不是mysql客户端里面的东西,所以一句语句后面不用加;)

方式二:在登入到mysql里面可以使用select version();

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值