sql语言学习

时间:2019-05-12 20:35:59下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《sql语言学习》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《sql语言学习》。

第一篇:sql语言学习

SQL语言学习

--语 句功 能

--数据操作

SELECT--从数据库表中检索数据行和列 INSERT--向数据库表添加新数据行

DELETE--从数据库表中删除数据行

UPDATE--更新数据库表中的数据

--数据定义

CREATE TABLE--创建一个数据库表

DROP TABLE--从数据库中删除表

ALTER TABLE--修改数据库表结构

CREATE VIEW--创建一个视图

DROP VIEW--从数据库中删除视图

CREATE INDEX--为数据库表创建一个索引 DROP INDEX--从数据库中删除索引

CREATE PROCEDURE--创建一个存储过程

DROP PROCEDURE--从数据库中删除存储过程 CREATE TRIGGER--创建一个触发器

DROP TRIGGER--从数据库中删除触发器

CREATE SCHEMA--向数据库添加一个新模式 DROP SCHEMA--从数据库中删除一个模式 CREATE DOMAIN--创建一个数据值域 ALTER DOMAIN--改变域定义

DROP DOMAIN--从数据库中删除一个域--数据控制

GRANT--授予用户访问权限

DENY--拒绝用户访问

REVOKE--解除用户访问权限

--事务控制

COMMIT--结束当前事务

ROLLBACK--中止当前事务

SET TRANSACTION--定义当前事务数据访问特征--程序化SQL

DECLARE--为查询设定游标

EXPLAN--为查询描述数据访问计划

OPEN--检索查询结果打开一个游标

FETCH--检索一行查询结果

CLOSE--关闭游标

PREPARE--为动态执行准备SQL 语句 EXECUTE--动态地执行SQL 语句

DESCRIBE--描述准备好的查询

---局部变量

declare @id char(10)

--set @id = '10010001'

select @id = '10010001'

---全局变量

---必须以@@开头

--IF ELSE

declare @x int @y int @z int

select @x = 1 @y = 2 @z=3

if @x > @y

print 'x > y'--打印字符串'x > y'

else if @y > @z

print 'y > z'

else print 'z > y'

--CASE

use pangu

update employee

set e_wage =

case

when job_level = ’1’ then e_wage*1.08

when job_level = ’2’ then e_wage*1.07

when job_level = ’3’ then e_wage*1.06

else e_wage*1.05

end

--WHILE CONTINUE BREAK

declare @x int @y int @c int

select @x = 1 @y=1

while @x < 3

begin

print @x--打印变量x 的值

while @y < 3

begin

select @c = 100*@x + @y

print @c--打印变量c 的值

select @y = @y + 1

end

select @x = @x + 1

select @y = 1

end

--WAITFOR

--例 等待1 小时2 分零3 秒后才执行SELECT 语句

waitfor delay ’01:02:03’

select * from employee

--例 等到晚上11 点零8 分后才执行SELECT 语句

waitfor time ’23:08:00’

select * from employee

***SELECT***

select *(列名)from table_name(表名)where column_name operator value

ex:(宿主)

select * from stock_information where stockid= str(nid)

stockname = 'str_name'

stockname like '% find this %'

stockname like '[a-zA-Z]%'---------([]指定值的范围)

stockname like '[^F-M]%'---------(^排除指定范围)

---------只能在使用like关键字的where子句中使用通配符)

or stockpath = 'stock_path'

or stocknumber < 1000

and stockindex = 24

not stocksex = 'man'

stocknumber between 20 and 100

stocknumber in(10,20,30)

order by stockid desc(asc)---------排序,desc-降序,asc-升序

order by 1,2---------by列号

stockname =(select stockname from stock_informationwhere stockid= 4)

---------子查询

---------除非能确保内层select只返回一个行的值,---------否则应在外层where子句中用一个in限定符

select distinct column_name form table_name---------distinct指定检索独有的列值,不重复select stocknumber ,“stocknumber + 10” = stocknumber + 10 from table_name

select stockname , “stocknumber” = count(*)from table_name group by stockname

---------group by 将表按行分组,指定列中有相同的值

having count(*)= 2---------having选定指定的组

select *

from table1, table2

where table1.id *= table2.id--------左外部连接,table1中有的而table2中没有得以null表示table1.id =* table2.id--------右外部连接

select stockname from table1

union [all]-----union合并查询结果集,all-保留重复行

select stockname from table2

***insert***

insert into table_name(Stock_name,Stock_number)value(“xxx”,“xxxx”)

value(select Stockname , Stocknumber from Stock_table2)---value为select语句

***update***

