数据库MySQL&Navicat

293 阅读5分钟

Navicat官方手册

windows安装MySQL服务

1.去官网下载,不如直接点击👆🏻的链接🔗
2.MSI格式的安装包是可视化页面,但是Windows没有找到对应的64位的MSI安装包
3.下载zip压缩包,这里我下载的是mysql-8.0.11-winx64
4.在D盘下创建了mysql文件,把下载的安装包解压到mysql文件下
5.在mysql文件下,创建data文件夹,创建mysql.ini(下面有附件)
6.添加环境变量
7.管理员身份运行终端(下面有附件)
8.在终端里,进入【mysql-8.0.11-winx64】下的bin目录
9.执行
mysqld install
输出了:
The service already exists!
The current server installed: D:\mysql-8.0.11-winx64\bin\mysqld MySQL
10.执行初始化方法,会生成数据默认密码
mysqld --initialize --user=mysql --console
输出了:(VcXqkr?YN34r 是数据库生成的默认密码,记录好)
2021-12-04T08:39:55.607914Z 0 [System] [MY-013169] [Server] D:\mysql\mysql-8.0.11-winx64\bin\mysqld.exe (mysqld 8.0.11) initializing of server in progress as process 18676
2021-12-04T08:40:00.484185Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: VcXqkr?YN34r
2021-12-04T08:40:03.662202Z 0 [System] [MY-013170] [Server] D:\mysql\mysql-8.0.11-winx64\bin\mysqld.exe (mysqld 8.0.11) initializing of server has completed
11.执行mysql启动命令
net start mysql
输出了:
发生系统错误 2。
系统找不到指定的文件。
12.上一步报错,还是因为mysqld没有安装好,这里需要卸载重装mysqld
mysqld --remove
mysqld --install
net start mysql
输出了:
MySQL 服务正在启动.
MySQL 服务已经启动成功。
13.使用Navicat Premium 12连接MySQL服务(看附件),报错2059
原因:
安装的mysql8.xx的版本,与之前的mysql5.xx的mysql_native_password规则不同,Navicat驱动目前不支持新加密规则
14.解决方式,执行:
c:
mysql -u root -p
等价于:mysql -u 账户 -p 密码 -P 端口 -h 本机IP地址
等价于:mysql -u root -p abc123** -P 3306 -h 127.0.0.1
输入初始化数据库生成的密码:VcXqkr?YN34r
区分大小写,如果确认密码没改过,多来几次就验证成功了。
15.继续执行:
//更改密码的加密规则
alter user root@localhost identified by 'password' password expire never;
//修改数据库的密码为abc123**
alter user root@localhost identified with mysql_native_password by 'abc123**'; 
//确认执行上面的操作
flush privileges;
16.大功告成,现在可以使用Navicat Premium 12连接MySQL服务,
账号:root
密码:abc123**
  • mysql.ini的内容:
#配置文件描述:
#[client]代表客户端默认设置内容;
#[mysql]代表我们使用mysql命令登录mysql数据库时的默认设置;
#[mysqld]代表数据库自身的默认设置;(推荐)
#注意:
#1,修改配置文件my.ini, 需要重启MySQL服务

[mysql]

# 设置mysql客户端默认字符集
default-character-set=utf8 

[mysqld]

#设置3306端口
port = 3306 
# 设置mysql的安装目录
basedir=D:\mysql\mysql-8.0.11-winx64
# 设置mysql数据库的数据的存放目录
datadir=D:\mysql\mysql-8.0.11-winx64\data
# 允许最大连接数
max_connections=200
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB

#设置日志的存放目录,前缀必须是[mysqld]
log-output=FILE
general-log=1
general_log_file="D:/mysql/log/mysql.log"
slow-query-log=1
slow_query_log_file="D:/mysql/log/mysql_slow.log"
long_query_time=2

# 下面这句会使MySQL无法启动,报错:本地计算机上的MySQL服务启动后停止。某些服务在未由其他服务或程序使用时将自动停止
# 服务端使用的字符集默认为8比特编码的latin1字符集
# character-set-Server=utf8
  • 添加环境变量 image.png

  • 管理员运行cmd

image.png

  • 使用Navicat连接mysql

image.png

  • 使用Navicat执行.sql文件导入数据 image.png

Mac安装MySQL服务&MySQL图形管理工具

如果Navicat中建立的连接把密码输入错误了,需要删除当前连接,然后输入正确的密码,否则可能一直报错-1045

image.png

  • mysql退出的三种方法:
mysql > exit;
mysql > quit;
mysql > \q;

在Navicat中,启动命令窗口,执行一些MySQL相关的命令

image.png

基础知识

1, 操作数据库之前, 最好要先开启事务, 这样可以回滚到操作数据之前的状态,只有点击提交事务,才会真正保存修改的数据.
2, 操作数据库时,如果没有开启事务,系统会自动帮我们提交事务,直接保存修改数据,无法回滚到修改之前的状态.

SQL语法

1.1 修改数据库 
1.1.1 修改数据库默认的字符集 
ALTER DATABASE 数据库名 DEFAULT CHARACTER SET 字符集; 
1.1.2 具体操作: 
将 db3 数据库的字符集改成 utf8 
alter database db3 character set utf8; 
1.2 删除数据库 
1.2.1 删除数据库的语法 DROP DATABASE 数据库名; 
1.2.2 具体操作: 
每行 SQL 语句需要选中再执行,可以按 F9 
删除 db2 数据库 drop database db2; 
1.3 使用数据库 
1.3.1 查看正在使用的数据库 
SELECT DATABASE(); 使用的一个 mysql 中的全局函数 
1.3.2 使用/切换数据库 USE 数据库名; 
1.3.3 具体操作: 
-- 查看正在使用的数据库 
select database(); 
-- 改变要使用的数据库 
use db4;
  • 新增
//表中字段设置【不是null】,新增时该字段不能为空
INSERT INTO student (id,name,age) VALUES (12,'赵12',30)
  • 更新
update student SET age=12 WHERE id='12'
  • 删除
//不能修改主键内容
DELETE FROM student WHERE id='no12'
  • 查询
1, 字符串必须要使用单引号或双引号
2, 模糊查询需要用到%号,
三种情况: 以a结尾:'%a'、以a开头:'a%'、包含a:'%a%'
//student表中所有的name
SELECT name FROM student
//student表中,id为no1的name
SELECT name FROM student WHERE id='no1'
//student表中,id为no1的整条数据
SELECT * FROM student WHERE id='no1'
//student表中'赵'开头的整条数据
SELECT * FROM student WHERE name LIKE '赵%'
//student表中'三'结尾的整条数据
SELECT * FROM student WHERE name LIKE '%三'
//student表中包含'三'的整条数据
SELECT * FROM student	WHERE name LIKE '%三%'