MySQL概述和安装使用
一、为什么需要学习数据库
为了方便数据的查询:
数据库是一种结构化的数据存储方式,它能够以表格的形式存储数据,并且支持高效的查询和检索。学习数据库可以让人掌握使用SQL等查询语言的技能,能够根据特定条件快速地检索出所需的数据,提高了数据的利用价值和工作效率。
为了持久化存储数据:
数据库可以持久化地存储数据,即数据不会因为计算机或应用程序的关闭而丢失。这意味着即使在系统重启或应用程序关闭后,数据仍然可以被保留下来。学习数据库可以让人了解数据的持久化存储原理和技术,从而确保数据的安全性和可靠性
二、数据库的相关概念
2.1.DB
数据库(database) 存储数据的仓库,保存了一系列有组织的数据
2.2.DBMS
数据库管理系统(Database Management System)用于管理DB中的数据,数据库是通过DBMS创建和操作的容器。 常见的数据库管理系统:MySQL、Oracle、 DB2、 SQL server
2.3.SQL
结构化查询语言(Structure Query Language):专门用来与数据库通信的语言 特点:
①.不是某个特定数据库供应商专有的语言,几乎所有DBMS都支持SQL;
②.简单易学;
③.灵活使用可以进行非常复杂和高级的数据库操作;
三者之间的关系:

DB、DBMS、SQL之间的关系:

三、数据库的特点
表是放在库里面的;
数据是存放在表里面的;
一个数据库里面表名是唯一的 数据库里面列名称之为字段 表中数据是以行的形式存放;
四、SQL语言分类
DML(Data Manipulation Language):数据操纵语句,用于添 加、删除、修改、查询数据库记录,并检查数据完整性
DDL(Data Definition Language):数据定义语句,用于库和 表的创建、修改、删除。
DCL(Data Control Language):数据控制语句,用于定义用 户的访问权限和安全级别
4.1.DML
DML用于查询与修改数据记录,包括如下SQL语句:
- INSERT:添加数据到数据库中
- UPDATE:修改数据库中的数据
- DELETE:删除数据库中的数据
- SELECT:选择(查询)数据
- SELECT是SQL语言的基础,最为重要。
4.2.DDL
DDL用于定义数据库的结构,比如创建、修改或删除 数据库对象,包括如下SQL语句:
- CREATETABLE:创建数据库表
- ALTER TABLE:更改表结构、添加、删除、修改列长度
- DROP TABLE:删除表
- CREATE INDEX:在表上建立索引
- DROP INDEX:删除索引
4.3.DCL
DCL用来控制数据库的访问,包括如下SQL语句:
- GRANT:授予访问权限
- REVOKE:撤销访问权限
- COMMIT:提交事务处理
- ROLLBACK:事务处理回退
- SAVEPOINT:设置保存点
- LOCK:对数据库的特定部分进行锁定
五、MySQL安装
5.1.MySql数据库产品的介绍
MySQL产品的特点
⑴.MySQL数据库隶属于MySQLAB公司,总 部位于瑞典,后被oracle收购。
⑵.优点:
- 成本低:开放源代码,一般可以免费试用
- 性能高:执行很快
- 简单:很容易安装和使
5.2.MySQL程序结构