update table_name set Stockname = “xxx” [where Stockid = 3]

Stockname = default

Stockname = null

Stocknumber = Stockname + 4

***delete***

delete from table_name where Stockid = 3

truncate table_name-----------删除表中所有行,仍保持表的完整性

drop table table_name---------------完全删除表

***alter table***---修改数据库表结构

alter table database.owner.table_name add column_name char(2)null.....sp_help table_name----显示表已有特征

create table table_name(name char(20), age smallint, lname varchar(30))

insert into table_name select.........-----实现删除列的方法(创建新表)

alter table table_name drop constraint Stockname_default----删除Stockname的default约束

***function(/*常用函数*/)***

----统计函数----

AVG--求平均值

COUNT--统计数目

MAX--求最大值

MIN--求最小值

SUM--求和

--AVG

use pangu

select avg(e_wage)as dept_avgWage

from employee

group by dept_id

--MAX

--求工资最高的员工姓名

use pangu

select e_name

from employee

where e_wage =

(select max(e_wage)

from employee)

--STDEV()

--STDEV()函数返回表达式中所有数据的标准差

--STDEVP()

--STDEVP()函数返回总体标准差

--VAR()

--VAR()函数返回表达式中所有值的统计变异数

--VARP()

--VARP()函数返回总体变异数

----算术函数----

/***三角函数***/

SIN(float_expression)--返回以弧度表示的角的正弦

COS(float_expression)--返回以弧度表示的角的余弦

TAN(float_expression)--返回以弧度表示的角的正切

COT(float_expression)--返回以弧度表示的角的余切

/***反三角函数***/

ASIN(float_expression)--返回正弦是FLOAT 值的以弧度表示的角

ACOS(float_expression)--返回余弦是FLOAT 值的以弧度表示的角

ATAN(float_expression)--返回正切是FLOAT 值的以弧度表示的角

ATAN2(float_expression1,float_expression2)

--返回正切是float_expression1 /float_expres-sion2的以弧度表示的角

DEGREES(numeric_expression)

--把弧度转换为角度返回与表达式相同的数据类型可为

--INTEGER/MONEY/REAL/FLOAT 类型

RADIANS(numeric_expression)--把角度转换为弧度返回与表达式相同的数据类型可为

--INTEGER/MONEY/REAL/FLOAT 类型

EXP(float_expression)--返回表达式的指数值

LOG(float_expression)--返回表达式的自然对数值

LOG10(float_expression)--返回表达式的以10 为底的对数值

SQRT(float_expression)--返回表达式的平方根

/***取近似值函数***/

CEILING(numeric_expression)--返回>=表达式的最小整数返回的数据类型与表达式相同可为--INTEGER/MONEY/REAL/FLOAT 类型

FLOOR(numeric_expression)--返回<=表达式的最小整数返回的数据类型与表达式相同可为--INTEGER/MONEY/REAL/FLOAT 类型

ROUND(numeric_expression)--返回以integer_expression 为精度的四舍五入值返回的数据--类型与表达式相同可为INTEGER/MONEY/REAL/FLOAT 类型

ABS(numeric_expression)--返回表达式的绝对值返回的数据类型与表达式相同可为

--INTEGER/MONEY/REAL/FLOAT 类型

SIGN(numeric_expression)--测试参数的正负号返回0 零值1 正数或-1 负数返回的数据类型--与表达式相同可为INTEGER/MONEY/REAL/FLOAT 类型

PI()--返回值为π 即3.14***936

RAND([integer_expression])--用任选的[integer_expression]做种子值得出0-1 间的随机浮点数----字符串函数----

ASCII()--函数返回字符表达式最左端字符的ASCII 码值

CHAR()--函数用于将ASCII 码转换为字符

--如果没有输入0 ~ 255 之间的ASCII 码值CHAR 函数会返回一个NULL 值

LOWER()--函数把字符串全部转换为小写

UPPER()--函数把字符串全部转换为大写

STR()--函数把数值型数据转换为字符型数据

LTRIM()--函数把字符串头部的空格去掉

RTRIM()--函数把字符串尾部的空格去掉

LEFT(),RIGHT(),SUBSTRING()--函数返回部分字符串

CHARINDEX(),PATINDEX()--函数返回字符串中某个指定的子串出现的开始位置

SOUNDEX()--函数返回一个四位字符码

--SOUNDEX函数可用来查找声音相似的字符串但SOUNDEX函数对数字和汉字均只返回0 值DIFFERENCE()--函数返回由SOUNDEX 函数返回的两个字符表达式的值的差异

