数据库练习题3--sql基础

一、练习目的
1.理解局部变量和全局变量的概念和使用方法;
2.掌握各种运算符的使用;
3.掌握基本的SELECT语句的使用方法;
4.掌握SQL-Server中流程控制语句的使用;
5.掌握系统函数及用户自定义函数的使用。

1.定义一个int的整形变量,并分别给其赋值67、123067。

declare @m int=67
print @m
declare @m int=123067
print @m

2.定义一个长度为11的可变长形字符变量,并分别给其赋值“Hello World!”和“How are you?”。

declare @z varchar(11)
set @z='Hello World!'
declare @z varchar(11)
set @z='How are you?'

3.分别将字符串“WELCOME”和“student”转换成小写、大写字母。

select LOWER ('WELCOME')
select UPPER ('student')

4.使用RTRIM和LTRIM函数分别去掉字符串“ 信电分院 ”右边和左边的空格,再与“学生选课”连接起来。

select rtrim (' 信电分院 ')
select ltrim (' 信电分院 ')
select STUFF (' 信电分院 ',6,2,'学生选课')

5.使用SUBSTRING将字符串“ABCDEFG”中的“CDE”显示出来。

select SUBSTRING ('ABCDEFG',3,3)

6.使用GETDATE( )函数返回系统当前日期。

select GETDATE ()

7.使用DAY( )函数提取当前日期的日期部分的整数。

select DAY (GETDATE())

8.使用T-SQL流程控制语句求斐波那契数列中小于100的所有数。

DECLARE @Q int
DECLARE @W int
DECLARE @E int
DECLARE @R varchar(2000)
set @Q =1
set @W =1
set @R=cast(@Q as varchar(10))+','+cast(@W as varchar(10))
while (@W<100)
begin 
set @E=@W
set @W=@W+@Q
set @Q=@E
if(@W<100)
set @R=@R+','+cast(@W as varchar (10))
end
print @R

*9. 使用T-SQL流程控制语句求两个数的最大公约数和最小公倍数。

DECLARE @a int,@b int,@c int,@d int,@x int
set @c=20
set @d=10
set @a=@c
set @b=@d
if @a<@b
begin
set @x=@b
set @b=@a
set @a=@x
end
while @b!=0
begin
set @x=@a%@b
set @a=@b
set @b=@x
end
select @a
select @c*@d/@a
  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
好的,我来为您解答MySQLSQL语句练习题(一)。 1. 创建一个名为“test”的数据库。 ``` CREATE DATABASE test; ``` 2. 在“test”数据库中创建一个名为“student”的数据表,包含以下字段:学号(id,整型,主键),姓名(name,字符串类型,不超过20个字符),年龄(age,整型),性别(gender,字符串类型,不超过10个字符),成绩(score,整型)。 ``` USE test; CREATE TABLE student ( id INT PRIMARY KEY, name VARCHAR(20), age INT, gender VARCHAR(10), score INT ); ``` 3. 插入以下数据到“student”数据表中: ``` INSERT INTO student VALUES (1, 'Tom', 18, 'male', 80), (2, 'Jerry', 19, 'male', 85), (3, 'Lily', 18, 'female', 90), (4, 'Lucy', 20, 'female', 95); ``` 4. 查询“student”数据表中所有学生的姓名和年龄。 ``` SELECT name, age FROM student; ``` 5. 查询“student”数据表中所有学生的学号、姓名和成绩,并按成绩从高到低排序。 ``` SELECT id, name, score FROM student ORDER BY score DESC; ``` 6. 查询“student”数据表中所有学生的平均年龄。 ``` SELECT AVG(age) FROM student; ``` 7. 查询“student”数据表中成绩大于等于90分的学生姓名和成绩。 ``` SELECT name, score FROM student WHERE score >= 90; ``` 8. 将“student”数据表中学号为3的学生的成绩更新为100分。 ``` UPDATE student SET score = 100 WHERE id = 3; ``` 9. 删除“student”数据表中年龄小于19岁的学生。 ``` DELETE FROM student WHERE age < 19; ``` 以上是MySQLSQL语句练习题(一)的解答,希望能对您有所帮助。如果您有任何疑问或需要进一步的帮助,请随时向我提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值