数据库学习必须的参考文档

来源:互联网 发布:淘宝内莎琪儿内衣模特 编辑:程序博客网 时间:2024/04/27 20:40

                 

 

 

 

 

 

单行

Insert into <表名> (列名)

Value <值列表>

 Insert into studentsnamesaddresssgradesemailssex

 Values  (‘张青栽’,‘上海松江’,6,‘ZQC@sohu.com,0

 

 

 

 

 

 

多行

Insert into <表名> (列名)

Select <列名> from <源表名>

Insert into Tongxuelu(’姓名’,’地址’,’电子邮件’)

Select SName.SAddress.SEmail From Student

Select <表名.列名>

Into <表名>

From <源表名>

Select  Student.SName.Students.SAddress.Studens.SEmail

Into    tongxuelu

From    Students

 

 

 

插入新的标识列

Select identity(数据类型,标识种子,标识增长量)AS 列名

 

Into 新表 from 原始表

Insert into<列名> (表名)

Select <列名>union

Select <列名>union

Insert studentssnamesGradeSSex

Select ‘测试女生1’,70 union

Select ‘测试女生2’,70 union

。。。。。。。

Select ‘测试女生3’,70 union

     

 

 

 

 

 

 

 

 

 

 

 

 

   

 

更新

UPDATE<表名>

SET<列名 = 更新值>

[WHERE<更新条件>]

UPDATE     Scores

SET         Scores=Scores+5

WHERE     Scores<=95

 

删除

 

DELETE<表名>

[WHERE<删除条件>]

DELETE FROM      Students

WHERE             SName=’张青裁

 

TRUNCATE TABLE<表名>

TRUNCATE  TABLE  Students

SELECT<列名>FROM<表名>[WHERE<查询条件表达式>][ORDER BY<排序的列名>[ASCDESC]]

查询全部的行和列

SELECT * FROM Students

查询部分行

SELECT SCode,SName,SAddress FROM Students

WHERE SAddress=’河南新乡

使用AS来命名列

SELECT FirstName+’.’+LastName AS’姓名

FROM Employees

使用=来命名列

SELEC’姓名’=FirstName+’.’+LestName

FROM Employees

查询空行

SELECT SName FROM Students WHERE SEmail IS NULL

SELECT SName FROM Students WHERE SEmail IS NOT NULL

使用常量列

SELECT 姓名=SName,地址=SAddress,’河北新龙’AS 学校名称 FROM Students

限制行数

5

SELECT TOP 5 SName,SAddress

FROM Students WHERE SSex=0

20%

SELECT TOP 20 PERCENT SName,SAddress

FROM Students WHERE SSex=0

升序降序排列

ASC(默认)/DESC

聚合函数

SUM

SELECT SUMytd_salesFROM titles WHERE type=’business’

AVG

SELECT AVG(SCore)AS 平均成绩 From Score WHERE Score>=60

MAX

COUNT

SELECT AVG(SCore)AS平均成绩,MAX(Score)AS 最高分,MIN(Score)AS最底分 From Score WHERE Score>=60

COUNT

SELECT COUNT(*)AS及格人数FromScore WHERE Score>=60

分组查询

GROUP/

BY

SELECT StudentIDAS 学员编号,CourseID AS 内部测试,AVG(Score)AS 内部测试平均成绩 FROM Score

GROUP BY StudentID,CourseID

HAVING COUNT(Score)>1

HAVING

       

多表连接查询

 

 

 

内联接

(INNER JOIN)

 

WHERE子语句中

指定连接条件

SELECT     Students.SName,Score.CourseID,Score.Score

FROM       Students,Score

WHERE     Students.SCode=Score.StudentID

 

FROM子句中

使用JOIN…ON

SELECT     S.SName,C.CourseID,C.Score

FROM       Score  AS  C

INNER JOIN  Students  AS C

ON          C.StudentID=S.SCode

 

 

外联接

(OUTER JOIN)

 

左外连接

(LEFT JOIN)

SELECT      S.SName,C.CourseID,C.Score

FROM        Students  AS  S

LEFT OUTER JOIN  Score  AS  C

ON C.StudentID = S.SCode

 

右外连接

(RIGHT JOIN)

SELECT      Titles.Titles_id,Title,Publishers.Pub_name

FROM        titles

RIGHT OUTER JOIN  Publishers

ON           Titles.Pub_id = Publishers.Pub_id

完整外连接

(FULL JOIN)

 

交叉联结(CROSS JOIN)

 

字符串函数

CHARINDEX

用来寻找一个指定的字符串在另一个字符串中的起始位置

SELECT CHARINDEX(‘ACCP,’’My Accp Course’,1)

返回4

LEN

返回传递给它的字符串长度

SELECT LEN(‘SQL Server课程’)

返回 12

LOW

把传递给它的字符串转换为小写

SELECT LOWER(‘SQL Server课程’)

返回 sql server课程

UPPER

把传递给它的字符串转换为大写

SELECT UPPER(‘SQL Server课程’)

返回 sql server课程

LTRIM

清除字符左边的空格

SELECT LTRIM(‘周智宇’)

返回 周智宇  (后面的空格保留)

RTRIM

清楚字符右边的空格

SELECT RTRIM(‘周智宇’)

返回    周智宇(前面的空格保留)

RIGHT

从字符串右边返回指定数目的字符

SELECT RIGHT(‘买卖提.吐尔松’,3)

返回 吐尔松

LEFT

从字符串左边返回指定数目的字符

SELECT LEFT(‘买卖提.吐尔松’,3)

返回 买卖提

REPLACE

替换一个字符串中的字符

SELECT REPLACE(‘莫可可切.杨可’,’’,’’)

返回 莫乐兰切.杨兰

STUFF

在一个字符串中,删除指定长度的字符;并在该位置插入一个新的字符串

SELECT STUFF(‘ABCDEFG’,2,3,’我的音乐我的世界’)

返回 A我的音乐我的世界EFG

     

日期函数

Year(yy,yyyy) quarter(qq,q) Month(mm,m) day of year(dy,y) Day(dd,d) Week(wk,ww) weekday(dw) Hour(hh) minute(mi,n) second(ss,s) millisecond(ms)

getdate

取得当前的系统日期

Select getdate()  返回:今天的日期

dateadd

将指定的数值添加到指定的日期部分后的日期

Select dateadd(mm,4,’01/01/99’)

返回:以当前的日期格式返回05/01/99

datediff

两个日期之间的指定日期部分的区别

Select datediff(mm,’01/01/99’,’05/01/99’)  返回:4

datename

日期中指定日期部分的字符串形式

Select datename(dw,’01/01/2000’)  返回:Saturday

datepart

<span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt%