2021年最新Mysql安装详细过程/详细步骤/Windows系统/压缩版

!!Mysql 需要管理员权限(全程)!!

mysql rpm文件安装 mysql文件安装教程_数据

一、Mysql安装根目录新建data文件夹和my.ini文件

  1. 安装根目录下新建data文件:D:\21\mysql\mysql-8\data
  2. 安装根目录下新建my.ini文件:(!!一定要修改mysql安装的正确路径!!)内容如下↓
[mysql]
# 设置mysql客户端默认字符集(注意UTF-8和UTF8)(注意utf8后面是否有空格)
default-character-set=utf8
[mysqld]
#设置3306端口(注意空格)
port=3306
# 设置mysql的安装目录
basedir=D:\mysql-8.0.11-winx64
# 设置mysql数据库的数据的存放目录
datadir=D:\mysql-8.0.11-winx64\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB

二、系统环境变量设置:与JDK类似

  1. 变量名称:MYSQL_HOME
  2. 变量值:MySQL安装目录。 实例: D:\MySQL5.7\mysql-5.7.27-winx64
  3. Path添加:%MYSQL_HOME%\bin

三、安装步骤:dos命令

  1. 切换安装路径:CD
切换到安装路径所在盘:D:
  到达所在安装路径位置:CD D:\mysql-8.0.19-winx64\bin
  1. 卸载(如果以前安装):sc delete mysql
sc delete mysql
mysqld remove
mysqld -remove MySQL
  1. 初始化(等待时间较长):mysqld --initialize-insecure
mysqld --initialize-insecure
mysqld --initialize-insecure --user=mysql
mysqld –initialize
mysqld --initialize –console
  1. 安装:mysqld –install
mysqld –install

四、运行

  1. 运行mysql服务:
net start mysql
  1. 输入root用户:无密码则不要输入密码直接回车——有密码输入密码
mysql -u root -p
  1. 修改密码:(将密码先修改再复制!不然直接修改)
    格式:ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘密码’;
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '1234';

5.6版本修改密码:默认没有密码:格式:set password=password(‘密码’);

SET PASSWORD = PASSWORD ("1234");
mysql> set password for 用户名@localhost = password('新密码');
mysql> set password for root@localhost = password('密码');
set password=password('密码');
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('密码');

五、数据库:CRUD<———>增删改查

  1. 创建数据库
格式:CREATE DATABASE 数据库名;
create database REMLI ;
  1. 删除数据库
格式:drop database 数据库名;
drop database REMLI ;
  1. 查看数据库
show databases;
  1. 选择使用数据库
