MySQL- 5..7.24-winx64 安装详解

Posted smiorboy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL- 5..7.24-winx64 安装详解相关的知识,希望对你有一定的参考价值。

 

mysql 安装及配置

1.下载

首先上MySql的官网下载  https://dev.mysql.com/downloads/mysql/ ,本人下载的是 mysql-5.7.24-winx64.zip版。

2.解压存放目录

下载完解压到你想要存放的位置  我的是解压到D:Program FilesMySQL 。

3.配置环境变量

在环境变量path中追加一句:;D:Program FilesMySQLin   切记前面有其他环境变量时一定加 ;

4.自己配置mysql的配置文件my.ini

在D:Program FilesMySQL 目录下新建my.ini,打开加入如下代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=D:Program FilesMySQL
# 设置mysql数据库的数据的存放目录
datadir=D:Program FilesMySQLdata
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB

5.在cmd中配置

以管理员身份打开cmd命令窗口,进入D:Program FilesMySQLin>目录下,运行mysqld --initialize --user=mysql --console ,见下图所示:

技术图片

6.验证安装是否成功

完成上面两个文件的创建后,还是在D:mysql-5.7.20-winx64in下用管理员运行cmd  输入命令 mysqld -install  如果出现Service successfully installed 说明注册成功了

技术图片

7.启动和关闭mysql服务

启动服务:net start mysql

技术图片

关闭服务:net stop mysql

到此mysql数据库安装和配置完毕。

二 MySQL的基础知识

1.创建、删除及显示数据库

注意:一次只能删除一个数据库,不能同时删除多个库

2.创建数据库db1,并设置数据库字符编码为utf8

3.创建数据库db2,设置编码utf8和校对规则utf8_general_ci (校对规则:可以理解成排序规则;默认使用utf8_general_ci )

4.显示数据库创建语句

5.mysql数据类型

需要重点掌握的有以下几种:

数值型: int(整型,不指定代表有符号)   float(存储小数)  decimal(存储小数,精度高)

字符型:   char(存储字符,范围 0~255字符)  varchar(存储字符,范围 0~65532 字节)       text  

日期型:data (存储日期类型)

字符数据类型解释说明如下图

技术图片

 

6.创建数据表

 基本语法 

1
2
3
4
5
6
create table 表名 (
    字段1  数据类型,
    字段2  数据类型,   
 
    字段n  数据类型,
)character set 字符编码 collate 校对规则  engine  存储引擎方式   field:指定列名  datatype: 指定列类型

  注意:表后面的各项设置以创建表时设置的为准,如表没有设置,以数据库为准。

 创建数据表user并显示其归属哪个数据库(显示归属的数据库命令:show tables; )

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
mysql> use db;
Database changed
mysql> create table user(id int,salary float(4,2),bonus decimal(4,2));
Query OK, 0 rows affected (0.05 sec)
 
mysql> select from user;
Empty set (0.01 sec)
 
mysql> show tables;
+--------------+
| Tables_in_db |
+--------------+
user         |
+--------------+
1 row in set (0.00 sec)

注:float(4,2) 表示存储范围在   -99.99~99.99 ;   decimal(6,2)表示存储范围在  -9999.99~9999.99  ;即 float (n,m)表示共有 n 位数字,m表示保留 m 位小数。精度测试数据为:(10,2)

7.创建案例:雇员表  employee

表employee说明如下:

技术图片

8.查看表结构的详细信息

1
2
3
4
5
6
7
8
9
10
11
12
13
mysql> desc employee;
+--------------+------------------+------+-----+---------+-------+
| Field        | Type             | Null Key Default | Extra |
+--------------+------------------+------+-----+---------+-------+
| id           | int(10) unsigned | YES  |     | NULL    |       |
name         varchar(100)     | NO   |     |         |       |
| sex          | char(1)          | NO   |     |         |       |
| brithday     | date             | YES  |     | NULL    |       |
| job          | varchar(30)      | NO   |     |         |       |
| salary       | decimal(10,2)    | NO   |     | 0.00    |       |
| introduction | text             | YES  |     | NULL    |       |
+--------------+------------------+------+-----+---------+-------+
rows in set (0.00 sec)

9.数据表CRUD操作

  • insert语句(插入数据) 
1
insert into 表名(字段1,字段2,...字段n)  values  (字段 值1,字段值2,...字段值n);

    示例代码

1
2
3
4
5
6
7
8
9
10
11
mysql> insert into employee(id,name,sex,brithday,job,salary,introduction)
    -> values(001,‘张国锋‘,‘男‘,‘1981-12-28‘,‘software engineer‘,12000,‘工作态度端正,认真负责本职工作,技术能力强,是不可多得的人才!‘);
Query OK, 1 row affected (0.00 sec)
 
mysql> select from employee;
+------+-----------+-----+------------+-------------------+----------+-----------------------------------------------------------------------------------------------+
| id   | name      | sex | brithday   | job               | salary   | introduction                                                                                  |
+------+-----------+-----+------------+-------------------+----------+-----------------------------------------------------------------------------------------------+
|    1 | 张国锋    | 男  | 1981-12-28 | software engineer | 12000.00 | 工作态度端正,认真负责本职工作,技术能力强,是不可多得的人才!                                |
+------+-----------+-----+------------+-------------------+----------+-----------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)  

