mysql 安装流程
解压目录下不能有中文,直接解压到自己完成的功能
创建配置文件
my.ini
安装过程如果失败的情况
vcredist_x64.exe 补丁需要安装
dxwebsetup.exe DirectX需要安装
安装目录下有个data 删除掉之后继续进行初始化
[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录 ----------是mysql的安装路径-------------
basedir=D:\mysql-8.0.26-winx64\mysql-8.0.26-winx64
# 设置mysql数据库的数据的存放目录 ---------是你的文件路径data文件夹自行创建
datadir=E:\mysql\mysql\data
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。
max_connect_errors=10
# 服务端使用的字符集默认为utf8mb4
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
#mysql_native_password
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8mb4
初始化SQL
打开终端用管理员的身份进行运行!!! 不使用管理员的权限运行是不可以的
打开终端之后输入命令
初始化命令:mysql\bin\mysqld.exe --initialize-insecure
启动mysql
- 临时启动
bin目录下有一个mysqld.exe 运行这个文件 会卡住 mysql就开启了
关闭mysql就关闭了
- 永久启动
制作服务
D:\mysql-8.0.26-winx64\mysql-8.0.26-winx64\bin\mysqld.exe --install mysql57
这个服务是相当于内嵌到我们的服务里面 可以启动关闭这样子
- 启动服务
net start mysql57 // 开启
net stop mysql57 // 关闭
连接测试
D:\mysql-8.0.26-winx64\mysql-8.0.26-winx64\bin\mysql.exe -h 127.0.0.1 -p 3306 -u root -p
ALTER USER 'root'@'localhost' IDENTIFIED BY '111111';
默认不用 -h -p 这都是默认的端口
环境变量!冲
D:\mysql-8.0.26-winx64\mysql-8.0.26-winx64\bin\ 添加到环境变量
设置密码的情况
set password = password("root123")
查看已有的数据库
show databases;
exit;退出数据库
忘记密码怎么办 寄!
- 关闭mysql服务
- 修改mysql配置 重新启动mysql mysql -u -root -p
- 重新设置密码,再重新修改配置文件 skip-grant-tables=1 添加 ini
- 重新启动mysql
- mysql -u -root -p
- use mysql;
- update user set authentication_string=password(123456)
,password_last_changed=now() where user=‘root’ - 重新修改配置文件
创建数据库
create database gx_day14 DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
删除数据库
drop database gx_day14
进入数据库
use gx_day14;
查看文件夹下所有数据表(文件)
show tables;
创建表
create table 表名称(
列名称 类型,
列名称 类型,
列名称 类型,
)default charset=utf8;
create table tb1(
id int,
name varchar(16),
age int
)default charset=utf8;
创建表的细节
create table tb1(
id int,
name varchar(16) not null, --不允许为空
age int null --允许为空
)default charset=utf8;
create table tb1(
id int auto_increment primary key,
name varchar(16) not null,
age int default 3
)default charset=utf8;
create table tb1(
id int primary key, --不能为空也不能重复
name varchar(16) not null,
age int null
)default charset=utf8;
--删除表
drop table tb1;
主键类似于人的身份证
常用数据类型
- tinyint (unsigned)
- 有符号和无符号 -128~128
- 无符号 0~255
- int
- 有符号 -2147483648 ~ 2147483647
- 无符号 -
- bigint
- 有符号 -9223372036854775808~ +
create table tb2(
id bigint auto_increment primary key,
salary int,
age tinyint
)default charset=utf8;
insert into tb2(salary, age) values (1000,18),(4000,40);
- float
--存储不是特别精准的
- double
- decimal
-salary decimal(8,2); --前面的是全部数字 后面的是小鼠数字
create table tb3(
id bigint auto_increment primary key,
salary decimal(8,2) --四舍五入的情况
)default charset=utf8;
insert into tb3(salary) values (1.288),(4.862),(3.156);
字符串
- char 255字节
查询的速度快 11*5
定长字符串
--固定11个字符 没有11也按11个
create table tb4(
id bigint auto_increment primary key,
mobile char(11)
)default charset=utf8;
- varchar 65535字节
变长字符串
真实字符串多长就按多长存储
create table tb4(
id bigint auto_increment primary key,
mobile varchar(11)
)default charset=utf8;
- text 65535个字符 如文章或者新闻
- medium text 2**16-1
- longtext text 2**32-1
时间字符串
- datatime
YYYY-MM-DD HH:MM:SS
- data
YYYY-MM-DD
create table tb7(
id bigint auto_increment primary key,
name varchar(64) NOT NULL ,
password char(64) not null,
email varchar(64) not null,
age tinyint,
salary decimal(8,2),
ctime datetime
)default charset=utf8;
insert into tb7(name, password, email, age, salary, ctime)
values("shrimp","19995210","602870261@qq.com",23,0,"2022-11-9 11:11:11");
insert into tb7(name, password, email, age, salary, ctime)
values("summer","19995210","602870261@qq.com",23,0,"2022-11-9 11:11:11");
insert into tb7(name, password, email, age, salary, ctime)
values("joker","19995210","602870261@qq.com",23,0,"2022-11-9 11:11:11");
insert into tb7(name, password, email, age, salary, ctime)
values("charmer","19995210","602870261@qq.com",23,0,"2022-11-9 11:11:11");
数据行操作
--增加数据
INSERT INTO 表名(column,column) values (value,value)
--删除表
delete from 表名; -- 全部删除
delete from 表名 where 条件; -- id = 3
--修改数据
update 表名 set 列 = 值,列 = 值,列 = 值 WHERE 条件;