從創(chuàng)建數(shù)據(jù)庫(kù)到存儲(chǔ)過(guò)程與用戶自定義函數(shù)的小感
更新時(shí)間:2011年09月21日 00:33:49 作者:
從創(chuàng)建數(shù)據(jù)庫(kù)到存儲(chǔ)過(guò)程與用戶自定義函數(shù)的小感,深入的學(xué)習(xí)mysql
復(fù)制代碼 代碼如下:
create database MyDb
on
(
name=mainDb,
filename='c:\MyDb\mainDb.mdf',
size=10,
maxsize=100,
filegrowth=4
),
(
name=secondDb,
filename='C:\MyDb\secondDb.ndf',
size=15,
maxsize=28,
filegrowth=2
)
log on
(
name=log_Db,
filename='C:\MyDb\log_Db',
size=20,
filegrowth=10%
)
--創(chuàng)建數(shù)據(jù)庫(kù)的一般格式
use mydb
create table student
(
stuId int primary key identity (1,1),
stuName varchar (20) not null,
stuAge int not null check(stuAge between 20 and 50),
stuSex varchar(4) not null check(stusex in('F','M')),
stuDept varchar(20) check( stuDept in('軟工系','環(huán)藝系','電子商務(wù)系')),
stuAddress varchar(20) not null
)
drop table student
select * from student
insert into student values ('孫業(yè)寶',22,'M','軟工系','河北省邢臺(tái)市')
insert into student values ('孫婷',20,'F','電子商務(wù)系','河北省邢臺(tái)市')
insert into student values ('孟幾',22,'F','電子商務(wù)系','河北省邢臺(tái)市')
insert into student values ('小五',22,'M','軟工系','河北省革要市')
insert into student values ('王丹丹',22,'M','軟工系','河北省阜陽(yáng)市')
insert into student values ('陳海波',22,'M','軟工系','河北省合肥市')
--單一的輸入輸出參數(shù)的存儲(chǔ)過(guò)程,
create proc Myproc
@Dept varchar(20),@count int output
As
if not exists(select * from student where Studept=@dept)
print '沒(méi)有指定類型的學(xué)生存在!!'
else
select @count=Count(*) from student where studept=@dept
drop proc myproc
--執(zhí)行該存儲(chǔ)過(guò)程
declare @result int
Exec myproc '軟工系',@result output
print @result
--多輸入輸出的存儲(chǔ)過(guò)程.
create proc Searchstu
@area varchar(20),@Sex varchar(2),@count int output,@avg_age int output
as
select @count=count(*),@avg_age=Avg(stuage) from student
where stuaddress=@area and stusex=@sex
--執(zhí)行該存儲(chǔ)過(guò)程
declare @stuNo int ,@stuAvg_age int
exec searchstu '河北省邢臺(tái)市','M',@stuNo output,@stuAvg_age output
select @stuNo as 學(xué)生總數(shù),@stuavg_age as 平均年齡
--用戶自定義的函數(shù)(求立方體體積定義標(biāo)題函數(shù)返回單一值)
create function dbo.CubicVolume
(@CubeLength int,@CubeHenght int,@CubeWidth int)
Returns int
as
begin
return (@CubeLength*@CubeHenght*@CubeWidth)
end
drop function CubicVolume
--調(diào)用該方法
select dbo.CubicVolume(10,10,10)
--用戶自定義的函數(shù)(內(nèi)嵌表形式,返回一個(gè)表)
create function f_stuInfo(@studept varchar(20))
returns table
as
return
(
select * from student where studept=@studept
)
--調(diào)用該方法
select * from dbo.f_stuInfo('軟工系')
--用戶自定義的函數(shù)(多語(yǔ)句表值函數(shù),返回一個(gè)用戶想要顯的部分?jǐn)?shù)據(jù)的表)
create function f_stuSexTye(@stuDept varchar(10))
returns @t_stuDetailInfo table(
stuName varchar(20),
stuAge int ,
stuSex varchar(4)
)
as
begin
insert into @t_stuDetailInfo
select Stuname,stuage,
Case stusex
when 'M' then '男'
when 'F' then '女'
end
from student
where stuDept=@studept
return
end
--調(diào)用該方法函數(shù)
select * from dbo.f_stuTye('軟工系')
相關(guān)文章
Mysql調(diào)優(yōu)Explain工具詳解及實(shí)戰(zhàn)演練(推薦)
這篇文章主要介紹了Mysql調(diào)優(yōu)Explain工具詳解及實(shí)戰(zhàn)演練,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-03-03
Navicat for MySQL(mysql圖形化管理工具)是什么?
這里就給大家介紹一個(gè)常用的MySQL數(shù)據(jù)庫(kù)管理工具:Navicat for MySQL,需要的朋友可以參考下2015-09-09
解讀數(shù)據(jù)庫(kù)的嵌套查詢的性能問(wèn)題
這篇文章主要介紹了解讀數(shù)據(jù)庫(kù)的嵌套查詢的性能問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-03-03
MySQL事務(wù)的ACID特性以及并發(fā)問(wèn)題方案
這篇文章主要介紹了MySQL事務(wù)的ACID特性以及并發(fā)問(wèn)題方案,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-07-07
MySQL全文索引實(shí)現(xiàn)簡(jiǎn)單版搜索引擎實(shí)例代碼
這篇文章主要給大家介紹了關(guān)于MySQL全文索引實(shí)現(xiàn)簡(jiǎn)單版搜索引擎的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用MySQL具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07
Django2.* + Mysql5.7開(kāi)發(fā)環(huán)境整合教程圖解
這篇文章主要介紹了Django2.* + Mysql5.7開(kāi)發(fā)環(huán)境整合教程,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-09-09
Mysql 5.7 忘記root密碼或重置密碼的詳細(xì)方法
在Centos中安裝完MySQL數(shù)據(jù)庫(kù)以后,不知道密碼,這可怎么辦,下面給大家說(shuō)一下怎么重置密碼2016-12-12

