1.MySQL简介和使用

MySQL简介和使用

一.数据库概述

1.1 什么是数据库?

​ **数据库(DataBase 简称DB )就是存储数据的仓库。**其本质是一个文件系统,数据按照特定的格式将数据存储起来,用户可以对数据库中的数据进行增加,修改,删除及查询操作。

​ 数据库的优点:可将数据持久化到硬盘,可存储大量数据,方便检索,保证数据的一致性、完整性,安全,可共享,通过组合分析,可以产生新数据。

1.2 什么是数据库管理系统?

​ **数据库管理系统(DataBase Management System 简称 DBMS):指一种操作和管理数据库的大型软件。**用于建立、使用和维护数据库,对数据库进行统一管理和控制,以保证数据库的安全性和完整性。用户通过数据库管理系统访问数据库中表内的数据。

1.3 什么是结构化查询语言?

​ 结构化查询语言(Structure Query Language 简称 SQL):专门用来与数据库通信的语言。

1.4 三者之间的关系

![在这里插入图片描述](https://img-blog.csdnimg.cn/4ed7b3471b964047b272e4089a127bbe.png

1.5 常见数据库

常见的==数据库管理系统DBMS==

MYSQL:被Oracle收购,目前属于甲骨文公司。开源免费的数据库,小型的数据库,性能高,稳定性好。

Oracle:甲骨文公司,主营数据库,收购SUN公司后,Java也成为了主营业务,后来又收购了MYSQL。它虽然产品免费,但是服务收费。

DB2:IBM公司的数据库产品,稳定性好,但兼容性相对较低。应用方向比较窄,常应用在银行系统中。

SQLServer:MicroSoft 微软公司的中型的数据库,兼容性较差。C#、.net等语言常使用。

SyBase:已经淡出历史舞台。提供了一个非常专业数据建模的工具PowerDesigner。

SQLite: 嵌入式的小型数据库,应用在手机端。

常用数据库:MYSQL,Oracle.

这里使用MySQL数据库。MySQL中可以有多个数据库,数据库是真正存储数据的地方。

1.6 数据库存储数据的特点

1). 数据库中以表为组织单位存储数据。将数据先放进表中,表再放进库中。

2). 一个数据库中可以有多张表,每个表都有自己的名字,用来标识自己,表名具有唯一性

3). 具有一些特性,这些特性定义了数据在表中如何存储,类似Java中的设计。

4). 表由列组成,称为字段。所有表都由一个或多个列组成的,每一列类似于Java中的属性

5). 表中数据是按存储的,每一行类似于Java中的对象

那么用我们熟悉的java程序来与关系型数据对比,就会发现以下对应关系:

类----------表

类中属性----------表中字段

对象----------记录(行)

二.介绍MySQL数据库

2.1 介绍MySQL产品

MySQL是一种开放源代码的关系型数据库管理系统。开发者为瑞典MySQLAB公司,在2008.1.16被sun公司收购。而2009年,sun又被Oracle收购。目前MySQL被广泛地应用在web的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。

2.2 MySQL产品的优点

成本低:开放源码,一般可以免费使用

性能高:执行快

简单:容易安装和操作

体积小:安装软件相对于Oracle、SQLServer这些数据库软件来说较小

2.3 MySQL服务端的安装与卸载

DBMS数据库管理系统分为两类

​ - 基于共享文件系统的DBMS(Access 微软的一款轻量级)

​ - 基于客户端client 和服务器server 的DBMS(MySQL、Oracle、SQLServer)

2.4 MySQL的安装目录结构

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-szDzZZoT-1637127962996)(image/1594975963984.png)]

bin 目录中都是可执行文件;

my.ini 文件是MySQL的配置文件;

MySQL的数据存储目录为data,data目录通常在C:\Documents and Settings\AlUsers\Application Data\MySQL\MySQServer 5.5\data位置。在data下的每个目录都代表一个数据库。

2.5 MySQL环境变量的配置

将C:\Program Files (x86)\MySQL\MySQServer 5.5\bin;添加到环境变量的path中

三.MySQL的使用

3.1 启动和停止服务

MySQL软件的服务器端必须先启动,客户端才可以连接和使用使用数据库。

启动服务的方式:

方式一:图形化方式

“我的电脑/计算机”–>右键–>“管理”–>“服务”–>启动和关闭MySQL

“开始菜单”–>“控制面板”–>“管理工具”–>“服务”–>启动和关闭MySQL

“任务管理器”–>“服务”–>启动和关闭MySQL

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uxAkSHyP-1637127962999)(image/1594977376426.png)]

方式二:命令行

以管理员身份运行

net start MySQL服务名

net stop MySQL服务名

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vp6WEI3f-1637127963003)(image/1594977565385.png)]

3.2 客户端登录

方式一:MySQL自带客户端

“开始菜单”–>MySQL–>MySQLServer 5.5 --> MySQL5.5 Command Line Client

注意:仅限于root用户

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CK2Cydjr-1637127963006)(image/1594977671145.png)]

方式二:命令行

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

例如:mysql -h localhost -P 3306 -u root -proot

注意:

(1)-p与密码之间不能有空格,其他参数名与参数值之间可以有空格也可以没有空格

​ mysql -hlocalhost -P3306 -uroot -proot

(2)密码建议换行输入

​ mysql -h localhost -P 3306 -u root -p

​ Enter password:****

