zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

数据库增删改练习

数据库 练习 增删
2023-09-27 14:27:29 时间

代码:

use NetBar
select *from Card
--3对数据库执行添加、修改和删除数据的操作,使其数据行改变为如下所示:
insert into Card(id,password,balance,username)
values('0036_CCD','36ccd',100,'何柳')
insert into Card(id,password,balance,username)
values('0036_EDE','zhang',134,'张俊')

delete from card
where id='0024_ABD'

update Card set PassWord='0023abc',Balance=98
where ID='0023_ABC'
update Card set Balance=44
where ID='0023_ABE'

--4.由于最近屡次发生卡密码丢失事件,因此机房规定,要求密码与姓名或者卡号不能一样。请编写SQL语句,查出密码与姓名或者卡号一样的人的姓名,以方便通知
select UserName
from Card
where PassWord=UserName or PassWord=ID


/***********************第二题****************************/
--1.创建TrainOfChina数据库中,编写SQl语句,向两个表中分别插入数据


create database TrainOfChina
on primary
(

name='TrainOfChina_data',
filename='d:\project\TrainOfChina_data.mdf',
size=5mb,
maxsize=100mb
)
log on
(
name='TrainOfChina_log',
filename='d:\project\TrainOfChina_data.ldf',
size=5mb,
maxsize=100mb

)


use TrainOfChina
create table TrainInfo
(
	TNumber varchar(8)not null primary key,
	TFRom varchar(10)not null,
	TDest varchar(10)not null,
	TDistance int not null,
	TStartTime datetime not null,
	TEndTime datetime not null,
	TDay int default(1),
	TSpeed int default(120) check(TSpeed<500),
	TUnitPrice float default(0.7) check(TUnitPrice between 0.1 and 3)
)

insert into TrainInfo
select 'K12','石家庄','武汉',1233,'13:00:00','1:00:00',2,140,1.40 union
select 'K181','长沙','北京',1850,'22:14:00','6:40:00',1,120,0.70 union
select 'T5','长沙','北京',1788,'18:30:00','23:10:00',1,180,1.30 union
select 'T8','武汉','重庆',1455,'22:00:00','21:20:00',2,150,2.00 union
select 'Z11','武汉','南京',1844,'9:30:00','14:20:00',2,135,2.00
--2.查询全部T字头列车的信息。
select *
from TrainInfo
where TNumber like'T%'
--3.查询始发站是长沙的车次、到站、始发时间、到站时间
select TNumber,TDest,TStartTime,TEndTime
from TrainInfo
where TFRom ='长沙'
--4.查询所有票价大于200的车次、始发站、到站,并且按照票价从高到低排序。
select TNumber,TFRom,TStartTime,TEndTime,TDest,TUnitPrice*TDistance'价格'
from TrainInfo
where TUnitPrice*TDistance>200
order by TUnitPrice*TDistance desc
--5.假如列车提速,K字头列车保持不变,T字头提速20%、Z字头提速25%,请编写更新语句更新列车的速度信息。
update TrainInfo
set TSpeed=TSpeed*(1+0.2) where TNumber like'T%'
update TrainInfo
set TSpeed=TSpeed*(1+0.25) where TNumber like'Z%'
--6.将Z11的列车信息复制到一张新表中,此表叫TrainInfoTemp
select * into TrainInfoTemp
from TrainInfo
where TNumber='Z11'
/*************************第三题*************************/
use pubs
--1.对pubs数据库中的authors表,查询所有作者的信息。
select * from authors
--2.查询作者所在的城市
select au_id,au_lname+' '+au_fname'姓氏',city from authors
--3.查询作者编号、姓氏、电话号码及所在城市,查询结果按照作者编号的降序排列。
select au_id,au_lname+' '+au_fname'姓氏',phone,city
from authors
order by au_id desc
--4.查询作者编号、姓氏、电话号码及所在城市,查询结果按照城市降序排列,同一城市的按作者编号的升序排列。
select au_id,au_lname+' '+au_fname'姓氏',phone,city
from authors
order by city desc,au_id asc
--5.查询居住在Oakland的作者姓名和电话号码。
select au_lname+' '+au_fname'name',phone
from authors
where city='Oakland'
--6.查询居住在Oakland或Berkeley的作者姓名和电话号码。查询结果按照城市升序排列。
select au_lname+' '+au_fname'name',phone
from authors
where city in ('Oakland','Berkeley')
order by city 
--7.查询所有作者全名,结果先按姓氏升序排列,如有雷同,再按照名字排列。
select au_lname+' '+au_fname'name'
from authors
order by au_fname,au_lname
--8.pubs数据库,employee表,查询工资水平在100至172之间的员工编号及工资水平。
select emp_id,job_lvl
from employee
where job_lvl between 100 and 172
--9.查询authors表中的姓氏,并返回作者名字的首字母
select au_fname,right(au_lname,1) as '名字的首字母'
from authors
--10.查询authors表中作者姓氏的第2个字母是‘r’的作者信息
select *
from authors
where au_fname like'_r%'
--11.查询authors表中作者姓氏的最后一个字母是‘e’的作者信息.
select *
from authors
where au_fname like'%e'
--12.对上面两题,如果执行查询时不知道表中记录的大小写,该怎么办?
select *
from authors
where lower(au_fname) like'_R%'
select *
from authors
where upper(au_fname) like'%E'
--13.查询pubs数据库employee中每个雇员的工龄。

select emp_id,datediff(yyyy,hire_date,getdate())'工龄'from employee