Navicat 基于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;
--------------------- 
作者:Magic_miao 
来源:CSDN 
原文:https://blog.csdn.net/Magic_miao/article/details/54237149 
版权声明:本文为博主原创文章,转载请附上博文链接!

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值