目录
1.MySQL安装配置:
1.MySQL下载:
官网https://dev.mysql.com/downloads/mysql/
版本5.736(mysql-5.7.36-winx64.zip)
安装:
(1):解压,把\bin目录加到环境变量
(2):本地服务(开机自启动):
管理员模式打开命令提示符,
把MySQL添加到本地服务:mysqld --install
把MySQL移除出本地服务:mysqld --remove
(3):由于MySQL5.7以上都没有data文件,解压data:
管理员模式下cmd输入:mysqld --initialize-insecure
2.MySQL使用:
(1)服务端:
启动:管理员模式下cmd输入:net start mysql
关闭:管理员模式下cmd输入:net stop mysql
(2)客户端(本地电脑为例):
客户端连接服务端完整命令:mysql -h 127.0.0.1 -P 3306 -uroot -p
简写:mysql -uroot -p
第一次启动,不用输入密码直接回车
1)设置密码,比如设置密码007:
alter user 'root'@'localhost' identified with mysql_native_password by "007";
2)设置(更改)root密码:mysqladmin -uroot -p 原密码 password 新密码
3)退出命令:quit或exit
(3)破解密码:
a.先关闭mysql进程服务,打开一个管理员cmd窗口:
b.启动MySQL服务的时候跳过权限表认证
打开一个管理员cmd窗口:mysqld --skip-grant-tables
c.再另外打开一个管理员cmd窗口:
以无密码连接数据库(直接回车):mysql -uroot -p
d.更改密码:
update mysql.user set authentication_string=password('新密码') where user='root' and Host ='localhost';
e.保存密码到硬盘:
flush privileges;
3.统一字符编码:
在安装目录下新建一个my.ini文件,内容:
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3306端口
port = 3306
# 设置mysql的安装目录(双斜杠安装地址)
basedir=D:\\ruangjian\\KF\\mysql-5.7.36-winx64
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
[client]
default-character-set=utf8
2.基本语句(库表数据的增查改删):
1.概念:
库 ===> 文件夹
表 ===> 文件
记录 ===> 文件内一行行的数据
表头 ===> 表格的第一行字段
字段 ===> name、password、hobby
2.MySQL语句初识:
(1) MySQL中的sql语句是以分号作为结束的标志
(2) 基本命令:查看所有的库名
show databases;
(3) 连接服务端的命令可以简写
mysql -uroot -p
(4) 当你输入的命令不对 又不想让服务端执行并返回报错信息 可以用\c取消
错误命令 \c
(5) 客户端退出 退出命令加不加分号都可以执行
quit
exit
(6) 当你在连接服务端的时候 发现只输入mysql也能连接
但是你不是管理员身份 而只是一个游客模式
3.MySQL对库·表·数据的增查改删:
(1)针对库的增删改查(文件夹)**
# 增
create database db1;
create database db2 charset='gbk'; # 定编码。很少有
# 查
show databases; # 查所有
show create database db1; # 查单个(具体)
# 改
alter database db2 charset='utf8';
# 删
drop database db2;
(2)针对表的增删改查(文件)**
# 在操作表(文件)的时候 需要指定所在的库(文件夹)
a.查看当前所在的库的名字:select database();
b.切换库:use db1;
# 增
create table t1(id int,name char(4));
# 查
show tables; # 查看当前库下面所有的表名
show create table t1; # 查单个(具体)
describe t1; # 支持简写 desc t1;
# 改
alter table t1 modify name char(16);
# 删
drop table t1;
补充:也可以用绝对路径的形式操作不同的库:create table db2.t1(id int);
(3)针对数据的增删改查(一行行数据)**
一定要先有库 有表 最后才能操作记录
# 增
insert into t1 values(1,'zcy');
insert into t1 values(1,'zjf'),(2,'mxg'),(3,'wsx');
# 查
select * from t1; # 该命令当数据量特别大的时候不建议使用
select name from t1;
# 改
update t1 set name='DSB' where id > 1;
# 删
delete from t1 where id > 1;
delete from t1 where name='zcy';
# 将表所有的数据清空
delete from t1;