MySQL(01)—安装与使用
安装与使用
图解MySQL程序结构
1. MySQL数据库产品的介绍
1.1 MySQL产品的特点
MySQL数据库隶属于MySQL AB公司,总部位于瑞典,后被Oracle收购。
优点:
– 成本低:开放源代码,一般可以免费试用
– 性能高:执行很快
– 简单:很容易安装和使用
2. MySQL数据库的安装
DBMS分为两类:
– 基于共享文件系统的DBMS (Access )
– 基于客户机——服务器的DBMS (MySQL、Oracle、SqlServer)
MySQL的版本
社区版(免费)
企业版(收费)
Windows平台下下载:http://dev.mysql.com/downloads/mysql
2.1下载
Windows安装程序MySQL Installer MSI。

下载离线安装版(文件大的那个)。需要注意的是,这里的32-bit是指安装程序Installer是32位,并非指下载的MySQL是32位,实际上MySQL会适应系统位数。

点击**”No thanks, just start my download”**开始下载。

2.2 安装
下载完成之后双击安装,可以选择自定义安装。



我一般安装以下两个就够。具体情况请根据你的实际需求。
MySQL Server 8.0.26 - X64:服务器
MySQL Workench 8.0.26 - X64:数据可视化管理工具

一路执行或下一步。




这一步要注意,最好选择传统密码验证方式,否则使用第三方数据库管理软件在连接时会报错。

密码很重要,本人设置密码与锁屏密码一致,便于记忆

Windows Service Name: Windows托管服务名,用于停止、启动





添加MySQL系统环境变量。

到此,安装完成!
2.3 验证登陆
打开管理员CMD,输入密码。

2.4 使用workbench可视化工具



2.5 更改MySQL数据存储路径的方法
先停止mysql服务
(1)停止服务,管理员进入cmd >net stop MySQL (mysql的服务名:查找方法:右键我的电脑–>管理–>服务,然后找到mysql的服务名即可);


(2)将mysql安装路径下的data目录下的文件(通常是C:\ProgramData\MySQL\MySQL Server\Data)拷贝到自己想要储存的路径如:datadir=C:\Files\MySQLData;
(3)修改”my.ini”配置文件,记事本打开找到Datadir的部分

修改为:

datadir=C:/Files/MySQLData\Data【备注:这里是”/”而不是”\”,一般的配置文件都这样】
(4)重启mysql服务验证一下是否成功,管理员进入cmd >net start MySQL80

接着进入mysql创建一个数据库看一下


1 | >mysql –u root –p |
可以看到原先的data目录没有生成”xiong”的database,而在我们新建的mysqlData路径目录下多了”xiong”的database。更改到此完毕。

2.6MySQL卸载
(1)先停止服务
服务器名是你安装时写的Windows服务名。

(2)1.使用安装程序Installer卸载
安装程序不仅用来安装MySQL(可安装多个不同版本的MySQL服务),还可以用来修复及卸载MySQL。使用它卸载的好处就是能卸载干净,卸载不干净再重装很可能会出问题!
点击Remove