--0 两个SOUNDEX 函数返回值的第一个字符不同

--1 两个SOUNDEX 函数返回值的第一个字符相同

--2 两个SOUNDEX 函数返回值的第一二个字符相同

--3 两个SOUNDEX 函数返回值的第一二三个字符相同

--4 两个SOUNDEX 函数返回值完全相同

QUOTENAME()--函数返回被特定字符括起来的字符串

/*select quotename('abc', '{')quotename('abc')

运行结果如下

---{

{abc} [abc]*/

REPLICATE()--函数返回一个重复character_expression 指定次数的字符串 /*select replicate('abc', 3)replicate('abc',-2)

运行结果如下

----------------------

abcabcabc NULL*/

REVERSE()--函数将指定的字符串的字符排列顺序颠倒

REPLACE()--函数返回被替换了指定子串的字符串

/*select replace('abc123g', '123', 'def')

运行结果如下

----------------------

abcdefg*/

SPACE()--函数返回一个有指定长度的空白字符串

STUFF()--函数用另一子串替换字符串指定位置长度的子串

第二篇:SQL语言学习工作总结

以下是作者在学习SQL过程中,以工作总结方式写下点滴的感悟,敬请关注!

暑假过的真快总感觉昨天才刚放假,还想着这个暑假怎么过时,暑假就已经去了。

这个暑假一开始我们看了浙大的sql的视频,老师给我们的要求是只要看一遍就行。刚开始看的时候还能听懂一些,看到后面的时候基本就听不懂了,幸好老师对我们的要求不高,于时只好硬着头皮继续。

sql的视频其实总的说来无非讲的是对数据库、表、字段等的创建、修改和删除。我们不懂的也就是怎样使用代码来实现这些操作。我们现在只要对这些有了解就够了,以后还会有锻炼机会的。

之后我们参照着原代码做了《学生信息管理系统》,大概用了七天的时间。刚开始做的时候,觉得这个工程肯定会挺复杂的。但是做着做着感觉也就是那么回事。无非就是对几张表的操作。做这个工程最大的收获就是对刚学的sql知识有了一次熟练的机会,巩固了刚学的知识。也可以说是趁热打铁吧。

然后米老师给了我们更大的考验,让我们做《机房收费系统》,而且这次和上一次的《学生信息管理系统》不同的是,这次我们除了只有一个程序和数据库外,没有一个字的原码。

在得知我们可以把这次的工程做成任何样子时,我打算做一个类似于网吧那样的收费系统。也是一个cs系统。在网上查了一些主机如何与客户端通信的资料后,就开工了。虽然遇到了一些困难,但是到最后都一一解决了这三次的学习困难程度可以说是一次比一次高,米老师也是用心良苦呀。

经过这个暑假,对sql已经有了深一步的了解,还有就是将米老师的学习方法又应用了一次。可谓是受益匪浅。

现在软件工程的学习已经开始,我会继续努力的。

第三篇:SQL语言汇总

1.UPDATE MARK

SET 总分=语文+数学+英语

SELECT 准考证号,姓名,总分

FROM MARK

WHERE 语文>=75 AND数学>=75 AND 英语>=75 AND 语文+数学+英语>=240

ORDER BY 总分 DESC

UPDATE MARK

SET 修正分数=高考分数*1.3

WHERE 籍贯='云南' OR 籍贯='福建'

SELECT AVG(高考分数)as平均分

FROM MARK

GROUP BY 性别

SELECT *

FROM cj

WHERE 期中成绩>=80 OR 期末成绩>=80 ORDER BY 课程号 ASC

UPDATE cj

SET平均成绩=期中成绩*0.2+期末成绩*0.8

SELECT 书号,书名,作者

FROM gm

WHERE 书号 LIKE '理*' AND 单价>20 ORDER BY 单价 ASC

UPDATE gm

SET 金额=单价*数量

UPDATE Sale

SET 销售金额=销售数量*单价

UPDATE Wage

SET 实发工资=工资+奖金

SELECT 姓名,实发工资

FROM Wage

WHERE 姓名 LIKE '*辉'OR 姓名 LIKE ' *辉*' ORDER BY 年龄 DESC

SELECT 部门号, COUNT(*)as人数

FROM zhigong

GROUP BY 部门号

UPDATE kaoshi

SET平均成绩=笔试成绩*0.6+上机成绩*0.4

SELECT 考号,姓名,平均成绩

FROM kaoshi

WHERE 姓名 LIKE '黄*'

DELETE *

FROM mark

WHERE 学号='1003'

SELECT 学号,课程号,期末成绩

FROM mark

WHERE 学号 LIKE '*1'