注:在插入数据时,sql代码工具一定要与表设置的字符编码相同,否则插入的数据会出现乱码;也可在mysql命令提示符下输入:mysql> set names utf8 或 gbk;

  • update语句(更新数据)
1
update 表名 set 字段1=新值,字段2=新值  where  条件;

 示例代码

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
mysql> select from employee;
+------+------------+-----+------------+-------------------+----------+-----------------------------------------------------------------------------------------------+
| id   | name       | sex | brithday   | job               | salary   | introduction                                                                                  |
+------+------------+-----+------------+-------------------+----------+-----------------------------------------------------------------------------------------------+
|    1 | 张国锋     | 男  | 1981-12-28 | software engineer | 12000.00 | 工作态度端正,认真负责本职工作,技术能力强,是不可多得的人才!                                |
|    2 |  李建林    | 男  | 1972-10-21 | teacher           |  5200.00 | 工作认真,讲课生动有趣,在学校评为优秀讲师                                                    |
+------+------------+-----+------------+-------------------+----------+-----------------------------------------------------------------------------------------------+
rows in set (0.00 sec)
 
mysql> update employee set salary=6000 where id=2;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0
 
mysql> select from employee;
+------+------------+-----+------------+-------------------+----------+-----------------------------------------------------------------------------------------------+
| id   | name       | sex | brithday   | job               | salary   | introduction                                                                                  |
+------+------------+-----+------------+-------------------+----------+-----------------------------------------------------------------------------------------------+
|    1 | 张国锋     | 男  | 1981-12-28 | software engineer | 12000.00 | 工作态度端正,认真负责本职工作,技术能力强,是不可多得的人才!                                |
|    2 |  李建林    | 男  | 1972-10-21 | teacher           |  6000.00 | 工作认真,讲课生动有趣,在学校评为优秀讲师                                                    |
+------+------------+-----+------------+-------------------+----------+-----------------------------------------------------------------------------------------------+
rows in set (0.00 sec)
 
mysql> update employee set salary=salary+1000 where id=2;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0
 
mysql> select from employee;
+------+------------+-----+------------+-------------------+----------+-----------------------------------------------------------------------------------------------+
| id   | name       | sex | brithday   | job               | salary   | introduction                                                                                  |
+------+------------+-----+------------+-------------------+----------+-----------------------------------------------------------------------------------------------+
|    1 | 张国锋     | 男  | 1981-12-28 | software engineer | 12000.00 | 工作态度端正,认真负责本职工作,技术能力强,是不可多得的人才!                                |
|    2 |  李建林    | 男  | 1972-10-21 | teacher           |  7000.00 | 工作认真,讲课生动有趣,在学校评为优秀讲师                                                    |
+------+------------+-----+------------+-------------------+----------+-----------------------------------------------------------------------------------------------+
rows in set (0.00 sec)  

注:如果不加wherer条件,所有数据的指定字段值全部修改!

  • delete语句(删除数据)
1
delete from 表名  where  条件;

 示例代码 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
mysql> select from employee;
+------+------------+-----+------------+-------------------+----------+-----------------------------------------------------------------------------------------------+
| id   | name       | sex | brithday   | job               | salary   | introduction                                                                                  |
+------+------------+-----+------------+-------------------+----------+-----------------------------------------------------------------------------------------------+
|    1 | 张国锋     | 男  | 1981-12-28 | software engineer | 12000.00 | 工作态度端正,认真负责本职工作,技术能力强,是不可多得的人才!                                |
|    2 |  李建林    | 男  | 1972-10-21 | teacher           |  7000.00 | 工作认真,讲课生动有趣,在学校评为优秀讲师                                                    |
+------+------------+-----+------------+-------------------+----------+-----------------------------------------------------------------------------------------------+
rows in set (0.00 sec)
 
mysql> delete from employee where id=2;
Query OK, 1 row affected (0.00 sec)
 
mysql> select from employee;
+------+-----------+-----+------------+-------------------+----------+-----------------------------------------------------------------------------------------------+
| id   | name      | sex | brithday   | job               | salary   | introduction                                                                                  |
+------+-----------+-----+------------+-------------------+----------+-----------------------------------------------------------------------------------------------+
|    1 | 张国锋    | 男  | 1981-12-28 | software engineer | 12000.00 | 工作态度端正,认真负责本职工作,技术能力强,是不可多得的人才!                                |
+------+-----------+-----+------------+-------------------+----------+-----------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

  技术图片

技术图片

  • select语句(查询数据)
1
2
3
4
5
6
#按指定字段查询
select 字段1,字段2,... 字段n  from  表名  where   条件;  
 
 
#对表进行所有字段的查询
select from 表名  where  条件; 

 注:在mysql中,表名和字段名不区分大小写

  •  order by语句(对查询结果进行排序) 
1
select 字段1,字段2,... 字段n  from  表名  where   条件  order by  字段  [asc|desc];

 代码示例 

技术图片

 

以上是关于MySQL- 5..7.24-winx64 安装详解的主要内容,如果未能解决你的问题,请参考以下文章

MySQL MySQL中的索引详讲

(转)MySQL中的索引详讲

Mysql修改和破解登录密码(详)

MySQL中的索引详讲

MySQL中的索引详讲

在rhel 7.4中安装glibc-devel-2.17-196.el7.i686包的过程详录