SQL必须掌握的基础知识
- 格式:doc
- 大小:39.00 KB
- 文档页数:5
第七课T-SQL语言基础课前导读基础知识重点知识基础知识SQL语言概述。
重点知识数据类型、常量、运算符和常用函数,读者应结合上机实战熟练相关操作。
课堂讲解在SQL Server 2000中,企业管理器是一个功能强大、操作方便的图形化管理工具,几乎所有的操作都可以在其中完成,但它仍不能完全取代SQL语句。
无论是SQL Server 2000,还是在其他的数据库中,SQL都扮演了重要的角色,要成为一名突出的数据库开发人员,首先就应该掌握SQL语言。
本课将介绍SQL语言的基本概况、数据类型、常量、运算符和常用函数等内容。
SQL语言概述数据类型常量运算符常用函数SQL语言概述SQL是Structured Query Language(结构化查询语言)的缩写,是关系数据库使用的标准数据库查询语言。
SQL在20世纪70年代由IBM开发出来,随着关系数据库管理系统的不断推出,SQL语言被广泛应用。
由于关系数据库供应商都根据需要定义了自己的SQL语法规则,例如,Microsoft使用的SQL为Transact-SQL(简称T-SQL),Oracle使用的SQL为SQL-Plus。
为了统一各种数据库产品中SQL语法,ANSI(American National Standard Institute,美国国家标准局)制定了SQL语言标准。
最早的ANSI标准于1986年完成,它也被叫做SQL-86,目前新的SQL标准是1992年制定的SQL-92。
很显然,各个数据库供应商不可能抛弃自己的专长来适应ANSI标准,所以业界使用的SQL语言基本上是以SQL-92为基础,在加上各供应商自己的特有语法。
所以,SQL语言标准有“业界标准”和“ANSI标准”之分。
SQL语言具有“非过程性”的特点,使用SQL编写的程序不能独立运行,必须在特定的数据库管理系统中使用,这与“过程性”的高级程序设计语言,如VB、VC等不同。
SQL语言中的语言可从功能上分为3类:数据定义语言DDL(Data Definition Language)、数据处理语言DML(Data Manipulation Language)和数据控制语言DCL(Data Control Language)。
第一章数据库基础知识本章以概念为主,主要是了解数据库的基本概念,数据库技术的发展,数据模型,重点是关系型数据。
第一节:信息,数据与数据处理一、信息与数据:1、信息:是现实世界事物的存在方式或运动状态的反映。
或认为,信息是一种已经被加工为特定形式的数据。
信息的主要特征是:信息的传递需要物质载体,信息的获取和传递要消费能量;信息可以感知;信息可以存储、压缩、加工、传递、共享、扩散、再生和增值2、数据:数据是信息的载体和具体表现形式,信息不随着数据形式的变化而变化。
数据有文字、数字、图形、声音等表现形式。
3、数据与信息的关系:一般情况下将数据与信息作为一个概念而不加区分。
二、数据处理与数据管理技术:1、数据处理:数据处理是对各种形式的数据进行收集、存储、加工和传输等活动的总称。
2、数据管理:数据收集、分类、组织、编码、存储、检索、传输和维护等环节是数据处理的基本操作,称为数据管理。
数据管理是数据处理的核心问题。
3、数据库技术所研究的问题不是如何科学的进行数据管理。
4、数据管理技术的三个阶段:人工管理,文件管理和数据库系统。
第二节:数据库技术的发展一、数据库的发展:数据库的发展经历了三个阶段:1、层次型和网状型:代表产品是1969年IBM公司研制的层次模型数据库管理系统IMS。
2、关系型数据型库:目前大部分数据库采用的是关系型数据库。
1970年IBM公司的研究员E.F.Codd提出了关系模型。
其代表产品为sysem R和Inges。
3、第三代数据库将为更加丰富的数据模型和更强大的数据管理功能为特征,以提供传统数据库系统难以支持的新应用。
它必须支持面向对象,具有开放性,能够在多个平台上使用。
二、数据库技术的发展趋势:1、面向对象的方法和技术对数据库发展的影响:数据库研究人员借鉴和吸收了面向对旬的方法和技术,提出了面向对象数据模型。
2、数据库技术与多学科技术的有机组合:3、面向专门应用领域的数据库技术三、数据库系统的组成:数据库系统(DBS)是一个采用数据库技术,具有管理数据库功能,由硬件、软件、数据库及各类人员组成的计算机系统。
SQL Server 的基础知识一、数据类型字符型数据char[(n)]:存在固定长度的n个字符数据varchar[(n)]:存放可变长度的n个字符数据text:存放最大长度为2^31-1的字符数据Unicode数据Nchar[(n)]:存放固定长度的n个UNICODE数据Nvarchar[(n)]:存放可变长度的n个UNICODE数据NTEXT日期和时间数据datetime:存放入1753/1/1到9999/12/31的时间数据smalldatetime:存放从1900/1/1到2079/6/6的时间数字型数据bigint:存放从-2^63到2^63的整型数据int:存放人-2^31到2^63的整型数据smallint:存放从-2^15到2^15的整型数据tinyint:存放2从0到255的整型数据decimal[p[,s]]]、numeric[(p[,s])]:固定精度的小数据,当取最大精度时范围从-10^38-1到10^38-1float[(n)]:存放的浮点数real:存放浮点数货币数据money:smallmoney:二、建表CREATE TABLE语句例:create talbe customers(customerid intidentity(1,1)primary key,fristName varchar(20) not null,lastName varchar(20) not null,Address varchar(100),City varchar(20),Tel varchar(20) UNIQUE,Company varchar(50),Birthday datetime,Type tinyint default 1)Ceate table goods(Name varchar(20) constraint pk_goodsname primary key,Description varchar(200),Storage int,Supplier tinyint default(0),Price money)Create table orders(Ordered int identity(1,1) constraint pk_ordered primary key,Goodsname varchar(20) not nullForeignkey(customerid) references customers(customerid) on delete on action,Quantity int null constraint ck_quantity check(quantity>0),Ordersum money not null,Orderdate datetime default(getdate()))三、添加和删除列use marketalter table customers add emailaddress varchar(50) nullxonstraint ck_ea check(emailaddress like‟%@%‟)use marketalter table customers drop column emailaddress四、查询语句select …客户序号‟,customerid,firstname,lastname from customers在select _list中,可以使用算术运算符操纵列,对查询的结果进行计算,这种计算可以是针对多个列的。
sql 规则和范式
SQL规则和范式是数据库设计和管理中非常重要的概念。
首先,让我们来谈谈SQL规则。
SQL是结构化查询语言的缩写,它是一种
用于管理关系型数据库的标准化语言。
SQL规则是指在编写SQL语
句时需要遵循的一系列规则和约定,以确保数据库操作的准确性和
一致性。
这些规则包括语法规则、数据类型规则、约束规则等。
例如,SQL语句必须按照特定的语法结构编写,数据类型必须与字段
定义一致,约束条件必须满足数据库设计的要求等。
接下来是范式的概念。
范式是用来规范化数据库设计的一组原则,旨在减少数据冗余和提高数据的一致性。
常见的范式包括第一
范式(1NF)、第二范式(2NF)、第三范式(3NF)等。
第一范式要求每个字段具有原子性,不可再分;第二范式要求每个非主键字段
完全依赖于全部主键而不是部分主键;第三范式要求每个字段都直
接依赖于主键,而不是依赖于其他非主键字段。
在SQL中,范式的应用可以提高数据库的性能和可维护性,减
少数据冗余和提高数据的完整性。
但是,过度范式化也可能导致查
询性能下降,需要在设计数据库时权衡范式化和性能之间的关系。
总的来说,SQL规则和范式是数据库设计和管理中非常重要的概念,它们能够帮助我们设计出高效、可靠的数据库结构,提高数据的一致性和完整性。
在实际应用中,需要根据具体的业务需求和性能要求来灵活运用这些原则。
SQL查询语句基础DataTrans-1500服务器是用SQL Server服务器作数据的底层管理,当用户对DataTrans-1500服务器进行查询时,服务器通过mand命令文件以及.from检索途径对象来构造SQL查询语句,通过此SQL 查询语句来对SQL Server服务器发起检索。
DataTrans-1500服务器的系统管理员,了解、掌握SQL查询语句的语法,能更好的作好二次开发。
鉴于DataTrans-1500服务器系统管理员所作的二次开发只与查询语句有关,本章只介绍SQL查询语句中与SELECT语句有关的一些基础知识,以方便广大不熟悉SQL查询语言的DataTrans-1500服务器系统管理员。
有关SQL语言更详细的知识请查阅有关手册。
SQL(Struct Query Language)即结构化查询语言,它是使用关系模型的数据库应用语言,由IBM在70年代开发出来。
现在SQL结构化查询语言已经成为一个工业标准,几乎所有的数据库都支持它的查询,SQL Server更是如此。
SQL Server服务器中,用SELECT语句实现数据库的查询操作。
同时,它可以使用各种子句对查询结果进行分组统计、合计、排序等操作。
SELECT语句还可将查询结果生成另一个表(临时表或永久表)。
SELECT语句的语法格式为:SELECT [ALL|DISTINCT] select_list[INTO [new_table_name>[FROM{table_name|view_name}[(optimizer_hints)]<,{table_name2|view_name2}[(optimizer_hints)][…,{table_name16|view_name16}[(optimizer_hints)>][WHERE clouse][GROUP BY clause][HAVING clause][ORDER BY clause][COMPUTE clause][FOR browse]以上格式中,“[]”括的项表示可选项,大写的词为关键字,小写的词表示不确定的实体名称。
SQL必须掌握的基础知识
说明:SQL是操作数据库内容的,可以进行select查询检索,update修改,insert into添加,delete
删除
以下内容举例,均参考下表:
常用关键词含义的简单说明(不区分大小写)
SELECT ---------查询,检索数据库,从数据库表中检索数据行和列
INSERT --------添加数据,向数据库表添加新数据行
DELETE --------删除数据,从数据表中删除数据行
UPDATE --------更新数据库表中的数据
WHERE --------设置条件
以下内容都是在WHERE内使用
LIKE --------模糊查询
IN --------包含
BETWEEN --------在两者之间
TOP -----------前几条信息
LIMIT --------用于在MYSQL中设置显示的记录位置和数量
以上内容在WHERE内使用
ORDER BY --------设置排序规则,以下两个是它的两个规则
ASC --------排序规则为升序(默认),123456
DESC -------- 排序规则为降序,654321
SELECT 基本语句
主要被用来对数据库进行查询并返回符合用户查询标准的结果集。
最基本的SELECT 语句格式为:SELECT [ALL|DISTINCT] select_list
FROM table_list
[WHERE search_condition]
[GROUP BY group_by_expression]
[HAVING search_condition]
[ORDER BY order_list[ASC|DESC]]
其中[]内是可选内容,详细使用方法介绍如下:
[ALL|DISTINCT]:ALL显示表中满足条件的所有记录,DISTINCT删除查询结果中重复的记录,只返回满足条件的第一条记录。
[WHERE search_condition]:设置筛选条件,过滤掉不需要的记录。
WHERE子句可以包含以下各种运算符:1.比较运算符(大小比较):>、>=、=、<、<=、<>、!>、!<
2.范围运算符(表达式值是否在指定范围内):BETWEEN……AND……、NOT…
BETWEEN……AND……
3.列表运算符(判断表达式是否为列表中指定的项):IN(项1,项2,……)、NOT
IN(项1,项2,……)
4.模糊判断符(判断值是否与指定的字符匹配格式相符):LIKE、NOT LIKE
5.空值判断符(判断表达式是否为空):IS NULL、IS NOT NULL
6.逻辑运算符(用于多个条件的逻辑连接):NOT 、AND、OR
GROUP BY group_by_expression 根据group_by_expression 列中的值将结果集分成组。
HAVING search_condition 通常与GROUP BY配合使用,对结果集进行附加筛选。
如果不使用GROUP BY子句,HAVING与WHERE的作用一样。
HAVING与WHERE区别在于:WHERE子句搜索条件在进行分组操作之前应用,而HAVING搜索条件在进行分组之后应用。
HAVING通常作为SQL语句的最后一句。
ORDER BY order_list[ASC|DESC] 排序
以下内容[ ]中括号里面是可选内容,书写时不用带[ ]中括号
select * 解释:*代表所有字段
from 数据表
where 条件表达式
order by 字段名 [ASC/DESC]
答案如下:
Select * 注释:检索显示所有的字段
From NEWS 注释:来自表NEWS
Where leiid=1 注释:条件是分类leiid等于1
Order by id DESC 注释:排序进行倒序,654321的排列方法即为倒序。
select *
from 数据表
where 字段名 like %字段值%
order by 字段名 [ASC/DESC]
答案如下:
先设置一个变量:aaa=request.form(“titles”) 取得表单文本域titles传过来的值
select * 注释:检索显示所有字段
from NEWS 注释:来自表NEWS
where biaoti like %aaa% 注释:数据库字段biaoti包含变量aaa(AAA上面有解释),%所有字符order by id DESC
select *
from 数据表
where 字段名in(值1,值2,值3)
select *
from 数据表
where 字段名between 值1 and 值2
在MYSQL中取得前10条记录不能用TOP,而用
select *
from 数据表
where 字段名=字段值
order by 字段名 [desc] limit 0,10
SELECT 多表的基本语句
FROM可以读取两个或多个表,当用到字段的时候,写法是表名.字段名,中间用句点链接,公式如下:两个表或是多个表的联合
Select 表A.字段名1,表B.字段名1[,…….]
From 表A,表B[,…….]
Where表A.字段名1=表B.字段名1[AND/OR 表A.字段名2=表B.字段名2] [,…….]
UPDATE 更新数据基本语句
只要是提到更新数据,就要用到UPDATE。
以下是关于UPDATE的写法及实例
1.更新数据记录
(1)update 数据表
set 字段名=字段值
where 条件表达式
(2)update 数据表
set 字段1=值1,字段2=值2……字段n=值n
where 条件表达式
例子:update score set jishu=jishu+1 where id=1
DELETE 删除数据基本语句
只要是提到删除数据,就要用到delete。
以下是关于DELETE的写法及实例
删除数据记录
(1)delete from 数据表
where 条件表达式
(2)delete from 数据表(将数据表中所有记录删除)
例子:Delete from news where id=3101
INSERT INTO 添加数据基本语句
只要是提到添加数据,就要用到insert into。
以下是关于insert into的写法及实例
添加数据记录
(1)insert into 数据表(字段1,字段2,字段3…)values(值1,值2,值3…)
(2)insert into 目标数据表 select * from 源数据表 (把源数据表的记录添加到目标数据表)
例子:
INSERT INTO news(biaoti,neirong)
V ALUES (‘学习编程’,’学习编程重要的是学会分析’)
Where id=1
聚合函数的用法
AVG([ALL|DISTINCT]字段名)得出一个表格栏平均值
COUNT([ALL|DISTINCT]*|字段名)对数据行数的统计或对某一栏有值的数据行数统计
MAX(字段名)取得一个表格栏最大值
MIN(字段名)取得一个表格栏最小值
SUM([ALL|DISTINCT]字段名)把数据栏的值相加
解释[ALL|DISTINCT]:ALL显示表中满足条件的所有记录,DISTINCT删除查询结果中重复的记录,只返回满足条件的第一条记录。
聚合函数用法举例如下:
1.在FILM表中查询每个影院总的票款
Select sum(单价*卖出票数) as 票款,影院
From film
Group by 影院
2.统计FILM中有几家影院
Select count(didtinct 影院) as 影院个数
From film
3.统计片名为A1的影片在各影院平均卖出的票数
Select AVG(卖出票数) AS 平局卖出票数,影院
From film
Where 片名=”A1”
GROUP BY 影院
4.统计片名为A1的影片在各个影院卖出票数的最大值。
Select AVG(卖出票数) AS卖出票数
From film
Where 片名=”A1”。