下載地址:https://pan.baidu.com/s/1bpo5mqjhtml
下載完以後,直接解壓出來就能用,看一下解壓以後的目錄:mysql
雙擊打開下面這個文件(能夠把它添加一個桌面快捷方式,或者添加到任務欄):sql
而後會提示你輸入註冊碼:數據庫
回到navicat的解壓出來的文件夾裏面,有個叫作key.txt的文件,打開,裏面有註冊碼ide
將這個註冊碼copy到輸入註冊碼的地方:工具
點擊肯定就能打開使用了:會顯示出來下面的界面spa
既然是mysql客戶端,咱們須要鏈接mysql服務端.net
在彈出的界面輸入mysql服務端的ip地址和端口,還有mysql用戶名和密碼命令行
上面的步驟點擊肯定就建好一個數據庫了:翻譯
而後咱們到上面的數據庫裏面新建一張表
這個表就生成了:
不信咱們去命令行看一看:這個表就存在了
關於排序和校驗:
https://www.jb51.net/article/48775.htm
https://www.cnblogs.com/adforce/p/3282404.html
之後咱們直接就使用這個工具來操做數據庫就能夠了,由於命令行操做仍是比較噁心的
而後咱們看看創建外鍵
而後點擊保存,起一個表名,就有了這個表了
而後雙擊上面的表名就能夠插入數據了
比方說咱們上面這個dep表的id字段沒有設置自增,我想改一下,讓它這個id字段變爲自增的怎麼辦
設計表:
那咱們該怎麼辦呢,直接刪除這個表而後從新建立嗎?你另一個關聯表確定不讓你這麼作,因此你須要先將那個關聯表的外鍵關係先取消,或者先將那個外鍵關聯表刪除
而後把這個關聯表的外鍵刪除,而後保存
而後再去咱們想給id字段加上自增的那個dep表裏面把id字段設置爲自增,保存,而後在從新將emp表外鍵到dep的id字段上
而後給dep表插入幾條數據
這個工具還能將你的表之間的關係經過圖形的形式來給你展現:
點擊這個ER圖,二者的關係圖就顯示出來了,那麼未來你的表不少的時候,你就能夠經過這個圖來查看本身表和表之間的關係,看效果:
若是咱們點擊兩個表之間的線,是能夠看到二者之間的關係的:
還能夠選擇上面的模型來直接創做圖表,建立表之間的關係
可是上面咱們創建的這個模型,是不能直接建立到數據庫裏面的,須要將它以sql的形式導入,而後把導出的sql語句,到數據庫裏面去執行
而後導出保存到一個地方
打開咱們導出的文件,看一下里面的內容
你看,就是我們建立的模型翻譯成的sql語句,複製一下這些sql語句,但mysql裏面去執行一下,就等到咱們模型裏面的兩個表了,是否是很方便
Navicat工具還能寫原生sql語句來進行數據庫的操做
就看到一個輸入sql語句的界面了:
而後寫一個sql語句試一下:
而後運行一下:
咱們還能夠將以前數據庫中導出來的數據,以sql文件的形式經過navicat導入到數據庫中:看步驟
假如咱們有一個從數據庫中導入的文件,文件名稱爲init.sql,裏面的內容就下面的東東
/* 數據導入: Navicat Premium Data Transfer Source Server : localhost Source Server Type : MySQL Source Server Version : 50624 Source Host : localhost Source Database : sqlexam Target Server Type : MySQL Target Server Version : 50624 File Encoding : utf-8 Date: 10/21/2016 06:46:46 AM */ SET NAMES utf8; SET FOREIGN_KEY_CHECKS = 0; -- ---------------------------- -- Table structure for `class` -- ---------------------------- DROP TABLE IF EXISTS `class`; CREATE TABLE `class` ( `cid` int(11) NOT NULL AUTO_INCREMENT, `caption` varchar(32) NOT NULL, PRIMARY KEY (`cid`) ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8; -- ---------------------------- -- Records of `class` -- ---------------------------- BEGIN; INSERT INTO `class` VALUES ('1', '三年二班'), ('2', '三年三班'), ('3', '一年二班'), ('4', '二年九班'); COMMIT; -- ---------------------------- -- Table structure for `course` -- ---------------------------- DROP TABLE IF EXISTS `course`; CREATE TABLE `course` ( `cid` int(11) NOT NULL AUTO_INCREMENT, `cname` varchar(32) NOT NULL, `teacher_id` int(11) NOT NULL, PRIMARY KEY (`cid`), KEY `fk_course_teacher` (`teacher_id`), CONSTRAINT `fk_course_teacher` FOREIGN KEY (`teacher_id`) REFERENCES `teacher` (`tid`) ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8; -- ---------------------------- -- Records of `course` -- ---------------------------- BEGIN; INSERT INTO `course` VALUES ('1', '生物', '1'), ('2', '物理', '2'), ('3', '體育', '3'), ('4', '美術', '2'); COMMIT; -- ---------------------------- -- Table structure for `score` -- ---------------------------- DROP TABLE IF EXISTS `score`; CREATE TABLE `score` ( `sid` int(11) NOT NULL AUTO_INCREMENT, `student_id` int(11) NOT NULL, `course_id` int(11) NOT NULL, `num` int(11) NOT NULL, PRIMARY KEY (`sid`), KEY `fk_score_student` (`student_id`), KEY `fk_score_course` (`course_id`), CONSTRAINT `fk_score_course` FOREIGN KEY (`course_id`) REFERENCES `course` (`cid`), CONSTRAINT `fk_score_student` FOREIGN KEY (`student_id`) REFERENCES `student` (`sid`) ) ENGINE=InnoDB AUTO_INCREMENT=53 DEFAULT CHARSET=utf8; -- ---------------------------- -- Records of `score` -- ---------------------------- BEGIN; INSERT INTO `score` VALUES ('1', '1', '1', '10'), ('2', '1', '2', '9'), ('5', '1', '4', '66'), ('6', '2', '1', '8'), ('8', '2', '3', '68'), ('9', '2', '4', '99'), ('10', '3', '1', '77'), ('11', '3', '2', '66'), ('12', '3', '3', '87'), ('13', '3', '4', '99'), ('14', '4', '1', '79'), ('15', '4', '2', '11'), ('16', '4', '3', '67'), ('17', '4', '4', '100'), ('18', '5', '1', '79'), ('19', '5', '2', '11'), ('20', '5', '3', '67'), ('21', '5', '4', '100'), ('22', '6', '1', '9'), ('23', '6', '2', '100'), ('24', '6', '3', '67'), ('25', '6', '4', '100'), ('26', '7', '1', '9'), ('27', '7', '2', '100'), ('28', '7', '3', '67'), ('29', '7', '4', '88'), ('30', '8', '1', '9'), ('31', '8', '2', '100'), ('32', '8', '3', '67'), ('33', '8', '4', '88'), ('34', '9', '1', '91'), ('35', '9', '2', '88'), ('36', '9', '3', '67'), ('37', '9', '4', '22'), ('38', '10', '1', '90'), ('39', '10', '2', '77'), ('40', '10', '3', '43'), ('41', '10', '4', '87'), ('42', '11', '1', '90'), ('43', '11', '2', '77'), ('44', '11', '3', '43'), ('45', '11', '4', '87'), ('46', '12', '1', '90'), ('47', '12', '2', '77'), ('48', '12', '3', '43'), ('49', '12', '4', '87'), ('52', '13', '3', '87'); COMMIT; -- ---------------------------- -- Table structure for `student` -- ---------------------------- DROP TABLE IF EXISTS `student`; CREATE TABLE `student` ( `sid` int(11) NOT NULL AUTO_INCREMENT, `gender` char(1) NOT NULL, `class_id` int(11) NOT NULL, `sname` varchar(32) NOT NULL, PRIMARY KEY (`sid`), KEY `fk_class` (`class_id`), CONSTRAINT `fk_class` FOREIGN KEY (`class_id`) REFERENCES `class` (`cid`) ) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=utf8; -- ---------------------------- -- Records of `student` -- ---------------------------- BEGIN; INSERT INTO `student` VALUES ('1', '男', '1', '理解'), ('2', '女', '1', '鋼蛋'), ('3', '男', '1', '張三'), ('4', '男', '1', '張一'), ('5', '女', '1', '張二'), ('6', '男', '1', '張四'), ('7', '女', '2', '鐵錘'), ('8', '男', '2', '李三'), ('9', '男', '2', '李一'), ('10', '女', '2', '李二'), ('11', '男', '2', '李四'), ('12', '女', '3', '如花'), ('13', '男', '3', '劉三'), ('14', '男', '3', '劉一'), ('15', '女', '3', '劉二'), ('16', '男', '3', '劉四'); COMMIT; -- ---------------------------- -- Table structure for `teacher` -- ---------------------------- DROP TABLE IF EXISTS `teacher`; CREATE TABLE `teacher` ( `tid` int(11) NOT NULL AUTO_INCREMENT, `tname` varchar(32) NOT NULL, PRIMARY KEY (`tid`) ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8; -- ---------------------------- -- Records of `teacher` -- ---------------------------- BEGIN; INSERT INTO `teacher` VALUES ('1', '張磊老師'), ('2', '李平老師'), ('3', '劉海燕老師'), ('4', '朱雲海老師'), ('5', '李傑老師'); COMMIT; SET FOREIGN_KEY_CHECKS = 1; 數據庫導出的文件
首先咱們新建一個庫:
而後選擇這個數據庫,點擊右鍵,選擇運行sql文件;
注意上面這一步,直接關閉就能夠了,不要再次點擊開始了
而後經過ER圖,來看看,各個表的關係就看的很清楚了。
咱們還能夠對sql語句進行註釋:選中語句而後ctrl+/就能多行註釋,ctrl+shift+/ 就能取消註釋
補充:關於把要建立的新數據經過navicat導入數據庫
好比你如今要建立這門一個數據庫,裏面有這麼些表:
CREATE TABLE class ( cid int(11) NOT NULL AUTO_INCREMENT, caption varchar(32) NOT NULL, PRIMARY KEY (cid) ) ENGINE=InnoDB CHARSET=utf8; INSERT INTO class VALUES (1, '三年二班'), (2, '三年三班'), (3, '一年二班'), (4, '二年九班'); CREATE TABLE course( cid int(11) NOT NULL AUTO_INCREMENT, cname varchar(32) NOT NULL, teacher_id int(11) NOT NULL, PRIMARY KEY (cid), KEY fk_course_teacher (teacher_id), CONSTRAINT fk_course_teacher FOREIGN KEY (teacher_id) REFERENCES teacher (tid) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; INSERT INTO course VALUES (1, '生物', 1), (2, '物理', 2), (3, '體育', 3), (4, '美術', 2); CREATE TABLE score ( sid int(11) NOT NULL AUTO_INCREMENT, student_id int(11) NOT NULL, course_id int(11) NOT NULL, num int(11) NOT NULL, PRIMARY KEY (sid), KEY fk_score_student (student_id), KEY fk_score_course (course_id), CONSTRAINT fk_score_course FOREIGN KEY (course_id) REFERENCES course (cid), CONSTRAINT fk_score_student FOREIGN KEY (student_id) REFERENCES student(sid) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; INSERT INTO score VALUES (1, 1, 1, 10), (2, 1, 2, 9), (5, 1, 4, 66), (6, 2, 1, 8), (8, 2, 3, 68), (9, 2, 4, 99), (10, 3, 1, 77), (11, 3, 2, 66), (12, 3, 3, 87), (13, 3, 4, 99), (14, 4, 1, 79), (15, 4, 2, 11), (16, 4, 3, 67), (17, 4, 4, 100), (18, 5, 1, 79), (19, 5, 2, 11), (20, 5, 3, 67), (21, 5, 4, 100), (22, 6, 1, 9), (23, 6, 2, 100), (24, 6, 3, 67), (25, 6, 4, 100), (26, 7, 1, 9), (27, 7, 2, 100), (28, 7, 3, 67), (29, 7, 4, 88), (30, 8, 1, 9), (31, 8, 2, 100), (32, 8, 3, 67), (33, 8, 4, 88), (34, 9, 1, 91), (35, 9, 2, 88), (36, 9, 3, 67), (37, 9, 4, 22), (38, 10, 1, 90), (39, 10, 2, 77), (40, 10, 3, 43), (41, 10, 4, 87), (42, 11, 1, 90), (43, 11, 2, 77), (44, 11, 3, 43), (45, 11, 4, 87), (46, 12, 1, 90), (47, 12, 2, 77), (48, 12, 3, 43), (49, 12, 4, 87), (52, 13, 3, 87); CREATE TABLE student( sid int(11) NOT NULL AUTO_INCREMENT, gender char(1) NOT NULL, class_id int(11) NOT NULL, sname varchar(32) NOT NULL, PRIMARY KEY (sid), KEY fk_class (class_id), CONSTRAINT fk_class FOREIGN KEY (class_id) REFERENCES class (cid) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; INSERT INTO student VALUES (1, '男', 1, '理解'), (2, '女', 1, '鋼蛋'), (3, '男', 1, '張三'), (4, '男', 1, '張一'), (5, '女', 1, '張二'), (6, '男', 1, '張四'), (7, '女', 2, '鐵錘'), (8, '男', 2, '李三'), (9, '男', 2, '李一'), (10, '女', 2, '李二'), (11, '男', 2, '李四'), (12, '女', 3, '如花'), (13, '男', 3, '劉三'), (14, '男', 3, '劉一'), (15, '女', 3, '劉二'), (16, '男', 3, '劉四'); CREATE TABLE teacher( tid int(11) NOT NULL AUTO_INCREMENT, tname varchar(32) NOT NULL, PRIMARY KEY (tid) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; INSERT INTO teacher VALUES (1, '張磊老師'), (2, '李平老師'), (3, '劉海燕老師'), (4, '朱雲海老師'), (5, '李傑老師');
那麼你須要下面這麼幾步:
1.用一個文本處理軟件(推薦notepad,能夠複製格式的)新建一個文本文件.
2.把上面的數據粘貼進去:
注:此時仍是不能導入進去的,導入進去回事失敗的
3.在整個文件最上方加入:
/* Navicat MySQL Data Transfer Source Server : 鏈接本機數據庫 Source Server Version : 50641 Source Host : 127.0.0.1:3306 Source Database : zuoye #數據庫名字在 Target Server Type : MYSQL Target Server Version : 50641 File Encoding : 65001 Date: 2018-12-11 09:58:18 #處處文件的時間 */ SET FOREIGN_KEY_CHECKS=0;
如:
4.在文件內容加入這些:
建立表時
-- ---------------------------- -- Table structure for `class` -- ---------------------------- DROP TABLE IF EXISTS `class`;
上面的class是變量,就是你要建立的表名字
插入數據時
-- ----------------------------
-- Records of class
-- ----------------------------
上面的class是變量,就是你要建立的表名字
5.把文件保存爲後綴爲.sql的文件
6.運行navicat,選擇一個數據庫,右鍵,選擇運行sql文件
這個文件就導入成功了,這些步驟的關鍵的與文件的處理,就是在數據表建立和插入數據的是要要加內容,以及整個文件頭要加的內容使文件結構化
另外導入也是同樣的道理,直接右鍵要導出的數據庫, 選擇轉儲sql文件,選擇儲存地址就能夠了
更多關於使用navicat導入文件的能夠參考:
https://blog.csdn.net/qq_39135287/article/details/80881746