写前端写久了,好久没有折腾数据库,趁机回顾一下以前的知识。安装的操作只适合MacOS。
安装
先在Mac上搭一个。
官网 拉倒底部找到 MySQL Community Server 下载。
根据操作系统选择包,下载完 无脑安装就行。
我的版本是 8.0.12 MySQL Community Server
开启服务
进入系统偏好设置,点击MySQL,开启MySQL服务
可以看到默认的配置
环境变量配置
找到mysql的安装路径,例如从上图就能看出来位于/use/local/mysql。
编辑用户目录下的 .bash_profile,如果没有就创建
cd ~/
vim .bash_profile
// 添加下面的配置
##mysql
export PATH=${PATH}:/usr/local/mysql/bin
这样就可以直接在命令行中使用mysql命令。
常用命令
- 登录数据库
mysql -u root -p
数据库命令行操作记得加分号;
-
show databases;
展示已有库 -
use MyTest;
使用数据库 -
show tables;
展示表 - 建表
DROP TABLE IF EXISTS hybridpkgrecord;
CREATE TABLE hybridpkgrecord(
id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, # 主键
uid INT(11) NOT NULL DEFAULT 0, # 创建者id
createtime DEC(20) NOT NULL DEFAULT 0, # 创建时间
modifytime DEC(20) NOT NULL DEFAULT 0 # 修改时间
)DEFAULT CHARSET=UTF8 TYPE=INNODB;
CREATE TABLE Orders(
id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, # 主键
OrderNo INT(4) NOT NULL DEFAULT 0,
id_P INT(4) NOT NULL DEFAULT 0,
update_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
)
- 修改表 -> 添加字段
alter table hybridpkgrecord add ext_info varchar(200) not null default 0;
// 添加多个字段 用, 分割
alter table hybridpkgrecord add ext_info_1 varchar(200) not null default '',add province varchar(30);
- 修改原有字段名称及类型:
ALTER TABLE bulletin CHANGE uid username VARCHAR(50) NOT NULL DEFAULT '';
一些tips
VARCHAR可存储汉字长度
(来源贴在底部)
MySQL 中的 VARCHAR(255) 可以存放 1 - 255 个 UTF-8 格式的汉字 ...
latin1 字符集最多可以存放 85 个 UTF-8 格式的汉字 ...
utf-8 字符集最多可以存放 255 个 UTF-8 格式的汉字 ...
占2个字节的:〇
占3个字节的:基本等同于GBK,含21000多个汉字
占4个字节的:中日韩超大字符集里面的汉字,有5万多个
一个utf8数字占1个字节
一个utf8英文字母占1个字节
连接Navicat
总是敲命令行,有时候还是没有可视化直观。
打开Navicat,我的版本是11.1.8。
连接时可能会报一个错❌
Client does not support authentication protocol requested by server; consider upgrading MySQL client
这是因为MySQL8换了加密插件,数据库管理客户端都来不及更新,连接方式缺乏sha2的加密方式
网上的有些解决方案已经不适合这个版本,例如
set password for 'root'@'localhost'=old_password('密码');
解决方案一:
alter user '用户名'[@localhost](http://tieba.baidu.com/home/main?un=localhost&fr=pb&ie=utf-8) IDENTIFIED WITH mysql_native_password by '你的密码';
解决方案二:
安装的时候这里选第二个
(这里是系统偏好设置里Mysql Initialie Database处的截图,但是就是这个地方的选择导致了旧版的客户端不能连接上)
参考链接
用命令创建MySQL数据库
Navicat链接问题
MySql 建表、添加字段、修改字段、添加索引SQL语句写法
mysql 中的varchar255 uft-8 的格式到底能放多少汉字
网友评论