5.3.MySql数据库的安装
DBMS分为两类:
- 基于共享文件系统的DBMS (Access)
- 基于客户机——服务器的DBMS (MySQL、Oracle、SqlServer)
MySQL分为:
- 社区版(免费)
- 企业版(收费)
Windows平台下下载:http://dev.mysql.com/downloads/mysql,目前可以下载的版本:
- 5.5
- 5.6
- 5.7
- 8.0
5.4.启动和停止MySQL服务
方式一:通过计算机管理方式
右击计算机—管理—服务—启动或停止MySQL服务
方式二:通过命令行方式
启动:net start mysql服务名
停止:net stop mysql服务名
5.5.MySQL服务端的登录和退出
登录
mysql –h 主机名 –u用户名 –p密码
退出
exit
六、MySql数据库的使用
6.1.MySQL语法规范
- 不区分大小写
- 每句话用;或\g结尾
- 各子句一般分行写
- 关键字不能缩写也不能分行
- 用缩进提高语句的可读性
6.2.MySQL使用说明
1. 进入mysql, 在命令行中输入: mysql –uroot –p#### (其中:####表示密码)
2. 查看mysql 中有哪些个数据库: show databases;
3. 使用一个数据库: use 数据库名称;
4. 新建一个数据库: create database 数据库名
5. 查看指定的数据库中有哪些数据表: show tables;
6. 建表:
CREATE TABLE customer ( id INT(30), name VARCHAR(30), age INT, email VARCHAR(20), birthday DATE, salary DECIMAL(10, 2) );
如下图:

7. 查看表的结构:desc 表名
8. 删除表: drop table 表名
9. 查看表中的所有记录: select * from 表名;
10. 向表中插入记录:insert into 表名(列名列表) values (列对应的值的列表);
insert into customer(id,name,age,birthday) values(1001,'Augus',22,'2002-02-12'); insert into customer(id,name,age,birthday) values(1002,'Tom',32,'1992-02-12');
如下图:

注意:插入varchar 或date 型的数据要用单引号引起来
11. 修改记录: update 表名 set 列1 = 列1的值, 列2 = 列2的值 where …
update customer set age=47,birthday='1975-05-18' where id='1002';

12. 删除记录: delete from 表名 where ….

13. 查询所有列: select * from 表名;

14. 查询特定的列: select 列名1,列名2, … from 表名

15. 对查询的数据进行过滤:使用where 子句

16.运算符
先准备数据:
INSERT INTO customer (id, name, age, email, birthday, salary) VALUES (1003, 'JODN', 32, 'jodn@163.com', '1982-02-12', 5345.12); INSERT INTO customer (id, name, age, email, birthday, salary) VALUES (1004, 'pt', 32, 'pt@163.com', '1982-02-12', 6345.12); INSERT INTO customer (id, name, age, email, birthday, salary) VALUES (1005, 'gs', 32, 'gs@163.com', '1992-04-12', 4345.12); INSERT INTO customer (id, name, age, email, birthday, salary) VALUES (1006, 'lp', 32, 'lp@163.com', '1992-12-12', 3345.12);
如下图:


通配符说明:
- %匹配任意多字符;
- _只匹配一个字符

6.3.图形化界面客户端的使用
下面是一些常用的 MySQL 图形化客户端:
⑴.MySQL Workbench:
MySQL Workbench 是一款可视化的数据库设计工具,将 SQL 开发、管理、数据库设计、创建和维护融合到一个简单的开发环境中。它是 DBDesigner4 的继承者,支持 MySQL 数据库的开发和管理。
⑵.HeidiSQL:
HeidiSQL 之前被称为 MySQL-Front,是一款免费的开源客户端。支持本地或远程 MySQL 服务器的管理,具有友好的界面和丰富的功能。
⑶.phpMyAdmin:
phpMyAdmin 是用 PHP 编写的,用于通过 Internet 管理 MySQL 的工具。支持数据库管理、表格、字段、关系、索引、用户权限等操作。
⑷.Sequel Pro:
Sequel Pro 是一款免费的开源项目,用于管理 MySQL 数据库。支持本地或互联网上的 MySQL,具有增加、删除数据库和表、更改字段、索引和视图、执行自定义查询等功能。
⑸.Navicat(推荐):
Navicat 是一个强大的 MySQL 数据库管理和开发工具。支持多种数据库类型,包括 MySQL、SQL Server、SQLite、Oracle 和 PostgreSQL。
⑹.SQLyog:
SQLyog 是一个易于使用的、快速而简洁的图形化管理 MySQL 数据库的工具。支持备份、查询、数据编辑、索引管理等功能。
Navicat连接MySQL数据库设置:

连接成功如下:


浙公网安备 33010602011771号