完成卸载,重启计算机。
(2)2.使用命令卸载
1 | net stop mysql # 停服务 |
2.7. 启动和停止MySQL服务
方式一:通过计算机管理方式
右击计算机—管理—服务—启动或停止MySQL服务
方式二:通过命令行方式
启动:net start mysql服务名
停止:net stop mysql服务名
2.8 MySQL服务端的登录和退出
登录
mysql -h 主机名 -u 用户名 -p 密码
退出
exit
3. MySQL数据库的使用
3.1 MySQL语法规范
- 不区分大小写
- 每句话用;或\g结尾
- 各子句一般分行写
- 关键字不能缩写也不能分行
- 用缩进提高语句的可读性
- 注释
- 单行注释 :#注释文字
- 单行注释:– 注释文字
- 多行注释:/*注释文字*/
进入mysql,在命令行中输入:mysql -uroot -p ####(其中:####表示密码)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21xiong@SURFACE-PRO6 C:\Users\xiong
# net start MySQL80
MySQL80 服务正在启动 .
MySQL80 服务已经启动成功。
xiong@SURFACE-PRO6 C:\Users\xiong
# mysql -h localhost -P 3306 -u root -p
Enter password: ******
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.26 MySQL Community Server - GPL
Copyright (c) 2000, 2021, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>新建一个数据库:
create database 数据库名;1
2mysql> create xiong;
Query OK, 0 rows affected (0.06 sec)查看mysql中有哪些个数据库:
show databases;xiong为自己建立的数据库,其他几个数据库为mysql自带的样例
1
2
3
4
5
6
7
8
9
10
11
12
13
14mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
| xiong |
+--------------------+
5 rows in set (0.01 sec)
mysql>使用一个数据库:
use数据库名称;使用“xiong”数据库,显示 Database changed
使用
show tables;,查看数据库表中的内容,显示为Empty set1
2
3
4
5mysql> use xiong
Database changed
mysql> show tables
-> ;
Empty set (0.01 sec)查看当前所处的数据库:
select database();显示处在“xiong”
1
2
3
4
5
6
7mysql> select database();
+------------+
| database() |
+------------+
| xiong |
+------------+
1 row in set (0.00 sec)在“xiong”里查看“mysql”数据库
show tables from 数据库名;1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43mysql> show tables from mysql;
+------------------------------------------------------+
| Tables_in_mysql |
+------------------------------------------------------+
| columns_priv |
| component |
| db |
| default_roles |
| engine_cost |
| func |
| general_log |
| global_grants |
| gtid_executed |
| help_category |
| help_keyword |
| help_relation |
| help_topic |
| innodb_index_stats |
| innodb_table_stats |
| password_history |
| plugin |
| procs_priv |
| proxies_priv |
| replication_asynchronous_connection_failover |
| replication_asynchronous_connection_failover_managed |
| replication_group_configuration_version |
| replication_group_member_actions |
| role_edges |
| server_cost |
| servers |
| slave_master_info |
| slave_relay_log_info |
| slave_worker_info |
| slow_log |
| tables_priv |
| time_zone |
| time_zone_leap_second |
| time_zone_name |
| time_zone_transition |
| time_zone_transition_type |
| user |
+------------------------------------------------------+
37 rows in set (0.01 sec)
在数据库中新建一个表:
create database 表名(列名 类型,...);1
2
3
4
5
6
7
8
9
10
11
12
13mysql> create table stuinfo(
-> id int,
-> name varchar(20)
-> );
Query OK, 0 rows affected (0.06 sec)
mysql> show tables;
+-----------------+
| Tables_in_xiong |
+-----------------+
| stuinfo |
+-----------------+
1 row in set (0.00 sec)查看表的结构
desc 表名;1
2
3
4
5
6
7
8mysql> desc stuinfo;
+-------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id | int | YES | | NULL | |
| name | varchar(20) | YES | | NULL | |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.01 sec)在表中添加数据
insert into 表名 values(属性1,属性2...) (属性1的值,属性2的值...);1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23mysql> desc stuinfo;
+-------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id | int | YES | | NULL | |
| name | varchar(20) | YES | | NULL | |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.01 sec)
mysql> insert into stuinfo (id, name) values(1001,'小天才');
Query OK, 1 row affected (0.11 sec)
mysql> insert into stuinfo (id, name) values(1002,"花江");
Query OK, 1 row affected (0.01 sec)
mysql> select * from stuinfo;
+------+--------+
| id | name |
+------+--------+
| 1001 | 小天才 |
| 1002 | 花江 |
+------+--------+
2 rows in set (0.00 sec)修改表中数据
update 表名 set 属性 = xxx where 限制条件;1
2
3
4
5
6
7
8
9
10
11
12
13
14mysql> update stuinfo
-> set name = "天空龙"
-> where id = 1002;
Query OK, 1 row affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> select * from stuinfo;
+------+--------+
| id | name |
+------+--------+
| 1001 | 小天才 |
| 1002 | 天空龙 |
+------+--------+
2 rows in set (0.01 sec)
查看服务器版本:
在mysql命令行下:
select version();1
2
3
4
5
6
7mysql> select version();
+-----------+
| version() |
+-----------+
| 8.0.26 |
+-----------+
1 row in set (0.01 sec)在cmd下:
mysql --version1
2
3xiong@SURFACE-PRO6 C:\Users\xiong
# mysql --version
mysql Ver 8.0.26 for Win64 on x86_64 (MySQL Community Server - GPL)
3.2 图形化数据库管理软件的使用
此处以DataGrip为例
1.新建项目

2.选择数据源

3.设置

4.连接成功

5.右键选中的数据库连接。选择Jump to Query Console,即可在控制台中书写sql语句了

6.添加多个数据库源:File –> DataSource –>选择数据源
点击 + 选择数据库类型,并新建连接
