导入、导出脚本
导入
(1)txt文本
步骤:新建查询 --> ctrl+A --> ctrl+C --> ctrl+V

sql脚本
(1)导入
步骤:右击表 选中 --> 运行SDL文件


(2)导出
表列表 --> 全选 --> 右击 选中 --> 转储SDL文件【不同版本Navicat或者多工具之间转储的SQL脚本存在兼容性的问题】




存储引擎
MySQL的存储引擎种类
MylSAM,InnoDB(mysql默认的存储引擎)
Mysql中的存储引擎(InnoDB,MylSAM)的区别

InnoDB,MylSAM应用场景的区别

MySQL的存储引擎命令与配置
(1)查询引擎命令
可以写一个%或两个%%,一个%就是查询%之前的

(2)mysql中的默认引擎的配置
Mysql的安装目录中的my.ini配置文件

存储引擎实战-指定表的存储引擎
存储引擎的创建指令


DML
数据新增-单条数据
![]()



数据新增-多条数据
(1)第一种方式
INSERT INTO t_person(name,pwd,weight,height) VALUES('xx1','12345','123','78');
INSERT INTO t_person(name,pwd,weight,height) VALUES('xx2','12345','123','78');
INSERT INTO t_person(name,pwd,weight,height) VALUES('xx3','12345','123','78');
INSERT INTO t_person(name,pwd,weight,height) VALUES('xx4','12345','123','78');
(2)第二种方式
INSERT INTO t_person(name,pwd,weight,height) VALUES('xx55','12345','123','78'),
('xx66','12345','123','78'),('xx77','12345','123','78');


数据更新
(1)条件是id为100的那条记录,修改它的weight的字段的属性值
![]()
(2)条件是id为103的那条记录,修改它的weight,height,name字段的值【顺序随意】
![]()
(3)条件为id104,105,106的记录列表,修改对应的weight,height

(4)条件为所有的记录,修改所有记录对应的weight字段的值

数据删除
(1)删除某个id【一般都会写主键的属性,精准定位】

(2)删除大于某个id的所有id

(3)删除小于等于某个id的所有id

(4)删除某个id和某个id之间的id,包含这两个id

(5)删除不在某个(id,id)之中的id

(6)删除在某个(id,id)之中的id

DQL
什么是查询
(1)它是有结果集的【对比增删改 增删改是无结果集的】
(2)sql中的查询结果 是一种虚拟存在的表【不是真实存在数据库中的】
(3)sql中的查询可以通过自定义设置的维度展示【查询一个字段或是多个字段可以人为设置】
查询机制简介

场景:select * from user where id = 010;
(1)当id不是主键的时候,而where子句id作为条件的时候,数据库的查询机制是全表扫描
(2)当id是主键的时候,并且where子句id作为条件的时候,数据库的查询机制是索引机制
查询语法
select<列|函数...>
from 表名
where 条件
order by 条件|字段(两种形式展示:升序asc ---【默认升序】,降序desc) ---> 分组
查询行与列
-- 查询所有的列和所有的行
SELECT * FROM student;
-- 查询所有的列和所有的行
SELECT a.studentNo,a.loginPwd,a.studentName,a.sex,a.gradeId,a.address,a.bornDate,a.email,a.identityCard FROM student AS a;
-- 查询部分行对应的所有列
SELECT * FROM student WHERE studentNo IN (10001,20000);
-- 查询部分行的部分列
SELECT studentNo,sex FROM student WHERE studentNo IN (10001,20000);

查询-列别名
核心要点:给表名或是列名设置别名【as可以省略】

常用函数——聚合函数
-- 求平均值
SELECT AVG(score) FROM t_scores;
-- 求行数(第一种一般不会用,第三种用的最多)
SELECT COUNT(score) FROM t_scores;
SELECT count(*) FROM t_scores;
SELECT COUNT(1) FROM t_scores;
-- 求某张表中某个字段的最大值/最小值
SELECT MAX(score) FROM t_scores;
SELECT MIN(score) FROM t_scores;
-- 求和
SELECT SUM(score) FROM t_scores;

常用函数——字符串函数

-- 字符串连接
SELECT CONCAT('my','father');
-- 字符串替换
SELECT INSERT('这是SQL SERVER数据库',3,10,'Myaql');
-- 字符串大写转小写
SELECT LOWER('MYsql');
-- 字符串小写转大写
SELECT UPPER('mysql');
-- 字符串截取
SELECT SUBSTRING('javamysqloracle',3,5);

常用函数——时间日期函数

-- 获取当前日期
SELECT CURDATE();
-- 获取当前时间
SELECT CURTIME();
-- 获取当前日期和时间(等价于1和2)
SELECT NOW();
-- 获取当前日期处于一年中的第几周
SELECT WEEK(NOW());
-- 获取当前日期的年份
SELECT YEAR(NOW());
-- 获取当前时间的时
SELECT HOUR(NOW());
-- 获取当前时间的分
SELECT MINUTE(NOW());

常用函数——数学函数

-- 向上取整(整数特例)
SELECT CEIL(2.8);
-- 向下取整
SELECT FLOOR(2.9);
-- 随机
SELECT RAND();

ORDER BY子句
-- 升序
SELECT * FROM t_scores ORDER BY score;
SELECT * FROM t_scores ORDER BY score ASC;
-- 降序
SELECT * FROM t_scores ORDER BY score DESC;

LIMIT语法结构

SELECT * FROM student;
-- 获取表中前2条记录
SELECT * FROM student LIMIT 2;
SELECT * FROM student LIMIT 4;
-- 获取表中从0开始2行的记录
SELECT * FROM student LIMIT 0,2;
SELECT * FROM student LIMIT 1,3;

子查询
子查询定义
定义:嵌套在增删改查语句中或者嵌套在其他子查询中是一种语句结构
子查询语法
![]()
子查询注意点
(1)将子查询和比较运算符联合使用,必须保证子查询返回的值不能多于一个
(2)子查询的执行顺序是由内向外执行
子查询案例-问题

-- 查询 student表
SELECT * FROM student;
-- 查询李斯文出生日期时间
SELECT bornDate FROM student WHERE studentName = '李斯文';
-- 1993-07-23 00:00:00
-- 筛选出生日期比李斯文大的学生
SELECT * FROM student WHERE bornDate > '1993-07-23 00:00:00';
-- 使用子查询实现筛选
SELECT * FROM student WHERE bornDate > (SELECT bornDate FROM student WHERE studentName = '李斯文');

本文详细介绍了如何在MySQL中进行脚本导入和导出,包括SQL脚本操作、存储引擎(如InnoDB和MylSAM)的应用场景、区别以及配置。此外,涵盖了数据操作(DML)如添加、更新和删除的数据处理方法,以及DQL查询的各个方面,包括子查询的使用实例。

被折叠的 条评论
为什么被折叠?