use REMLI;
  1. 创建表:注意(`````)这个东西不是单引号、它是波浪键的英文半角输入、在键盘右上顶角
格式:CREATE TABLE table_name (column_name column_type);
create table `table_name` (
	`uid` varchar(20),
	`uname` varchar(20), 
	`upassword` varchar(20), 
	`uphone` int,
	`uemail` varchar(20), 
	`umoney` int not null default 0,
	`primary` key(`uid`)
);
CREATE TABLE `user`(
`id` int(11) NOT NULL auto_increment,
`username` varchar(32) NOT NULL COMMENT '用户名称', 
`birthday` datetime default NULL COMMENT '生日', 
`sex` char(1) default NULL COMMENT '性别', 
`address` varchar(256) default NULL COMMENT '地址',
PRIMARY KEY (`id`)
)ENGINE=InnoDB DEFAULT CHAR SET=utf8;
CREATE TABLE `student`(
`id` int(20) NOT NULL auto_increment COMMENT '学号',
`name` varchar(32) NOT NULL COMMENT '姓名', 
`sex` varchar(32) NOT NULL COMMENT '性别',
`year` varchar(32) NOT NULL COMMENT '年龄',
`grade` varchar(32) NOT NULL COMMENT '年级', 
`classes` varchar(32) NOT NULL COMMENT '班级',
`score` varchar(32) NOT NULL COMMENT '分数', 
PRIMARY KEY (`id`)
)ENGINE=InnoDB DEFAULT CHAR SET=utf8;
  1. 删除数据表
DROP TABLE table_name ;
  1. 展示表信息
show tables;
describe table_name;
desc table_name;
  1. 插入数据
INSERT INTO table_name (id,name,sex,birthday) VALUES ( 1,'小明', '男', '2015-11-02');
-- 多行插入信息(主键请勿重复)
INSERT INTO `remli`.`student`(`id`, `name`, `sex`, `year`, `grade`, `classes`, `score`) VALUES (19119,1,1,1,1,1,1),
(91191,1,1,1,1,1,1);
  1. 修改表名
alter table `Reports` rename `Reports2`;
  1. 修改表信息
alter table `Reports` modify column `Name` nvarchar(30) comment '修改后的字段注释'; #修改字段的注释
alter table `Reports` comment '修改后的表的注释'; #修改表的注释
-- 修改表里面的某行信息(例id)
update remli.user1 set `id`=1 ,`name`=1,`pwd`=1  where `id`=1;
  1. 修改表字段
alter table `Reports` add `column1` nchar(5) null; #新增列
alter table `Reports` modify `column1` nvarchar(10); #修改列属性
alter table `Reports` change `column1` `column2` nvarchar(10); #修改列名
alter table `Reports` change `column2` `column3` nchar(5); #修改列名与类型
alter table `Reports` drop column `column3`; #删除列
  1. 查看详细表数据
select * from table_name;
select * from `remli`.`user1` where `id`=1;
-- 查询特定数据(id)
  1. 清空数据
TRUNCATE TABLE table_name;
  1. 级联查询
select s.id as 学号,s.name as 姓名, c.id as 班级号, c.name as 班级名 from student s , classes c where s.id=1 and s.id = c.id;
-- SELECT 条件范围 FROM 数据表 WHERE 显示条件
  1. 删除表中数据信息
DELETE FROM `user1` WHERE name=1;

六、退出

  1. 退出
exit;

七 Mybatis SQL语句配置

<insert id="insert" parameterType="com.remli.entity.User" >
        INSERT INTO `remli`.`user1`(`id`, `name`, `pwd`) VALUES (#{id},#{name},#{pwd})
    </insert>


    <!--删除特定数据-->
    <delete id="deleteById" parameterType="int" >
        DELETE FROM `user1` WHERE name=1;
    </delete>


    <!--修改特定数据-->
    <!--update `user1` set `id`=#{id},`name`=#{name},`pwd`=#{pwd}  where `id`=#{id};-->
    <update id="update" parameterType="com.remli.entity.User">
        update remli.user1 set `id`=#{id} ,`name`=#{name},`pwd`=#{pwd}  where `id`=#{id};
    </update>


    <!--查询特定数据-->
    <select id = "findById" parameterType="int" resultType="com.remli.entity.User">
        select * from `remli`.`user1` where `id`=#{id};
    </select>


    <!--查询全部数据-->
    <select id = "findAll" resultType="com.remli.entity.User">
        select * from user1;
    </select>


    <!--查询特定姓名数据-->
    <select id = "findByName" parameterType="java.lang.String" resultType="com.remli.entity.User">
        select * from `remli`.`user1` where `name`=#{name};
    </select>


    <!--查询多个特定条件数据-->
    <select id = "findByNameAndPwd" resultType="com.remli.entity.User">
        select * from `remli`.`user1` where `name`=#{param1} and `pwd`=#{param2};
    </select>
   <!-- <select id = "findByNameAndPwd" resultType="com.remli.entity.User">
        select * from `remli`.`user1` where `name`=#{arg0} and `pwd`=#{arg1};
    </select>-->


    <!--查找相关计数数量-->
    <select id="count" resultType="int">
        select count(id) from user1
    </select>


    <!--通过学号查找对应的名字(只有名字)-->
    <select id = "findNameById" resultType="java.lang.String">
        select name from remli.user1 where `id`=#{id};
    </select>