先下载Windows补丁dxwebsetup.exe
和 vcredist_x64.exe
(Google搜直接官网下载即可)
vcredist_x64.exe
dxwebsetup.exe
下载MySQL
下载好的MySQL解压缩到一个你知道的文件夹下
我的路径:D:\Program Files\Mysql\mysql-5.7.31-winx64
进入该文件下,添加配置文件my.ini
编辑该文件
[mysqld]
port=3306
basedir=D:\\Program Files\Mysql\\mysql-5.7.31-winx64
datadir=D:\Program Files\Mysql\mysql-5.7.31-winx64\\data
注意:
\
转义字符把\
给转义以管理员权限打开终端, 以下终端操作都要在管理员权限下进行
输入初始化命令
"MySQL路径\bin\mysqld.exe" --initialize-insecure
执行后文件目录会新增data文件夹
"MySQL路径\bin\mysqld.exe"
这种启动在终端下允许,关闭终端,MySQL停止,一般不用
"MySQL路径\bin\mysqld.exe" --install mysql57
mysql57是自己命名,最好以mysql最为开头,57这里是我的版本
"MySQL路径\bin\mysqld.exe" -h 127.0.0.1 -P 3306 -u root -p
说明: -h
后接的是要连接的服务器地址。 初始进入密码不需要,直接回车可进入
path下添加一条MySQL的路径
即可 eg: D:\Program Files\Mysql\mysql-5.7.31-winx64\bin
至此: 终端在一般模式也可以使用MySQL啦
进入MySQL本地连接
mysql -u root -p
set password = password('123456');
123456就是设置的密码
show databases;
exit;
默认情况下,启动MySQL时,需要输入账号、密码
修改MySQL配置,重启MySQL服务(无账号模式)
mysql -u root -p
进去后重新设置密码
退出
再重新修改MySQL配置文件,重新启动MySQL(需要账号的模式)
mysql -u root -p
新密码
停止服务
修改MySQL配置文件(以无账号模式)
配置文件my.ini
初始配置文件:
[mysqld]
port=3306
basedir=D:\\Program Files\Mysql\\mysql-5.7.31-winx64
datadir=D:\Program Files\Mysql\mysql-5.7.31-winx64\\data
加上一句话skip-grant-tables=1
即:
[mysqld]
port=3306
basedir=D:\\Program Files\Mysql\\mysql-5.7.31-winx64
datadir=D:\Program Files\Mysql\mysql-5.7.31-winx64\\data
skip-grant-tables=1
重新启动MySQL
再次登录(无需密码进入)
执行命令设置密码
use mysql;
update user set authentication_string = password('新密码'), password_last_changed=now() where user='root';
重新修改配置文件(需要账号的模式登录)【停掉MySQL服务】
删除skip-grant-tables=1
再保存即可
重新启动,输入新密码
查看已有的数据库(文件夹)
show databases;
创建数据库(文件夹)
create database 数据库名字 DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
删除数据库(文件夹)
drop database 数据库名字;
进入数据库(进入文件夹)
use 数据库名字;
查看文件夹下的所有数据表(文件)
show tables;
进入数据库(进入文件夹)
use 数据库;
查看当前数据库下的所有表(文件)
show tables;
创建表(文件名称)
create table 表名称(
列名称 类型,
列名称 类型,
列名称 类型
) default charset=utf8;
例子:
id | name | age |
---|---|---|
create table tb1(
id int,
name varchar(16),
age int
) default charset=utf8;
varchar(16)
表示字符串类型,最多存16个字符
create table tb1(
id int,
name varchar(16) not null, -- 不允许为空
age int null -- 允许为空(默认)
) default charset=utf8;
create table tb1(
id int,
name varchar(16),
age int default 3 -- 插入数据时,age列的值默认是3
) default charset=utf8;
create table tb1(
id int primary key, -- 主键(不允许为空,不允许重复)
name varchar(16),
age int
) default charset=utf8;
主键一般用于表示当前行的数据的编号(类似人的身份证)
create table tb1(
id int auto_increment primary key, -- 设置主键自增(内部维护)
name varchar(16),
age int
) default charset=utf8;
一般创建表时都这样写:【标准】
create table tb1(
id int not null auto_increment primary key,
name varchar(16),
age int
) default charset=utf8;
查看表内信息
desc 表名;
展示列名,每一列的类型,是否为空,是否为主键,默认值是什么,额外信息
删除表
drop table 表名称;
向表中加数据
# 插入数据
insert into tb2(salary, age) values(10000, 18); -- 插入一行
insert into tb2(salary, age) values(20000, 28);
insert into tb2(salary, age) values(30000, 38), (40000, 48); -- 插入两行
整数:
tinyint
有符号,取值范围:-128 ~ 127 (默认) tinyint
无符号,取值范围:0 ~ 255 tinyint unsigned
int
有符号
无符号:int unsigned
bigint
有符号
无符号
例子:
# 创建表
create table tb2(
id bigint not null auto_increment primary key,
salary int,
age tinyint
) default charset=utf8;
# 插入数据
insert into tb2(salary, age) values(10000, 18); -- 插入一行
insert into tb2(salary, age) values(20000, 28);
insert into tb2(salary, age) values(30000, 38), (40000, 48); -- 插入两行
# 查看表中的数据(展示表中的内容)
select * from tb2;
小数:
float
double
decimal
准确的小数值,8是数字的总个数是8位(符号不算),小数点后有2位。
最大总共有65位,小数点后最多有30位
总位数超过限制会报错,总位数不超&小数点后的位数太多会进行四舍五入
create table, tb1(
id int not null auto_increment primary key,
salary decimal(8, 2)
) default charset=utf8;
字符:
char(m) 查询速度快
定长字符串,超过指定长度会报错
char(11),固定按照11个字符串进行存储,没有11个也会按照11个存储
m代表字符串的长度,最多可容纳255个字符
create table, tb1(
id int not null auto_increment primary key,
mobile char(11)
) default charset=utf8;
varchar(m) 节省空间
变长字符串,超过指定长度会报错
真实数据有多长就存储多少
m代表字符串的长度,最大65535个字节 / 3 = 最大的中文字数
create table, tb1(
id int not null auto_increment primary key,
salary decimal(8, 2)
) default charset=utf8;
text
text数据类型一般用于存储变长的大字符串,最多65535个字符
一般情况下,长文本会用text类型,例如:文章,新闻等
mediumtext
longtext
日期:
datetime
YYYY-MM-DD HH:MM:SS
date
YYYY-MM-DD
清屏:
system clear
insert into 表名(列名,列名) values(值,值);
insert into 表名(列名, 列名) values(值,值),(值,值),(值,值);
删除整张表的数据
delete from 表名;
过滤删除的条件
delete from 表名 where 条件;
delete from tb1;
delete from tb1 where id = 3;
delete from tb1 where id = 4 and name = "张三“;
delete from tb1 where id = 3 or name = "李四";
delete from tb1 where id >= 3;
delete from tb1 where id != 3;
delete from tb1 where id in (1, 3); # 表示id=1和id=5的被删掉
update 表名 set 列=值; # 表中的所有列都改
update 表名 set 列=值, 列=值;
update 表名 set 列=值 where 条件;
通过条件判断可以控制
update tb1 set age=age+10 where id>5;
查询表中的所有数据
select * from 表名称;
查询某几列
select 列名称,列名称 from 表名称;
还可以加条件
select 列名称,列名称 from 表名称 where 条件;