(3)如果是连本机:-hlocalhost就可以省略,如果端口号没有修改:-P3306也可以省略

​ 简写成:mysql -u root -p

​ Enter password:****

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-czVJZniR-1637127963007)(image/1594978019562.png)]

(4) 此处若不能使用命令行,则需要设置环境变量path,值为:C:\Program Files (x86)\MySQL\MySQLServer 5.5\bin;

(5)exit命令 退出mysql服务 ; select version();命令查看版本;

(6)若是免安装版本的,则不需要输入密码,直接回车即可

(7)密码 -proot : -p与root之间不能有空格

方式三:可视化工具

例如:Navicat Preminum,SQLyogEnt等工具

还有其他工具:mysqlfront,phpMyAdmin

(1)Navicat Preminum

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ftt1W3Fz-1637127963009)(image/wps9iOAke.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cvN7eoaQ-1637127963011)(image/wpsvl83sI.png)]

(2)SQLyog

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KFhtWFzB-1637127963012)(image/wpsn175A4.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pPbWkqtT-1637127963016)(image/wpszPKRKt.png)]

四.常见SQL命令

通过命令行操作,先登录 mysql-uroot -proot,注意:mysql命令结尾需要加上分号 Commands end with ;

1. 查看此仓库中的数据库容器

命令:show databases; 此命令可查看此仓库中的数据库容器

数据库容器 information_schema中,存放数据库服务端的基本信息数据;

数据库容器 mysql中,存放的是用户信息、时区信息、表信息、函数、事件、存储过程等;

数据库容器 performance_schema中,在新版本数据库中才存在,存放性能信息;

数据库容器 test中,默认里面是空的,可以在里面编写表信息,进行操作测试;

注意:其中前三个数据库容器不要轻易改动或删除。

2.切换至mysql数据库容器

命令:use mysql; 此命令表示切换至mysql数据库容器

3.显示当前数据库中的所有表结构

命令:show tables; 此命令表示显示当前数据库中的所有表结构

4.查看指定数据库中的表结构信息

命令:show tables from test; 查看test数据库中的表结构信息,注意可以在没切换到test数据库时查看

5.查看当前正在使用的数据库容器

命令:select database(); 查看当前正在使用的数据库容器

6.DDL建表语句

命令:

create table student(
	id int,

	name varchar(20),

	gender char,

	birthday datetime 
);

7.DDL查看表结构

命令:desc student; 查看表结构

8.DQL查看表中数据

命令:select * from student; 查看表中数据

9.DML插入数据

命令:insert into student values(1,‘张三’,‘男’,‘2019-01-01’); 插入数据

注意:此时可能会出现乱码,windows自带的客户端默认的字符集编码是GBK,而服务器端默认字符集编码是UTF-8,当出现字符集编码不一致问题,就会导致乱码。此时需要修改编码集,使用命令:set names utf8;

10.DML修改数据

命令:update student set birthday = ‘2019-02-02’ where id=2; 修改数据

11.DML删除数据

命令:delete from student where id = 2; 删除数据

12.DDL修改表结构

命令:alter table student add column email varchar(24); 修改表结构,添加一列

13.DDL删除表结构

命令:drop table student; 删除表结构

14.退出

命令:exit 退出

15.注意事项

1). 不区分大小写

2). 注释

第一种:当行注释 使用#,例如:#aaa

第二种:当行注释 使用-- ,例如:-- aaa ,注意空格

第三种:多行注释 使用/* */,例如:/**/,不可以在嵌套注释

3). 以 ; 结尾

五.SQL语句

1. 什么是SQL

SQL(Structured Query Language)是“结构化查询语言”,它是对关系型数据库的操作语言。它可以应用到所有关系型数据库中,例如:MySQL、Oracle、SQServer等。

SQL标准有:

1986年,ANSI X3.135-1986,ISO/IEC 9075:1986,SQL-86

1989年,ANSI X3.135-1989,ISO/IEC 9075:1989,SQL-89

1992年,ANSI X3.135-1992,ISO/IEC 9075:1992,SQL-92(SQL2)

1999年,ISO/IEC 9075:1999,SQL:1999(SQL3)

2003年,ISO/IEC 9075:2003,SQL:2003

2008年,ISO/IEC 9075:2008,SQL:2008

2011年,ISO/IEC 9075:2011,SQL:2011

2016年,ISO/IEC 9075:2016,SQL:2016

这些标准就与JDK的版本一样,在新的版本中总要有一些语法的变化。不同时期的数据库对不同标准做了实现。

虽然SQL可以用在所有关系型数据库中,但很多数据库还都有标准之后的一些语法,我们可以称之为“方言”。例如MySQL中的LIMIT语句就是MySQL独有的方言,其它数据库都不支持!当然,Oracle或SQLServer都有自己的方言。

2. SQL语法要求

SQL语句可以单行或多行书写,以分号结尾;

可以用空格和缩进来来增强语句的可读性;

关键字不区别大小写,建议使用大写;

3.SQL分类

DDL(Data Definition Language):数据定义语言,用来定义数据库对象:库、表、列等;

DML(Data Manipulation Language):数据操作语言,用来定义数据库记录(数据);

TCL(Transcation ControllerLanguage ):事务控制语言,用来事务管理,commit提交 rollback回滚 savepoint保存点等

DQL(Data Query Language):数据查询语言,用来查询记录(数据)。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

what's your name.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值