SQL首次瞎写之------------基础知识(1)

本科是学过这门课 却只是坐在后面和儿子一起玩,哈哈终于明白当年自己欠的帐还是要还的~

那么开始咯!

呃呃,这次是先简单的过一遍,很多细节先略过没有时间啦~~

结构化查询语言是  Structured Query Language 简称SQL(发音:/ˈes kjuː ˈel/ "S-Q-L"),是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。 结构化查询语言是高级的非过程化编程,面向问题编程,只需要知道把大象装进冰箱就好,不需要只需要三步和需要的是哪三步~

【一些基础概念】

1.catalog/database数据库

2.table表

3.column列

4.datatype数据类型

5.record记录

6.primarykey主键

7.表关联

8.索引 index

【语句主要功能】

SQL语句具有4个主要功能:

1、  创建数据库并定义表的结构;

2、  查询需要的数据;

3、  更新或者删除、修改指定的数据;

4、  控制数据库的安全。

三种方式执行SQL

1.  在工具中执行

如:各个DBMS几乎都提供了工具用于执行SQL语句,比如MicrosoftSQL Server的Management Studio、DB2的命令中心、Oracle的SqlPlus或者MySQL的QueryBrowser。

2、  以编译的方式嵌入到语言中

把SQL直接写到代码中,在编译的时候由编译器来决定和数据库的交互方式。

3、 以字符串的形式嵌入到语言中。

写到代码中,由代码将其提交到DBMS,并且分析返回的结果。

【增删改查】

插入  INSERT INTO Table ()values()

删除 DELETE From Table where parameter = #

更新 UPDATE Table set parameter = #

查询 SELECT * From Table;

【数据汇总】 

SQL提供了一些聚合函数完成计算统计结果集条数、某个字段的最大值、某字段的最小值、平均值以及求和等数据统计的功能。SQL标准中规定了几种聚合函数:

函数名: MAX  MIN  AVG  SUM  COUNT

(不做解释)

【高级数据过滤】四种:通配符过滤、多值检测、数据分组、HAVING语句

1、  通配符过滤:SQL中的通配符过滤使用LIKE关键字

例子:

SELECT * FROM Student

WHERE name LIKE  " XXX "

1.1  单通配符过滤:使用半角下划线“_” 表示任意一个字符,如   "杨_" 姓杨名一个字的名字

1.2  多字符匹配:使用半角百分号“%”表示任意多个字符  ,如"杨%" 姓杨的所有名字

1.3  集合匹配:使用“[]”,还可以使用否定符“^”来对集合取反。如“[^bt]%”代表,匹配第一个字符不为b或者t、长度不限的字符串。

集合匹配只在MSSQLServer上提供支持,不过在其他数据库中我们可以通过变通手段来实现相同的效果。

通配符过滤是一个非常强大的功能,不过在使用通配符过滤进行检索的时候,数据库系统会对全表进行扫描,所以执行速度非常慢。

2、  多值检测

使用方法为“IN (值1,值2,值3)”

WHERE name IN(张三,李四,王五)

3、  数据分组

数据分组用啦将数据分为多个逻辑组,从而可以对每个组进行聚合运算。SQL语句中使用GROUP BY子句进行分组。

4、  HAVING语句

有的时候需要对部分分组进行过滤,HAVING语句能够使用的语法和where几乎是一样的。

【限制结果集行数】

如:MSSQLServer 2000中提供了TOP关键字用来返回结果集中的前N条记录。

【数据库分页】

在进行信息检索的时候,检索结果的数量通常会非常多,达到成百上千条。甚至更多,这么多的检索结果同时显示在同一个界面中,不仅查看起来非常麻烦,而且过多的数据显示在界面上也会造成占用过多的系统资源。解决这个问题的最常用方案就是数据库分页。

【抑制数据重复】

DISTINCT关键字是用来进行重复数据抑制的最简单的功能,而且所有的数据库系统都支持DISTINCT,DISTINCT的使用也非常简单,只要在SELECT之后增加DISTINCT即可。






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值