第一篇:SQL语言入门培训大纲
SQL语言入门培训大纲
1.数据库的安装
安装Xampp7,包含了mysql数据库
2.创建数据库
3.创建、更改和删除表
4.插入、修改、删除表中的数据
5.单表数据查询
学生基本表举例 数据的排序
6.多表数据查询
以课程、学生、成绩为三个基本表举例课程表(kcb)字段(课程号,课程名,上课地点,考试日期)学生表(xsb)字段(学号,姓名,班级名称,性别)成绩表(cjb)字段(课程号,学号,成绩,最后提交日期)数据的排序
7.常见SQL函数
distinct(),count(),getdate(),max(),min(),total(),avg(),first()
要求
文档中必须结出SQL语句及演示结果 写一份学习文档
学习时间:1周参考文献
SQL必知必会
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 语言
SQL语言
create database student
on primary
(name=student_data1,filename='c:student_data1.mdf',size=10M,maxsize=100M,filegrowth=10%)
filegroupstudent_group分组
(name=student_data2,filename='c:student_data2.ndf',size=10M,maxsize=100M,filegrowth=10%)
log on
(name=student_log1,filename='c:student_data1.ldf',size=10M,maxsize=100M,filegrowth=10%)
create table xi
(系编号 char(2)primary key,系名varchar(20))主码
insert into xi values('01','物理系')
insert into xi values('02','化学系')
select *from xi查询
create table student
(学号 char(11)primary key,姓名varchar(10),民族 char(2)default'汉',出生日期datetime ,奖学金 money check(奖学金<=8000), 系编号 char(2)foreign key references xi(系编号))
默认值,约束,外码
insert into student values('20090214201','马帅', '汉','1990-1-8',1500, '01')
insert into student values('20100214202','周伊','回' ,'1989-2-4',500,'02')
update student set 出生日期='1911-3-1'where 学号 ='20100214201'
更新数据
select* from student/ 3
alter table student add 性别 char(2)check(性别='男'or 性别='女')
增加列
update student set 性别 ='男' where 学号 ='20090214201' update student set 性别 ='女' where 学号 ='20100214202' select student* from student where left(学号,4)=’2009’ 查询大三学生的详细信息
create table kc
(课程编号 char(2),课程名varchar(20))
alter table kc alter column 课程编号 char(2)not null 修改字段
alter table kc addconstraint pk_kcprimary key(课程编号)加主码(加主码的字段不能为空)
insert into kc values('01','语文')
insert into kc values('02','数学')
insert into kc values('03','英语')
update kc set课程名 ='历史学' where 课程编号= '05' execute sp_rename '课程编号','课程名','column'
改名
create table cj
(学号 char(11)foreign key references student(学号))alter table cj add 课程编号 char(2)
增加列
alter table cj add foreign key(课程编号)references kc(课程编号)
增加外码
alter table cj add 成绩varchar(3)
insert into cj values('20100214201','01','69')
insert into cj values('20100214201','02','90')
insert into cj values('20100214201','03','56')
insert into cj values('20100214202','01','26')
insert into cj values('20100214202','02','54')
insert into cj values('20100214202','03','89')
1.select student.*,课程名,成绩 ,系名 from student ,kc,cj ,xi where student.系编号 = xi.系编号and cj.学号=student.学号 and kc.课程编号=cj.课程编号 and student.学号='20100214202'
查询学号为20100214202的学生student表的全部内容和每门课的成绩及所在系
2.select 姓名,课程名,成绩,系名 from student,kc,cj,xi where student.学号 = cj.学号 and student.系编号=xi.系编号 and cj.课程编号= kc.课程编号 and month(getdate())=month(student.出生日期)and day(getdate())= day(student.出生日期)
查询今天过生日的学生的姓名每门课的成绩及系名
3.select student.学号,课程名,成绩,系名 from student,kc,cj,xi where student.学号=cj.学号 and kc.课程编号=cj.课程编号 and student.系编号=xi.系编号 and cj.学号 =student.学号 查看所有学生的学号的每门课的成绩及系名
4.Select count()as 学生数 from student ,xi where student.系编号=xi.系编号and xi.系名=’物理系’
查看物理系的学生数
5.Select student.姓名,avg(cj.成绩)as平均成绩 from student, cj where student.学号=cj.学号
查看所有学生的平均成绩