`
mili_qm
  • 浏览: 6238 次
  • 性别: Icon_minigender_2
  • 来自: 广州
社区版块
存档分类
最新评论

数据库回顾总结

阅读更多
数据库
1.SQL:结构化查询语言
  MYSQL:是基于客户机和服务机的数据库;

2.MYSQL工具:
mysql命令行使用程序;
MySQL Administrator
MySQL QueryBrowser

3.使用MySQL:
show databases显示所有可用的数据库;
用USE选择一个数据库;
show tables显示数据库里的所有的表;
show columns from table_name显示表里面的列;

4.SQL是不区分大小写的;

5.distinct关键字只返回不同的值,必须直接放在列名前面且不能部分使用;
  select distinct city_name from city;

6.limit限制返回的结果的行数;
Select * from city
Limit 5,4;
表示返回从第五行开始四行数据;

7.order by排序:
Order by子句中使用的列可以是非显示的列;
给多个列排列时,按照列名的顺序,按照第一个列名排序,然后在相同的列名数据中按照第二个列名排序;
默认为升序,降序DESC,升序ASC;
使用order by 和limit的组合,可以找出列中最高或者最低的值,先排序,再输出几行数据,所以先order by,再 limit;
使用order by 和where的组合,应该让order by位于where之后,对挑选出来的数据进行排序才符合常理。

8.SQL过滤和应用软件过滤
虽然数据可以在SQL和客户机进行过滤,但在客户机过滤明显浪费流量,增加了应用软件的复杂性,增加了响应时间,所以数据过滤应尽可能在SQL完成;

9.在使用where子句时,对于字符串要用单引号括起来,数值列则不用;
Where price between 5 and 8;
Where name is null;
Null是一个具有特殊类型的值,在过滤时要特意指出来;

10.任何时候使用and和or的条件组合子句时,都要用括号括出正确的计算顺序,虽然默认是and先再or;

11.In where 子句功能与or相似,但它的效率比or高;
Where price in(5,7)==where price =5 or price =7;
用圆括号括出想要的值;
IN的最大优点是可以包含其他select语句。

12.使用通配符进行过滤
LIKE操作符与通配符‘%’(可以匹配多个字符)和‘_’(只能匹配单个字符)
Where name like  ‘jet%’;(搜索词是区分大小写的)
通配符的搜索花费时间比较长,刻意替代时不要过度使用。
通配符不能用来匹配null值。

13.正则表达式:(用来匹配文本的特殊的字符集合)
用正则表达式模板也是网站检查用户输入数据格式常用方式;
Regexp 匹配不区分大小写,regexp binary 区分大小写;
Where name regexp ‘an’;(返回所有包含an的值);
Where name regexp ‘a|b|c’;(返回所有包含a或者b或者c的值);
Where name regexp’[123] Tom’(返回123其中某个与TOM的值,匹配123其中之一)
Where name regexp’[^123] Tom’(除123之外的值)
Regexp[1-9][a-z]匹配从1到9或者a到z的值;
Regexp’.’匹配任意字符;
Regexp’\\.’匹配’.’字符,特殊字符要用\\标出来。\\f换页\\n换行\\\匹配反斜杠本身……
匹配自定义的字符类!!!预定义的字符集
[:digit:]匹配任意字符。
[]表示集合;
{n}指定数目的匹配;
?匹配前一个字符出现0次或者1次;
+匹配前一个字符至少出现1次;
*匹配前一个字符出现任意次;
^在集合中表否定,否则表示字符串的开头;
$表示字符串的结尾;
不需要注意通配词的位置,正则表达式可能内部调用了模板,所以性能会比较低;
正则式匹配是个很多样化的使用

14.我们需要直接从数据库中检索出转换,计算或者格式化过的数据,而不是检索出数据,然后再在客户机应用程序中重新格式化;在数据库服务器上完成这些操作比在客户机中完成要快得多,因为DBMS就是设计来快速有效地完成这种处理的;

15.创建新的字段
多数DBMS使用+或者||实现拼接,MySQL使用Concat()函数来实现,将多个串连接起来形成一个较长的串,各个串之间用逗号分隔。
Select concat(name,’(‘,ID,’)’)
RTrim()和LTrim()函数去除右边或者左边的空格;
使用别名:A AS B
对于数值类的列合并直接在用加减乘除;

15.日期和时间处理函数
Where Date(date)=’2015-10-19’;
Where Time(time)=’12:03:10’;
最好用这两个函数来判断日期或者时间;

16.AVG()求平均值的函数
如果有where子句则只是求where子句挑选出来的值的平均值;
忽略NULL值;

17.count()计数函数
Count(*)计算表中所有行的数目;
Count(列名)计算该列的行数,忽略NULL值;

18.分组数据,group by (分组)和having(过滤分组)
先group by分组再对分组后的数据使用聚集函数,所以group by子句中不能出现聚集函数;
Group by 在where后面出现,where过滤出行,先选择出数据再进行分组,再用having过滤分组;
NULL值作为一个分组出现;
Group by 子句中出现的列必须是检索列或有效的表达式;
分组后要记得排序,group by应该和order by一起用,先分组后排序,order by应该在group by之后。

19.子查询的两种用法:
1)利用子查询进行过滤;
2)子查询的结果作为列;

20.通过在表的定义中指定主键和外键,可以维护引用完整性,即假如在产品表中设供应商表的主键为外键,那么产品表中供应商那一列的值必须在供应商表中出现。

21.在联结两个表时,实际上是将第一个表的每一行和第二个表的每一行都进行配对,即得到两个表的笛卡儿积,然后在用where子句把符合条件的数据过滤出来。

22.表可以用AS取别名,但是表别名只在查询执行中使用,与列别名不一样,表别名不返回到客户机中。

23.三种联结方式:
1)等值联结/内联结:常用的联结类型,先得出笛卡儿积,然后选择满足条件的行;
(where A.a=B.a)(from A inner join B on A.a=B.a)
2)自然联结:要求两个表有相同的列,而在返回的结果中会去掉重复的列;(natural join)
SELECT *
FROM authors NATURAL JOIN publishers
3)外联结:结果中返回所有的行,尽管有些行不满足条件;
(from A outer join B on A.a=B.a)
左外联结,让左边的表保留所有行,右外联结让右边的表保留所有行
(from A left outer join B on A.a=B.a ||from A right outer join B on A.a=B.a)

24.UNION union 组合查询,起到类似where的效果
将多个选择语句的结果合并成一个集合,所以每个选择语句必须是相同的检索列;
Union默认删除重复行,有需要可以用 union all 显示所有行;
Union 在两个select语句中间,order by子句只出现一次,在最后,对所有的结果进行排序;

25.MySQL的内部引擎,用来管理和处理数据:
InnoDB:是一个可靠的事务处理引擎,但不支持全文本搜索;
MEMORY:功能上等同于MyISAM,但数据存储在内存中,速度快,但使用与临时表;
MyISAM:不支持事务处理,但是支持全文本搜索;

26.对于表的修改,一般是用来定义外键
Alter table orderitems
Add constraint fk_orderitems_orders
Foreign key (order_num) references orders(order_num);

Drop column删除列

27.视图
视图是一个虚拟的表,是对SQL语句的封装。
Create view name as...(查询语句)
然后用这个视图来代替复杂的查询语句;
虽然对视图的操作跟对表的操作基本没有差别,可以用来嵌套联结之类的,
但是视图不是真实存在的,对视图的调用其实是对视图下定义的SQL的调用,所以当多个视图嵌套之类使用时会使性能下降;
Show create view name;用来显示定义视图的SQL语句;

分享到:
评论

相关推荐

    数据库复习总结.zip

    - "数据库3 SQL总结.docx"可能包含了SQL语言的详细总结,包括基本语法、高级查询技巧和优化策略。 - ".md"文件可能是Markdown格式的学习笔记,简洁易读,覆盖了数据库理论和实践内容。 - ".pdf"文件通常包含更...

    2021年空间数据库实习总结.docx

    空间数据库实习总结 空间数据库是GIS(地理信息系统)的核心组成部分,用于存储、管理和处理地理空间数据。在2021年的实习中,我们通过ArcCatalog和ArcGIS软件平台深入实践了空间数据库的建立和管理。这两个工具是...

    2008主流数据库产品回顾与展望.doc

    数据库产品回顾与展望 本资源总结了 2008 年数据库产品的发展和展望,对 Oracle、IBM 和微软等主要商用数据库厂商的产品发布和发展进行了分析和评价。 知识点 1:数据库市场份额 * 2007 年,Oracle 以 48.6% 的...

    《数据库原理及应用》复习资料(全)

    数据库重点知识提纲则是一个总结性的工具,它列出了课程的关键点,方便学生快速回顾和复习。 总的来说,《数据库原理及应用》的复习资料是深入理解和掌握数据库技术的重要资源。通过学习这些内容,学生不仅能熟练...

    数据库参考答案.zip

    通过复习这些文件,学生可以全面回顾数据库课程的关键内容,熟悉考试的题型和解题技巧,从而提高应试能力。同时,"数据库复习.txt"可能包含了对上述知识点的总结和重点提示,是复习的重要辅助材料。而“数据库参考...

    《数据库系统概论》复习总结.docx

    《数据库系统概论》是计算机领域中的一门重要课程,本文将对《数据库系统概论》进行总结和回顾,从概念模型、ER 图、数据库系统结构、数据库管理系统的概念、逻辑数据模型等方面进行讲解。 一、概念模型 概念模型...

    【第一讲连接数据库】-01F-总结与拓展练习.rar

    在本资源"【第一讲连接数据库】-01F-总结与拓展练习.rar"中,主要涵盖的是关于数据库连接的基础知识及其应用的总结与拓展。这个压缩包包含了一个名为"01F-总结与拓展练习.swf"的文件,很可能是一个Flash动画或交互式...

    数据库系统概念第六版英文精编版课后习题答案(总结大全版)

    这份"数据库系统概念第六版英文精编版课后习题答案(总结大全版)"是学习过程中不可或缺的参考资料,它涵盖了所有习题的详尽解答,帮助读者巩固理解和深化对数据库原理及应用的理解。 首先,让我们回顾一下数据库...

    精编《数据库系统概论》王珊第五版第7章数据库设计1资料.ppt

    - **小结**:对设计过程进行回顾和总结,评估设计效果并进行必要的优化。 数据库设计是一个系统性和实践性极强的过程,需要理论知识与实践经验相结合。在设计时,设计师必须全面考虑数据的生命周期,从需求分析到...

    vc++6.0数据库课程设计

    最后,在【总结】中,通常会回顾项目开发过程,评估系统性能,指出可能存在的问题以及改进方案,总结经验教训,为后续类似项目提供参考。 这个课程设计全面涵盖了数据库应用系统的基本开发流程,包括需求分析、设计...

    《MySQL数据库入门》教学设计.docx

    一、回顾上节课内容,继续讲解MySQL的使用 《MySQL数据库入门》教学设计全文共7页,当前为第3页。 (1)对上节课留的作业进行答疑 (2)明确学习目标 1、掌握如何通过Windows服务管理器和DOS命令启动MySQL服务。 2、...

    《数据库系统概论》复习总结.rar

    这份复习总结PDF文件很可能是对这门课程内容的高度提炼和综合回顾,旨在帮助学习者巩固知识,准备考试或者进一步研究。 在数据库系统中,我们首先会接触到的是基本术语和概念,比如数据库(DB)、数据库管理系统...

    软考中级数据库系统工程师备考资料——xmind思维导图(配合第四版教程)

    大家好,我是CodeMak1r。上一篇博客距今已经有20天了,最近在备考5月的软考中级《数据库系统工程师》。...内容精确到了历年考点,以及各个知识点的联系,很适合备考数据库的同学学习和回顾知识点,希望大家能够喜欢~

    基于数据库的管理系统

    这份报告可能详细阐述了项目的开发背景、目标、技术选型、实施步骤、遇到的挑战及解决方案,以及项目的成果和反思,对于回顾和总结整个课程设计具有重要意义。 总的来说,【基于数据库的管理系统】项目涉及了数据库...

    大数据-算法-全国多中心肾癌诊治资料分析及北京协和医院肾癌数据库的建立——10年经验回顾总结.pdf

    大数据-算法-全国多中心肾癌诊治资料分析及北京协和医院肾癌数据库的建立——10年经验

    数据库系统原理实验报告及源码

    6. 实验总结:回顾实验过程,总结所学知识,反思遇到的困难,提出改进方案。 源码部分通常包含实现上述操作的SQL脚本,比如创建表的DDL语句、插入数据的DML语句,以及可能的复杂查询语句。通过阅读和执行这些源码,...

    复旦大学的数据库课件

    复习提纲和课程实习文档则提供了对整个课程的总结和实践指导。复习提纲可能包括主要知识点、公式和案例,帮助学生系统回顾;课程实习则提供了实际操作的机会,让学生通过动手实践来巩固理论知识。 2002年的PPT课件...

    大连理工大学数据库课件

    17. **复习与总结**:回顾整个课程的重点内容,为考试做准备。 这些PPT课件将为初学者提供全面而系统的数据库学习路径,从基本概念到高级主题,帮助你建立起扎实的数据库理论基础,并具备实际操作能力。

    数据库大作业-学生宿舍管理系统.rar

    在本项目中,我们关注的是一个名为“学生宿舍...它是对整个项目实施的总结,有助于学习者回顾和反思。 通过这个课程设计,学生将深入理解数据库系统的核心原理,同时锻炼实际操作技能,为未来的职业生涯打下坚实基础。

    Oracle数据库经典学习教程

    1. 回顾ADO.NET 112 2. 使用ADO.NET连接Oracle 113 3. 抽象工厂中加入Oracle 117 4. 本章总结 121 5. 本章练习 122 数据库导入导出 124 1. Oracle导入导出 125 2. EXP导出数据 125 3. IMP导入 128 4. 常见问题 128

Global site tag (gtag.js) - Google Analytics