ORDER BY 期末成绩 DESC

UPDATE fk

SET 超期罚款=单价*超期天数*0.005

SELECT *

FROM fk

WHERE 单价>=50 OR 超期天数>30 ORDER BY 超期罚款 DESC

UPDATE gp

SET 浮动盈亏=(市场现价-买入加个)*买入数量

SELECT 股票代码,买入时间,浮动盈亏 FROM gp

WHERE 股票代码 LIKE '6*' AND 浮动盈亏>0 ORDER BY 买入时间 ASC

UPDATE ah

SET 年龄=年龄+1

SELECT 寝室,COUNT(*)as 爱好球类人数 FROM ah

WHERE 爱好 LIKE '*球'

GROUP BY 寝室

UPDATE JHKC

SET 总价=单价*库存量

SELECT 设备编号,设备名称,单价

FROM JHKC

WHERE 库存量<300 AND 单价<500 ORDER BY 单价 DESC

UPDATE HCSK

SET 票价=600

WHERE 航班号=F807

SELECT 航班号,起飞日期,票价

FROM HCSK

WHERE 出发地='福州' AND 目的地='巴黎' ORDER BY 票价 ASC

第四篇:SQL语言

1.输出任意两个字符串变量的值(参考代码)

declare @v1 varchar(12),@V2 varchar(12)

set @v1='中国'

set @v2='你好!'

select @v1+@v2

2.为以下程序纠错

declare @v1 varchar(12),@V2 varchar(10)

set @v1='中国'

set @v2='你好!'

set @s='吗!'

select @v1+@v2+@s

3.运行以下代码,观察以下全局变量的功能

select 34@@connections 返回当前服务器的连接数目

select 1@@rowcount 返回上一条T-SQL语句影响的数据行数 select @@error返回上一条T-SQL语句执行后的错误号 select @@procid返回当前存储过程的ID号

select @@remserver 返回登录记录中远程服务器的名字 select @@spid返回当前服务器进程的ID标识

select @@version 返回当前SQL Server服务器的版本和处理器类型 select @@language 返回当前SQL Server服务器的语言

select @@connections

4.输入以下代码并理解其含意

bggin

if 3>5

select 'true'

else print 'false'

end

go

begin

if 'a'<'A'

select 'true'

else print 'false'

end

go

begin

if '张'>'李'

select 'true'

else print 'false'

end

go

begin

if getdate()>2008-10-10

print'true'

else print'false'

end

5.附加数据库student,并进行以下操作

use student

select * from xsda

以XSDa表为例,如果平均成绩高于75分,则显示“不错!”,否则,显示“加油呀!”。

declare @av1 char(12), @av2 char(12)

set @av1='不错!'

set @av2='加油!'

if(select avg(总学分)from xsda)>75

begin

select @av1

end

else

select @av2

编写一个程序,显示每一同学的成绩等级

select xh,zf,dj=

case

when zf>70 then '优秀'

when zf>65 then '良好'

when zf>=60 then '合格'

else '不合格'

end

from xsdn

6.求1-100偶数和(参考代码)

declare @i int,@s int/*定义变量*/

set @i=0/*变量赋初值*/

set @s=0

while @i<=100/*条件*/

begin

set @s=@s+@i/*累加求和*/

set @i=@i+2/*偶数*/

end

print @s

7.求10!

8.为以下程序纠错(求1-100的积)

declare @i int,@s int

set @i=0

set @s=0

while @i<=100 begin

set @s=@s*@iset @i=@i+2 end

print @s

第五篇:SQL语言以及SQL

SQL语言以及SQL*PLUS工具

1.SQL语言组成:

 数据查询语言(DQL):SELECT;

 数据操纵语言(DML):INSERT、UPDATE、DELETE;  事务控制语言(TCS):COMMIT、ROLLBACK;

 数据定义语言(DDL):CREATE、DROP、ALTER;

 数据控制语言(DCL):GRANT、REVOKE;

2.数据查询语言(DQL):

 一般格式:

1.SELECT [ALL|DISTINCT] <目标列表达式> [, <目标列表达式>]…

2.FROM <表名或者视图名> [, <表名或者视图名>]…

3.[WHERE <条件表达式>]

4.[GROUP BY <列名1> [HAVING <条件表达式>]]

