Navicat 与命令速查

Navicat 与命令速查

第2章讲的是图形化操作,第4章讲的是 SQL。这一页把两种方式对照起来,再加上命令行与导入导出的常用写法。

一、Navicat 常用操作路径

要做的事界面路径
连接 MySQL连接 → MySQL → 填主机 localhost、端口 3306、用户名 root、密码 → 测试连接
新建数据库右键连接 → 新建数据库 → 填库名 → 字符集选 utf8mb4、排序规则 utf8mb4_general_ci
新建表双击打开库 → 右键「表」→ 新建表 → 填字段名/类型/长度 → 设主键 → 保存并命名
设主键 / 自增表设计器里勾选「主键」,整型字段可勾选「自动递增」
插入数据双击打开表 → 点「+」新增行 → 填值 → 点「✓」保存
执行 SQL点工具栏「查询」→ 新建查询 → 写 SQL → 运行(Ctrl+R)
导入数据右键表 → 导入向导 → 选择 Excel/CSV/SQL → 下一步直到完成
导出数据右键表 → 导出向导 → 选择格式(SQL/Excel/CSV)→ 设置路径 → 完成
备份 / 还原右键数据库 → 转储 SQL 文件 → 结构+数据;还原同样右键运行 SQL 文件

二、同一件事:GUI 与 SQL 对照

依据第2章与第4章课件整理
操作Navicat 操作对应 SQL
建库右键连接 → 新建数据库CREATE DATABASE 库名;
建表右键表 → 新建表 → 设计字段CREATE TABLE 表名(…);
加字段表设计器里加一行ALTER TABLE 表名 ADD 字段 类型;
改类型表设计器里改类型ALTER TABLE 表名 MODIFY 字段 新类型;
删表右键表 → 删除DROP TABLE 表名;
插数据双击表 → + → 填值INSERT INTO 表名 VALUES(…);
改数据双击单元格直接改UPDATE 表名 SET 字段=值 WHERE 条件;
删数据选中行 → 删除DELETE FROM 表名 WHERE 条件;
查数据查询 → 新建查询SELECT … FROM …;
导入右键表 → 导入向导LOAD DATA / source 文件.sql
导出右键表 → 导出向导mysqldump 或 SELECT … INTO OUTFILE

三、命令行与导入导出

SHELL
-- 连接
mysql -u root -p
mysql -u root -p 软件4班              -- 直接进某个库

-- 执行 SQL 文件
mysql -u root -p 软件4班 < D:/data/学生表.sql
source D:/data/学生表.sql;             -- 在 mysql> 里执行

-- 备份整库 / 单表
mysqldump -u root -p 软件4班 > D:/bak/软件4班.sql
mysqldump -u root -p 软件4班 学生表 > D:/bak/学生表.sql

-- 只备份结构(不导数据)
mysqldump -u root -p --no-data 软件4班 > D:/bak/结构.sql

-- 导出查询结果
SELECT * FROM 学生表 INTO OUTFILE 'D:/data/out.csv'
FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n';

-- 导入 CSV
LOAD DATA LOCAL INFILE 'D:/data/students.csv'
INTO TABLE 学生表
FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n'
IGNORE 1 LINES;

四、数据类型怎么选

类型说明
int整型,4 字节,适合年龄、数量
decimal(m,n)定点小数,精确无误差,金额与成绩首选
char(n)定长字符串,长度不足补空格,适合学号、性别这类定长值
varchar(n)变长字符串,按实际长度占用,适合姓名、地址
date日期 yyyy-mm-dd
datetime日期时间 yyyy-mm-dd hh:mm:ss
text长文本,适合备注、文章内容

五、字符集与校对规则

依据第2章 2.1.3 与 2 章建库部分的课件
字符集说明适用
latin1MySQL 默认字符集,不能存汉字仅英文
gb2312简体中文字符集,排序规则 gb2312_chinese_ci纯中文作业环境
utf8mb4完整 UTF-8,可存中文与 emoji推荐,最通用
一句话记住建库时写 character set utf8mb4,基本不会再有中文乱码问题;_ci 结尾的排序规则不区分大小写。