首页 > 数据库 > MySQL >

MySQL基于Navicat的基本操作技巧

2017-01-09

MySQL基于Navicat的基本操作技巧。Navicat常用快捷键:ctrl+q 打开查询窗口;ctrl+ 注释;ctrl +shift+ 解除注释;ctrl+r 运行选中的SQL语句。

MySQL基于Navicat的基本操作技巧

ctrl+q 打开查询窗口
ctrl+/ 注释
ctrl +shift+/ 解除注释
ctrl+r 运行选中的SQL语句
ctrl+l 删除选中行内容
ctrl+d 复制当前行内容并粘贴到下一行
ctrl+w 关闭当前查询窗口

数据库完整性:指存在数据库中的数据的准确行和可靠性;
数据库完整性的分类:实体完整性、域完整性、引用完整性
实体完整性:指数据表中的数据保持唯一性、不重复,可使用primarykey或unique约束;即行内容的完整性
域完整性:数据表中的字段要符合逻辑要求,是有效的数据,可添加check或default约束,列数据的完整性;
引用完整性:数据库表与表之间的字段是有联系的,可用foreign key约束;

DBMS:关系型数据库管理系统
SQL:结构化查询语言;
JDBC:一种用于执行SQL语句的jav API,由一组用java语言编写的类和接口组成;

增删库表、字段、索引等操作

CREATE/DROP DATABASE增删数据库;
CREATE/DROP table 增删表;
ALTER TABLE stu ADD st_age int;增加年龄字段;
ALTER TABLE stu ADD st_age;删除学生字段;
ALTER TABLE stu ADD INDEX(st_name);添加索引;
ALTER TABLE stu DROP INDEX st_id;删除索引;
DML:增、删、改
DQL:查

select * from t_stu ;–这样查询慢
select s_name from t_stu;– 这样快
insert into t_stu(sname,sage)value(‘王欢’,23)—增加
delete from t_stu where sage = 22;–删除
update t_stu set sage=25 where sname =’唐强’;-修改

常用的关键字:

like%/like_、BETWEEN AND、in、is null、desc、DISTINCT、group by、limit
SELECT sname from stu where sname like ‘王欢’;– 只能查到两个王欢
SELECT sname from stu where sname like ‘王欢%’;– 模糊查询 ,查到三个王欢
SELECT DISTINCT sname from stu where sname like ‘王欢’;– like 和=的作用好像一样?
SELECT sname,sscore from stu where sscore BETWEEN 0 and 60;– 这里的数字必须是BETWEEN 小 AND 大,才能有查询结果
SELECT sname,sscore from stu where sscore in(89,90);– 只能查找分数为89和90的人
SELECT sname,sscore from stu GROUP BY sscore DESC LIMIT 0,5;– 查看班上前5名的成绩
SELECT sname,sscore from stu where sscore is null;– 查看没有成绩的
SELECT sname,sscore from stu where sscore is not null;– 查看有成绩的
SELECT SUM(sscore),AVG(sscore),MAX(sscore),MIN(sscore) from stu;– 查看总成绩、平均成绩、最高成绩、最低成绩
SELECT sname,sscore from stu GROUP BY sscore desc;– 按成绩分组倒序排列成绩;默认为升序ASC

聚合函数:
SUM()、AVG()、COUNT、MAX()、MINI()
select count(score) from stu;– 求总分数
select avg(score) from stu;– 求平均值
select sum(score) from stu;– 求总分数
SELECT sname,sscore from stu where sscore in(SELECT MAX(sscore) from stu);– 查询分数最高的人的姓名 和成绩;

SQL执行顺序 F-W-G-S-H-O

第一步: 执行FROM
第二步: WHERE条件过滤T
第三步: GROUP BY 分组
第四步: 执行SELECT投影列
第五步:HAVING条件过滤
第六步: 执行ORDER BY 排序

注意!! :在分组查询中,能够查询的字段只能是分组字段和聚合函数
WHERE运行在分组前,故后面不能有聚合函数,HAVING运行在分组后,只能作聚合函数的过滤

CASE WHEN THEN

这同java种的switch有点相似
select a.*,(CASE WHEN gender = ‘男’ THEN ‘帅哥’
ELSE ‘美女’
END)’称呼’,
(CASE WHEN height = 180 THEN ‘高’
ELSE ‘低’
END)’身高’
from t_student a;

相关文章
最新文章
热点推荐