5.[ORDER BY <列名2> [ASC|DESC];

 实例:

6.SELECT empno,ename FROM emp WHERE ename<>'a' order by empno;

3.数据操纵语言(DML):

 INSERT:

 一般格式:

7.INSERT

8.INTO <表名> [(<属性列1>[, <属性列2>]…)]

9.VALUES(<常量1>[, <常量2>]…);

 实例:

INSERT INTO emp(empno,ename)VALUES(1,’test1’);

 UPDATE:

 一般格式:

10.UPDATE<表名>

11.SET <列名>=<表达式> [,<列名>=<表达式>]…

12.[WHERE <条件>];

 实例:

13.UPDATE emp SET ename=’test2’ WHERE empno=1;

 DELETE:

 一般格式:

14.DELETE

15.FROM <表名>

16.[WHERE <条件>];

 实例:

DELETE FROM emp WHERE empno=1;

4.事务控制语言(TCS):

 COMMIT:

 说明:

5.6.7.8.17.放在DML之后,提交事务。 一般格式: 18.COMMIT; 实例: INSERT INTO emp(empno,ename)VALUES(1,’test1’);COMMIT; ROLLBACK:  说明: 19.放在DML之后,回滚事务。 一般格式: 20.ROLLBACK; 实例: INSERT INTO emp(empno,ename)VALUES(1,’test1’); ROLLBACK;课后练习(2小时):  用各种组合反复练习数据查询语言DQL;  用各种组合反复练习数据操纵语言DML;  和DML结合反复练习事务控制语言TCS。SQL*PLUS简介:  是Oracle数据库提供的用于和数据库交互的工具;  数据库管理员管理数据库的主要工具;  支持SQL-2和SQL-3标准;  支持Oracle PL/SQL语言;  支持一套Oracle公司定义的SQL*PLUS操纵语言。SQL*PLUS语言介绍:  不是标准语言;  可以缩写(一般取英文单词的前4位);  不用加分号;  分成数据库访问、输出格式设置、文本编辑、执行程序、环境设置、其他等几类。常用的SQL*PLUS命令:

 CONNECT(CONN):连接数据库:

21.CONN SCOTT/TIGER@FIS

 EXIT:退出SQL*PLUS;

 DESCRIBE(DESC):显示数据库对象的结构:

22.DESC emp

 SHOW:显示系统信息:

23.SHOW user

 EDIT:文本编辑;

 RUN(/):运行前一命令;

 SAVE:保存前一命令:

24.SAVE c:temptest.txt

 PASSWORD(PASSW):修改当前用户的口令;  SPOOL:将输出结果保存到本地硬盘上

SPOOL c:temptest.txt SELECT * FORM emp;SPOOL OFF

START(@):路径*.sql执行脚本 column 字段名 format a35set line 100

下载sql语言学习word格式文档
下载sql语言学习.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    SQL 语言

    SQL语言 create database student on primary (name=student_data1,filename='c:student_data1.mdf',size=10M,maxsize=100M,filegrowth=10%) filegroupstudent_group分组......

    SQL语言(模版)

    SQL语言 1. 数据定义: a) Create 创建 b) Drop 删除对象 数据表  表的创建:create table 表名(字段名1 类型 primary key注:主键,字段名2 类 型,……, check 表级约束) 例:S(Sno......

    sql语言(★)

    11.2.2 数据定义命令 1.CreateTable命令 Create Table ([,] [,……][,] ); 语句功能:创建一个以为名的、以指定的列属性定义的表结构。 2. Alter Table命令 Alter Table [......

    SQL语言简介

    SQL语言简介 ㈠、什么是SQL语言 SQL(Structure Query Languge,结构化查询语言)是一种数据库专用的计算机语言,不管是Oracle、MS SQL 、Access、MySQL或其他公司的数据库,也不管数......

    SQL语言总结

    select 姓名,sum(成绩) as 总分from 学生 inner join 成绩 on 学生.学号=成绩.学号 group by 姓名 答:从通过学号建立的学生与成绩关系表中选择选择学生成绩的姓名集合Update 学......

    SQL查询语言

    《SQL查询语言》教学设计 一、 教学目标分析 认知目标 学习SQL查询语言的使用方法。 掌握SQL语言当中的SELECT语句 能力目标 培养学生应用查询语句查询数据的应用能力 情感......

    SQL语言简介

    SQL—结构化查询语言数据定义语言 CREATE DROP ALTER数据操纵语言 SELECT INSERT UPDATE DELETE数据控制语言 GRANT REVOKE数据定义语言CREATE TABLE 学生 (学生ID SMALLINT......

    PostgreSQL学习手册:SQL语言函数

    PostgreSQL学习手册:SQL语言函数 一、基本概念:SQL函数可以包含任意数量的查询,但是函数只返回最后一个查询(必须是SELECT)的结果。在简单情况下,返回最后一条查询结果的第一行......