2021年最新Mysql安装详细过程/详细步骤/Windows系统/压缩版
!!Mysql 需要管理员权限(全程)!!
一、Mysql安装根目录新建data文件夹和my.ini文件
- 安装根目录下新建data文件:D:\21\mysql\mysql-8\data
- 安装根目录下新建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类似
- 变量名称:MYSQL_HOME
- 变量值:MySQL安装目录。 实例: D:\MySQL5.7\mysql-5.7.27-winx64
- Path添加:%MYSQL_HOME%\bin
三、安装步骤:dos命令
- 切换安装路径:CD
切换到安装路径所在盘:D:
到达所在安装路径位置:CD D:\mysql-8.0.19-winx64\bin
- 卸载(如果以前安装):sc delete mysql
sc delete mysql
mysqld remove
mysqld -remove MySQL
- 初始化(等待时间较长):mysqld --initialize-insecure
mysqld --initialize-insecure
mysqld --initialize-insecure --user=mysql
mysqld –initialize
mysqld --initialize –console
- 安装:mysqld –install
mysqld –install
四、运行
- 运行mysql服务:
net start mysql
- 输入root用户:无密码则不要输入密码直接回车——有密码输入密码
mysql -u root -p
- 修改密码:(将密码先修改再复制!不然直接修改)
格式: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<———>增删改查
- 创建数据库
格式:CREATE DATABASE 数据库名;
create database REMLI ;
- 删除数据库
格式:drop database 数据库名;
drop database REMLI ;
- 查看数据库
show databases;
- 选择使用数据库
use REMLI;
- 创建表:注意(`````)这个东西不是单引号、它是波浪键的英文半角输入、在键盘右上顶角
格式: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;
- 删除数据表
DROP TABLE table_name ;
- 展示表信息
show tables;
describe table_name;
desc table_name;
- 插入数据
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);
- 修改表名
alter table `Reports` rename `Reports2`;
- 修改表信息
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;
- 修改表字段
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`; #删除列
- 查看详细表数据
select * from table_name;
select * from `remli`.`user1` where `id`=1;
-- 查询特定数据(id)
- 清空数据
TRUNCATE TABLE table_name;
- 级联查询
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 显示条件
- 删除表中数据信息
DELETE FROM `user1` WHERE name=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>