SqlServer數據庫基本用法


1. 利用T-SQL語句,創建數據庫(工資管理數據庫),要求如下: 數據庫初始大小:3MB;文件大小按兆字節3MB自動增長,增長限制為:15MB; 數據庫日志文件初始大小:1MB; 文件大小按百分比5%自動增長,增長限制為:10MB; 設定數據庫文件保存路徑為D:\gzgl\,其余為默認。 create database 工資管理數據庫 on (name=工資管理數據庫, filename='D:\gzgl\工資管理數據庫.mdf', size=3mb, maxsize=15mb, filegrowth=3mb ) log on (name=工資管理數據庫_log, filename='D:\gzgl\工資管理數據庫_log.ldf', size=1mb, maxsize=10mb, filegrowth=5% ) 2. 利用T-SQL語句,在新建數據庫中,創建以下三個表,表結構如下: 表“部門信息表” 列名 數據類型 長度 是否空值 約束 編號 Char    否 主鍵 名稱 varChar        20 否 電話 Char        12use 工資管理數據庫 go
create table 部門信息表 (編號 Char(5) primary key not null, 名稱 varChar(20) not null, 電話 Char(12) not null ) 表“員工信息表” 列名 數據類型 長度 是否空值 約束 編號 Char         11 否 主鍵 姓名 nChar         8 否 性別 nChar         1[男,女] 出生日期Datetime 8 是 部門編號char 5 否 外鍵 電話 Char         12 否 唯一索引 注:部門編號參照’部門信息表.編號’為外鍵,性別默認值為“男” use 工資管理數據庫 go
create table 員工信息表 (編號 Char(11) primary key not null, 姓名 nChar(8) not null, 性別 nChar(1) check(性別=''or 性別='') default('') not null, 出生日期 Datetime not null, 部門編號 char(5) foreign key references 部門信息表(編號) not null, 電話 Char(12) unique not null ) 表“工資表” 列名 數據類型 長度 是否空值 約束 員工編號 Char    11 否 主鍵 基本工資 Decimal(6,2) 是 獎金 Decimal    (6,2) 是 扣除 Decimal    (6,2)        是      [0,1000] 說明:設置‘員工編號’參照“員工信息表.編號”為外鍵約束; use 工資管理數據庫 go
create table 工資表 (員工編號 char(11) not null primary key foreign key references 員工信息表(編號), 基本工資 decimal(6,2) not null, 獎金 decimal(6,2) not null, 扣除 decimal(6,2) check(扣除>0 and 扣除<1000) not null ) 3.使用insert 語句向表中插入1條記錄 insert into 部門信息表 values ('06','劉華奇','123456') go

4.使用update語句更新表中的數據 update 工資表 set 基本工資=基本工資*1.2
go ) 5,查找每位教師的信息 select *
from 教師信息表 go

6,查找每位學生的學號,姓名,性別,出生日期 select 學號,姓名,性別,出生日期 from 學生信息表 go

7,查找每位學生的學號,姓名,性別,年齡 select 學號,姓名,性別,'年齡'=year(getdate())-year(出生日期) from 學生信息表 go

8,查找年齡>30的所有女生的信息, select *
from 學生信息表 where 性別='' and year(getdate())-year(出生日期)>30
go

9. 計算教學成績表中每位同學的期末總評=30+分數*0.7

select 學號, '期末總評'=30+分數*0.7
from 教學成績表 go

10. 列出教學成績表中所有學生課程的分數在70~90的學號,課程編號和分數 select 學號,課程編號,分數 from 教學成績表 where 課程編號='900013' and 分數>=70 and 分數<=90
go


11. 查詢學生信息表中籍貫中包含‘山’字符的同學信息 select *
from 學生信息表 where 籍貫 like '%山%'
go

① 查詢 yiqi_product 表中 cid 為 16 且 名稱中含有 鋼結構的信息

SELECT * FROM `yiqi_product` WHERE cid = '116' and name LIKE '%鋼結構%'
12、利用T-SQL語句,將員工編號為的員工姓名改為“張三豐”。 update 員工信息表 set 姓名='張三豐' where 編號='01' go 13、利用T-SQL語句,將工資表中基本工資〈,獎金<2000的扣除項改為. update 工資表 set 扣除 =1000 where 基本工資<3000 and 獎金<2000 go 14、利用T-SQL語句,刪除員工信息表中部門編號為的男性員工的信息。 delete 員工信息表 where 部門編號='001' go 15、查詢學生信息表的前條記錄 select top 10 percent * from 學生信息表 go 16、將課程的成績按從大到小排序 (asc:升序, desc:降序 ) select * from 教學成績表 where 課程編號='900001' order by 分數 desc go 17. 查詢各科的平均分>70的課程名稱 select 名稱, avg(分數) from 教學成績表 join 課程信息表 on 教學成績表.課程編號=課程信息表.編號 group by 名稱 having avg(分數)>70 18. 查詢每位同學的學號,姓名,課程編號和分數 select 教學成績表.學號,姓名,課程編號,分數 from 學生信息表 join 教學成績表 on 教學成績表.學號=學生信息表.學號 19. 查詢每位同學的學號,姓名,課程編號,課程名稱和分數 select 教學成績表.學號,姓名,課程編號,分數,名稱 from 學生信息表 join 教學成績表 on 教學成績表.學號=學生信息表.學號 join 課程信息表 on 課程信息表.編號=教學成績表.課程編號 20. 查詢參加計算機網絡技術考試的學生學號和分數 select 學號,分數 from 教學成績表 cross join 課程信息表 where 名稱='計算機網絡技術' 21. 統計每位教師所教課程的平均分(教師姓名,課程名稱,平均分) select 姓名,名稱,'平均分'=AVG(分數) from 教學成績表 join 課程信息表 on 教學成績表.課程編號=課程信息表.編號 join 教師信息表 on 教師信息表.編號=教學成績表.教師編號 group by 姓名,名稱 22. 建立索引 IX_name,按照學生信息表的姓名查詢時,提升查詢速度 create index IX_name on 學生信息表(姓名) 23.創建存儲過程,名稱為pr_1 create procedure pr_1 as select * from 學生信息表 24. 統計每科的考試分數的平均分,最高分和參加考試人數 create view view_4 as select 名稱,平均分=avg(分數),最高分=max(分數),參加考試人數=count(*) from 教學成績表 join 課程信息表 on 課程信息表.編號=教學成績表.課程編號 group by 名稱

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM