数据库编程初步.doc_第1页
数据库编程初步.doc_第2页
数据库编程初步.doc_第3页
数据库编程初步.doc_第4页
数据库编程初步.doc_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一、 关系数据库的基本概念1、 数据库:通常由多个相互之间存在各种关系的数据表构成2、 数据表:数据表同普通表格一样是二维的,。数据记录相当于普通表格的表行,数据字段相当于普通表格的表列。3、 主码:用于区分不同的数据记录4、 外码:建立数据表之间的联系二、 SQL Server的数据类型分类备注和说明数据类型说明二进制数据类型存储非子符和文本的数据Image可用来存储图像文本数据类型字符数据包括任意字母、符号或数字字符的组合Char固定长度的非 Unicode 字符数据Varchar可变长度非 Unicode 数据Nchar固定长度的 Unicode 数据Nvarchar可变长度 Unicode 数据Text存储长文本信息Ntext存储可变长度的长文本日期和时间日期和时间在单引号内输入Datetime 日期和时间数字数据该数据仅包含数字,包括正数、负数以及分数intsmallint整数floatreal数字货币数据类型用于十进制货币值MoneyBit数据类型表示是/否的数据Bit存储布尔数据类型三、 通配符通配符解释示例_一个字符A Like C_ %任意长度的字符串B Like CO_% 括号中所指定范围内的一个字符C Like 9W01-2不在括号中所指定范围内的一个字符D Like %A-D1-2四、 基本语句1、 插入行语句INSERT INTO 列名 VALUES INSERT INTO Students (SName,SAddress,SGrade,SEmail,SSEX) VALUES (张青裁,上海松江,6,ZQCS,0) 2、 插入多行INSERT INTO (列名)SELECT FROM INSERT INTO TongXunLu (姓名,地址,电子邮件) SELECT SName,SAddress,SEmailFROM Students3、 更新数据行UPDATE SET WHERE UPDATE ScoresSET Scores = Scores + 5WHERE Scores = 954、 删除数据行DELETE FROM WHERE TRUNCATE TABLE 5、 查询SELECT FROM WHERE ORDER BY ASC或DESCSELECT SCode,SName,SAddress FROM Students WHERE SSEX = 0 ORDER BY SCode6、 查询全部行和列SELECT * FROM Students 7、 查询部分行和列SELECT SCode,SName,SAddress FROM StudentsWHERE SAddress = 河南新乡8、 使用AS来命名列SELECT SCode AS 学员编号,SName AS学员姓名,SAddress AS 学员地址 FROM StudentsWHERE SAddress 河南新乡9、 使用=来命名列SELECT 姓名 = FirstName+.+LastName FROM Employees10、 查询空行SELECT SName FROM Students WHERE SEmail IS NULL11、 使用常量列SELECT 姓名=SName,地址= SAddress,河北新龙 AS 学校名称FROM Students12、 限制固定行SELECT TOP 5 SName, SAddressFROM Students WHERE SSex = 013、 返回百分之多少行SELECT TOP 20 PERCENT SName, SAddressFROM Students WHERE SSex = 014、 升序排列SELECT StudentID As 学员编号,(Score*0.9+5) As 综合成绩FROM ScoreWHERE (Score*0.9+5)60ORDER BY Score15、 降序排列SELECT Au_Lname +. +Au_fName AS EMP From Authors UnionSELECT fName +.+ LName AS EMP From EmployeeORDER BY EMP DESC16、 按多列排序SELECT StudentID As 学员编号, Score As 成绩FROM ScoreWHERE Score60ORDER BY Score,CourseID17、 字符串函数函数描述举例CHARINDEX用来寻找一个指定的字符串在另一个字符串中的起始位置SELECT CHARINDEX(ACCP,My Accp Course,1)返回:4 LEN返回传递给它的字符长度SELECT LEN(SQL Server课程)返回:12LOWER把传递给它的字符串转换为小写SELECT LOWER(SQL SERVER课程)返回:sql serve课程UPPER把传递给它的字符串转换为大写SELECT UPPER(sql serve课程)返回:SQL SERVER课程LTRIM清除字符右边的空格SELECT LTRIM ( 周智宇 )返回:周智宇 (后面的空格保留)RTRIM请除字符右边的空格SELECT RTRIM ( 周智宇 )返回: 周智宇(前面的空格保留)REPLACE替换一个字符串中的字符SELECT REPLACE(莫乐可切.杨可,可,兰)返回:莫乐兰切.杨兰RIGHT从字符串右边返回指定数目的字符SELECT RIGHT(买卖提.吐尔松,3)返回:吐尔松STUFF在一个字符串中,删除指定长度的字符,并在该位置插入一个新的字符串SELECT STUFF(ABCDEFG, 2, 3, 我的音乐我的世界)返回:A我的音乐我的世界EFG18、 日期函数函数描述举例GETDATE取消当前的系统日期SELECT GETDATE()返回:今天的日期DATEADD将指定的数值添加到指定的日期部分后的日期SELECT DATEADD(mm,4,01/01/99)返回:以当前的日期格式返回05/01/99DATEDIFF两个日期之间的指定日期部分的区别SELECT DATEDIFF(mm,01/01/99,05/01/99)返回:4DATENAME日期中指定日期部分的字符串形式SELECT DATENAME(dw,01/01/2000)返回:SaturdayDATEPART日期中指定日期部分的整数形式SELECT DATEPART(day, 01/15/2000)返回:1519数学函数函数描述举例ABS取数值表达式的绝对值SELECT ABS(-43)返回:43CEILING返回大于或等于所给数字表达式的最小整数SELECT CEILING(43.5)返回:44FLOOR取小于或等于指定表达式的最大整数SELECT FLOOR(43.5)返回:43POWER取数值表达式的幂值SELECT POWER(5,2)返回:25ROUND将数值表达式四舍五入为指定精度SELECT ROUND(43.543,1)返回:43.5Sign对于正数返回+1,对于负数返回-1,对于0则返回0SELECT SIGN(-43)返回:-1Sqrt取浮点表达式的平方根SELECT SQRT(9)返回:320、系统函数函数描述举例CONVERT用来转换数据类型SELECT CONVERT (VARCHAR (5),12345)返回:字符串12345CURRENT_USER返回当前用户的名字SELECT CURRENT_USER返回:你登录的用户名DATALENGTH返回用于指定表达式的字节数SELECT DATALENGTH (中国A盟)返回:7HOST_NAME返回当前用户所登陆的计算机的名字SELECT HOST_NAME()返回:你所登录的计算机的名字SYSTEM_USER返回当前所登录的用户名称SELECT SYSTEM_USER返回:你当前所登录的用户名USER_NAME从给定的用户ID返回用户名SELECT USER_NAME(1)返回:从任意数据库中返回“dbo”21、模糊查询LIKESELECT SName AS 姓名 FROM Students WHERE SName LIKE 张%22、模糊查询 IS NULLSELECT SName As 姓名 SAddress AS 地址 FROM Students WHERE SAddress IS NULL23、模糊查询 BETWEENSELECT StudentID, Score FROM SCore WHERE Score BETWEEN 60 AND 8024、模糊查询 INSELECT SName AS 学员姓名,SAddress As 地址 FROM Students WHERE SAddress IN (北京,广州,上海) 25、聚合函数 SUMSELECT SUM(ytd_sales) FROM titles WHERE type = business25、聚合函数 AVGSELECT AVG(SCore) AS 平均成绩 From Score WHERE Score =6026、聚合函数 MIN MAXSELECT AVG(SCore) AS 平均成绩, MAX (Score) AS 最高分, MIN (Score) AS 最低分 From Score WHERE Score =6027、聚合函数 COUNTSELECT COUNT (*) AS 及格人数 From Score WHERE Score=6028、内表连接SELECT S.SName,C.CourseID,C.Score From Score AS CINNER JOIN Students AS SON C.StudentID = S.SCode29、三表连接SELECT S.SName AS 姓名, CS.CourseName AS 课程, C.Score AS 成绩FROM Students AS S INNER JOIN Score AS C ON (S.SCode = C.StudentID)INNER JOIN Course AS CS ON (CS.CourseID = C.CourseID)30、左外连SELECT S.S

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论