mysql语句注释
利用注释备注信息(注释用的6 也可以造成SQL注入)
-- 这是行注释,这一行从这里开始的SQL语句都不会被执行
# 这也是行注释,这一行从这里开始的SQL语句都不会被执行
/*
这是块注释,写在里面的SQL语句都不会被执行
*/
navicat 的基本使用
我们使用 navicat 这个数据库图形化界面管理软件来简化数据库操作,提高开发效率
特色(个人总结)
就现阶段用到而言
把许多数据库基本操作语句用 鼠标点点点 的方式完成,并且可以看到操作对应的 sql 语句
有语法提示
有关键字颜色标识,不容易打错字单词
模型功能(设计、分析数据关系十分便利)
导入导出功能十分强大
支持多种数据库服务器(可以保存连接,点击登录)
navicat 官方使用手册写的还是挺详细的,图文结合,想要详细了解可以戳过去看看
此部分仅作为个人 navicat 使用快速查阅区
有些部分比较简单,就只写了一个标题,表示必须步骤
可以支持很多种数据库,可视化客户端界面
与数据服务器建立连接
创建&打开数据库、表
创建
选中上一级对象右键新建...
数据库连接 > 数据库 > 数据表 > 表记录 (忽略其他对象)
打开
直接双击数据库、表即可(像windows操作文件目录一样)
修改操作表结构
修改表结构
查询修改操作表数据
基本语句对应的操作
忘了这里是打算写什么了,先空着吧...
模型 ***** 特色功能
从数据库建立模型
模型页面基本操作
常用功能个人小结
鼠标放在表上可以看到与之关联的表
鼠标放在线上可看到关联关系(外键)
双击表可以改表结构
右键重命名可以改表名
右下角有历史记录区,可回退
如图标注移动与整理格式视图功能
与库表结构之间的相互转换
用模型设计数据库并导出
打开模型视图
在工作区创建表
创建表字段关联(外键)
将模型导出
可以导出数据库,也可导出表
结构、数据导入导出
导出
注意对象(库、表)
导入
一般导出的sql 文件中都有drop ... if exisists .... ,用之前慎重
附属小功能
刷新小按钮
点击刷新小图标
或者选中对应对象右键刷新
查看操作对应sql语句
很多地方都有这个SQL预览
执行时间查看
可以对自己的 sql 语句性能有个粗略评估
手动筛选数据
练习
数据准备
create database day38;
create table test(
id int primary key auto_increment,
name varchar(32),
sex enum('male', 'female', 'others') default 'male' not null
);
insert into test values(''), ('');
使用SQL语句导入表结构与数据
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&