一、启动:
- mysql服务端:mysqld.exe
- mysql客户端:mysql.exe
注意:注意在配置mysql的时候要使用管理员身份运行终端。
服务端启动:配置环境变量之后 直接 在管理员终端中 mysqld
客户端启动:mysql -h 127.0.0.1 -P 3306 -u root -p
可以面直接跟密码,也可以回车之后输入密码,mysql常见的端口号:3306
redis 6379
monogodb 27017
django 8000
flask 5000
注意mysql第一次进入的时候没有密码,虽然会提示输入密码,可以直接回车进入
二、sql语句初始
-
mysql中sql语句是以分号结尾。
-
基本命令
show databases; 查看所有的库名 -
链接服务端的命令可以简写:
mysql -uroot -p -
如果你输入的命令不对,然后不想让数据库执行,可以使用\c取消
-
如何退出客户端 quit exit可以不加分号
-
当你链接服务端的时候,发现只输入mysql时也能链接,但是你不是管理员身份,而只是一个游客模式,功能较少。
小知识点
1. 如何查看当前具体进程:
tasklist
tasklist | findstr mysqld
2. 如何杀死具体进程,只有在管理员终端可以
taskkill /F /PID PID号
3. 将mysql服务端制作成系统服务开机自启动
查看当前计算机的运行进程数。
服务:services.msc
添加mysql服务:mysql --install
移除mysql服务:mysql --remove
4. 设置用户密码
mysqladmin -u root -p 原密码 password 新密码
比如原密码 123
mysqladmin -uroot -p123 password12345
5. 如果密码忘了(破解)
可以把校验用户名和密码的装饰器移除
- 先关闭当前的mysql服务端
- 然后启动 mysqld --skip-grant-tables
- 直接以无密码的方式连接 mysql -uroot -p 回车
- 修改当前的用户的密码
`update mysql.user set password=password(123456) where user = 'root' and host='localhost';`
真正储存用户的密码字段储存的肯定是密文,只有用户自己知道明文是什么,这样更安全。 password()加密密码, where为筛选,如果不加那么则将修改所有用户的密码。
- 立刻将修改数据刷新到硬盘,
` flush privileges `
- 关闭当前服务端,然后以正常校验授权表的形式启动。
三、统一编码
mysql默认配置文件:
mysql文件夹下面的.ini文件(如果没有可以在网上找)
[mysqld]# 一旦服务端启动加载下面的配置
[mysql]# 客户端启动加载下面的配置
[client] # 其他客户端启动加载下面的配置
统一编码的配置(直接拷贝)
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-server = utf8mb4
character-set-client-handshake = FALSE
[mysql]
default-character-set = utf8mb4
username=‘root’ # 这样登录就可以不输入账户密码了
password=123456
四、基本sql语句
PS:大部分程序的业务逻辑其实都是增删改查
1、针对库的增删改查
增
create database db1; # 增加一个数据库db1
create database db1 charset='utf8mb4';
查
show databases; # 查所有
show create database db1; # 查单个
改
alter database db2 charset='utf8mb4'; #更改db2的编码为utf8
删
drop database db2;
2、针对表的增删改查
#在操作表的时候,需要指定所在的库(文件夹)
查看当前所在库的名字
select database();
切换库
use db1;
增表
create table t1(
id int,
name char(4)
); # 最后一个不加逗号
查
show tables; # 查看有几张表
show create table t1;
describle t1;
desc t1; # 支持简写
改
alter table t1 modify name char(16);
补充
-
修改表名
alter table 表名 rename 新表名;
-
增加字段
alter table 表名 add 字段名 字段类型(宽度) 约束条件;
alter table 表名 add 字段名 字段类型(宽度) 约束条件 first;
alter table 表名 add 字段名 字段类型(宽度) 约束条件 after 字段; # 增加到那个地段后面
-
删除字段
alter table 表名 drop 字段名;
-
修改字段
alter table 表名 modify 字段名 字段类型(宽度) 约束条件;
alter table 表名 change 旧字段名 新字段名 字段类型(宽度) 约束条件;