『壹』 sql常用增刪改查
SQl常用增刪改查模板
篇一:SQl常用增刪改查
SQL常用增刪改查語句
增加
現在有一張表,表(Test)裡面有三個欄位,分別為sno,sname,age。舉例用一條增加SQL語句,插入一條數據進庫。
語句:
Insert into 表名 value(『數據1』,』數據2』,』數據3』)
具體操作: Insert into testvalues('test','test','1')
通過上面這條語句,Test表裡面就多了一條數據。如下圖所示:
上面這個例子,是在每條欄位都需要插入的時候為了方便而直接在 into 後面跟表名。但是也會遇到一些特殊的情況,比如一張表,因為有主外鍵約束(我這里只有一張表),而我只想插入被約束的欄位sno(主鍵)加上age這個欄位,在 into的時候就需要指明需要插入的欄位,下面舉例說明:
語句:
Insert into 表名(『欄位名1』,』欄位名2』) values(『數據1』,』數據2』)
具體操作:
into test(sno,age)values('彭宇','21')
這樣資料庫裡面,又多了一條數據,而沒有插入任何數據那個欄位默認為NULL。如下圖所示:
刪除
在我們增加數據入庫的時候,難免會出現數據錄入錯誤,或者信息過期後不再需要的數據,所以我們要利用刪除語句將表裡面不需要的數據刪除掉。下面舉例說明。
語句:
Delete from 表名 where 欄位名='需要刪除的數據'
具體操作:
from test where sno='test'
通過這條SQL語句,Test表主鍵sno欄位裡面數據為test的該條數據就已經被刪除了。
Ps:一般來說都以主鍵為條件進行刪除,因為主鍵是不可重復的,我們可以設想一下,如果沒使用主鍵為刪除條件,假設一個公司有兩個叫彭宇的人。我使用sname=』彭宇』作為刪除條件的話,那麼這兩個同名同姓人的資料都會被刪除掉,所以這是不可取的。
批量刪除
當有多條數據需要刪除的時候,我們可以使用批量刪除語句來實現一次刪除多條數據。
語句:
from表名where欄位名in('該欄位裡面的數據1','該欄位裡面的數據2',……)
具體操作:
首先,看一下Test表裡面有多少條數據,如下圖:
現在我想利用一條SQL語句,將前三條數據刪除掉。
from test where sno in('test','test2','test3')
通過執行這條SQL語句後,前三條數據已經被我批量刪除了。
修改
一條已經錄入資料庫裡面的數據如果需要更新、修正,我們就需要用到SQL修改語句。
語句:
Update 表名set欄位='修改後的數據' where 欄位='修改條件'
具體操作:
Update test set sno='SQL修改語句' where sno='test'
修改前後比較,下圖所示: (
修改前
)(修改後)
查詢
上面進行了增加,修改操作後,資料庫裡面已經存在有數據了,最後我們要利用SQL查詢語句將它們查詢並顯示出來。
全部查詢
語句:
Select * from 表名
具體操作:
Select * from test
執行了上面這句話,那麼test表裡面存在的數據都會被查詢出來,如果我想要單獨查詢出某個人的數據怎麼辦?很簡單,只需要加上一個關鍵詞where就能夠實現了。
單條件查詢
語句:
Select * from 表名 where 欄位=』需要查詢的數據』
具體操作:
Select * from test where sno=』彭宇』
這樣我就查詢出資料庫裡面sno欄位為彭宇的數據了。
多條件查詢
多條件查詢就是比起單條件查詢多了一個and關鍵詞,使用多條件查詢,查出來的結構能夠更加的精確。
語句:
Select * from 表名 where 欄位=』需要查詢的數據』 and 欄位=』需要查詢的數據』
具體操作:
Select * from test where sno=』彭宇』』21』 and age=
篇二:SQL語句增刪改查
一、刪:有2中方法
1.使用刪除數據某些數據
語法: from <表名> [where <刪除條件>]
例: from a where name='開心朋朋'(刪除表a中列值為開心朋朋的行) 注意:刪除整行不是刪除單個欄位,所以在後面不能出現欄位名
2.使用truncate table 刪除整個表的數據
語法:truncate table <表名>
例:truncate table tongxunlu
注意:刪除表的所有行,但表的結構、列、約束、索引等不會被刪除;不能用語有外建約束引用的表
二、改
使用update更新修改數據
語法:<表名> set <列名=更新值> [where <更新條件>]例:tongxunlu set 年齡=18 where 姓名='藍色小名'
注意:set後面可以緊隨多個數據列的更新值;where子句是可選的,用來限制條件,如果不選則整個表的所有行都被更新
四、查
1.普通查詢
語法:select <列名> from <表名> [where <查詢條件表達試>] [order by <排序的列名>[asc或desc]]
1).查詢所有數據行和列
例:select * from a
說明:查詢a表中所有行和列
2).查詢部分行列--條件查詢
例:select i,j,k from a where f=5 說明:查詢表a中f=5的所有行,並顯示i,j,k3列
3).在查詢中使用AS更改列名
例:select name as 姓名 from a whrer xingbie='男'
說明:查詢a表中性別為男的所有行,顯示name列,並將name列改名為(姓名)顯示
4).查詢空行
例:select name from a where email is null
說明:查詢表a中email為空的所有行,並顯示name列;SQL語句中用is null或者is not null來判斷是否為空行
5).在查詢中使用常量
例:select name '唐山' as 地址 from a
說明:查詢表a,顯示name列,並添加地址列,其列值都為'唐山'
6).查詢返回限制行數(關鍵字:top percent)
例1:select top 6 name from a
說明:查詢表a,顯示列name的前6行,top為關鍵字
例2:select top 60 percent name from a
說明:查詢表a,顯示列name的60%,percent為關鍵字
7).查詢排序(關鍵字:order by , asc , desc)
例:select name
from a
where chengji>=60
order by desc
說明:查詢表中chengji大於等於60的所有行,並按降序顯示name列;默認為ASC升序
2.模糊查詢
1).使用like進行模糊查詢
注意:like運算副只用語字元串,所以僅與char和varchar數據類型聯合使用 例:select * from a where name like '趙%'
說明:查詢顯示表a中,name欄位第一個字為趙的記錄
2).使用between在某個范圍內進行查詢
例:select * from a where nianling between 18 and 20
說明:查詢顯示表a中nianling在18到20之間的記錄
3).使用in在列舉值內進行查詢
例:select name from a where address in ('北京','上海','唐山')
說明:查詢表a中address值為北京或者上海或者唐山的記錄,顯示name欄位3.分組查詢
1).使用group by進行分組查詢
例:select studentID as 學員編號,AVG(score) as 平均成績 (注釋:這里的score是列名)
from score (注釋:這里的score是表名)
group by studentID
說明:在表score中查詢,按strdentID欄位分組,顯示strdentID欄位和score欄位的平均值;select語句中只允許被分組的列和為每個分組返回的一個值的表達試,例如用一個列名作為參數的聚合函數
2).使用having子句進行分組篩選
例:select studentID as 學員編號,AVG(score) as 平均成績 (注釋:這里的score是列名)
from score (注釋:這里的score是表名)
group by studentID
having count(score)>1
說明:接上面例子,顯示分組後count(score)>1的行,由於where只能在沒有分組時使用,分組後只能使用having來限制條件,
4.多表聯接查詢
1).內聯接
①在where子句中指定聯接條件
例:select a.name,b.chengji
from a,b
where a.name=b.name
說明:查詢表a和表b中name欄位相等的記錄,並顯示表a中的name欄位和表b中的chengji欄位
②在from子句中使用join…on
例:select a.name,b.chengji
from a inner join b
on (a.name=b.name)
說明:同上
2).外聯接
①左外聯接查詢
例:select s.name,c.courseID,c.score
from strdents as s
left outer join score as c
on s.scode=c.strdentID
說明:在strdents表和score表中查詢滿足on條件的行,條件為score表的.strdentID與strdents表中的sconde相同
②右外聯接查詢
例:select s.name,c.courseID,c.score
from strdents as s
right outer join score as c
on s.scode=c.strdentID
說明:在strdents表和score表中查詢滿足on條件的行,條件為strdents表中的sconde與score表的strdentID相同
三、增:有4種方法
1.使用插入單行數據:
語法: [into] <表名> [列名] values <列值>
例: into Strdents (姓名,性別,出生日期) values ('開心朋朋','男','1980/6/15')
注意:into可以省略;列名列值用逗號分開;列值用單引號因上;如果省略表名,將依次插入所有列
2.使用 select語句將現有表中的數據添加到已有的新表中
語法: into <已有的新表> <列名>
select <原表列名> from <原表名>
例: into tongxunlu ('姓名','地址','電子郵件')
select name,address,email
from Strdents
注意:into不可省略;查詢得到的數據個數、順序、數據類型等,必須與插入的項保持一致
3.使用select into語句將現有表中的數據添加到新建表中
語法:select <新建表列名> into <新建表名> from <源表名>例:select name,address,email into tongxunlu from strdents
注意:新表是在執行查詢語句的時候創建的,不能夠預先存在
在新表中插入標識列(關鍵字『identity』):
語法:select identity (數據類型,標識種子,標識增長量) AS 列名
into 新表 from 原表名
例:select identity(int,1,1) as 標識列,dengluid,password into tongxunlu from Struents
注意:關鍵字『identity』
4.使用union關鍵字合並數據進行插入多行
語法: <表名> <列名> select <列值> tnion select <列值>
例: Students (姓名,性別,出生日期)
select '開心朋朋','男','1980/6/15' union(union表示下一行)
select '藍色小明','男','19**/**/**'
注意:插入的列值必須和插入的列名個數、順序、數據類型一致
篇三:SQL常用增刪改查語句
SQLSQL常用增刪改查語句
作者:hiker
一. Insert 插入語句
1. Insert into 表名(列名) values (對應列名值)//插入一行.
2. Insert into 新表名(列名)
Select (列名) 舊表名
3. Select 舊表名.欄位…
Into 新表名 from 舊表名
4. Select identity ( 數據類型,標識種子,標識增長量) as 列名
Into新表名
From 舊表名
5. Insert 表名(列名)
Select (對應列名值) union
Select (對應列名值) union
Select (對應列名值)
二. Update 更新語句
1. Update 表名 set 列名=』更新值』 where 更新條件
三. 刪除語句
1. from 表名 where 刪除條件
2. truncate table 表名 //刪除表中所有行
四. select 基本查詢語句
1. select 列名 from 表名 where 查詢條件
order by 排序的列名asc或desc升/降
2. select 列名 as 別名 from 表名 where 查詢條件
3. select 列名 from 表名 where 列名 is null //查詢空值
4. select 列名 , 『常量值』 as 別名 from 表名//查詢時定義輸出一列常量值
5. select top 5 列名 from 表名 //查詢前5行
6. select top 5 percent 列名 from 表名 //查詢前百分之5的數據行
五.
1.
2.
3.
4. select 函數查詢語句 selectLEN(Class_Name)fromClass //查詢class_Name字元串長度 selectupper(Class_Name)fromClass //查詢class_Name並轉換為大寫 ltrim和rtrim //清除字元串左右空格 selectREPLACE(card_No,'0','9')fromCardRecord//修改列中字元串中的字元 列名字元串中0修改為9
5. selectSTUFF(Card_No,2,3,'8888')fromCardRecord
列名字元串中第2個開始刪除3個字元,再從第二個開始插入8888字元串
6. selectGETDATE()//顯示系統日期
六.
1.
2.
3.
4.
5. select 高級查詢語句 select * from 表名 where列名 like 『 %s%』 //模糊查詢 select * from 表名 where 列名 between 60 and 80 //范圍查詢 select * from 表名 where 列名 in (『列舉』,』』,』』) //在列舉范圍內查詢 selectSUM(Score_Num)fromscores //查詢分數總和 avg max min count //查詢平均分/最大數/最小數/行數
selectcourse_Id,SUM(Score_Num)fromscores
groupbyCourse_Id//分組查詢
havingCourse_Id='jsj001'//分組子句篩選
七. Select 多表連接查詢語句
1.selects.stu_Nameas'姓名',c.Course_nameas'科目',sc.Score_Num
fromStudentsass
innerjoinScoresasscon(sc.Stu_Id=s.Stu_ID)
innerjoinCoursesascon(sc.Course_Id=c.Course_Id)
orderbys.Stu_Namedesc //三表內聯查詢
2.selects.stu_Nameas'姓名',c.Course_nameas'科目',sc.Score_Num
fromStudentsass
leftouterjoinScoresasscon(sc.Stu_Id=s.Stu_ID)
leftouterjoinCoursesascon(sc.Course_Id=c.Course_Id)
//三表左外聯查詢,以stu表為主,其它表為從。
3.selects.stu_Nameas'姓名',c.Course_nameas'科目',sc.Score_Num
fromCoursesasc
rightouterjoinScoresasscon(sc.Course_Id=c.Course_Id)
rightouterjoinStudentsasson(sc.Stu_Id=s.Stu_ID)
//三表右外聯查詢,以stu右表為主,其它表為從。
八. Create 創建資料庫語句
1. create database 資料庫名
on[primary]
(
<數據文件參數>[,…n] [<文件參數>]
)
[log on]
(
{<日誌文件參數> […n]}
)
文件參數:
Name=邏輯文件名,filename=物理文件名,size=大小,maxsize=最大容量,
Filegrowth=增長
文件組參數:
Filegroup 文件組名<文件參數>
例:
usemaster
go
ifexists(select*fromsysdatabaseswherename='abc')
dropdatabaseabc
createdatabaseabc
onprimary
(
name='abc',
filename='d:abc.mdf',
size=5,
maxsize=50,
filegrowth=10%
)
logon
(
name='abc_log',
filename='d:abc_log.ldf',
size=2,
maxsize=20,
filegrowth=1
)
2. use 資料庫名
go
create table 表名
(
欄位數據類型列的特徵
)
Go
例:
usedb_myschool
go
ifexists(select*fromsysobjectswherename='test1')
droptabletest1
createtabletest1
(
Idintnotnull,
SNamenvar50)notnull,
Telintnotnull
)
go
3.使用SQL語句創建和刪除約束
alter table表名
Add constraint 約束名約束類型描述說明
altertabledbo.testaddconstraintPK_IDprimarykey (ID)
主鍵:primary keyPK_ 唯一:uniqueUQ_ 檢查:check CK_ 默認:defaultDF_外鍵:foreign keyFK_
1.execsp_addlogin'abc','abc'//添加SQL用戶名
usedb_myqq
go
execsp_grantdbaccess'abc'//添加用戶名到資料庫中
3. 授權語句
Grant 許可權 on 表名 to 資料庫用戶名 九. 登錄驗證語句
十. SQL編程語句
局部變數/全局變數
1.以@標記符作前綴
Declare @name var8)//聲明
Set @name = value
Select @name=value//賦值
2.以@@標記符作前綴
@@error //最後一個T-SQL錯誤的錯誤號
@@identity //最後一次插入的標識值
@@language//當前使用的語言的名稱
@@max_connections //可以創建的同時連接的最大數目
@@rowcount //受上一個SQL語句影響的行數
@@servername//本地伺服器的名稱
@@servicename //該計算機上的SQL服務的名稱
@@timeticks //當前計算機上每刻度的微秒數
@@transcount //當前連接打開的事務數
@@version //SQL Server的版本信息
4. 輸出
print'SQL服務名:'+@@servicename
select@@SERVICENAMEas'SQL服務名'
5. 邏輯控制項語句
declare@avgfloat
select@avg=avg(Score_Num)fromScoreswhereStu_Id='sc0002'
print'平均分為'+convert(var8),@avg)+'分'
if(@avg>90)
begin
print'最高分'
selectMAX(Score_Num)fromScores
end
else
begin
print'最低分'
selectMIN(Score_Num)fromScores
6. while 循環語句
declare@nint
while(1=1)
begin
select@n=COUNT(*)fromScoreswhereScore_Num<60
if(@n>0)
updateScoressetScore_Num+=2 whereScore_Num<60
else
break
end
print'加分後的成績'
select*fromScores
7. Case多分支語句
selectStu_id,score=case
whenScore_Num>90 then'A'
whenScore_Numbetween 80 and 89 then'B'
whenScore_Numbetween 60 and 79 then'C'
else'D'
end
fromScores
十一.高級查詢
1. where子查詢
2. in 和 not in 子查詢
3. if exists (子查詢)
;『貳』 創建代碼生成器可以很簡單:如何通過T4模板生成代碼[下篇]
但是這是一種基於單個文件的解決方案,即我們必須為每一個生成的存儲過程建立一個模板。如果我們提供一種基於多文件的代碼生成方式,將會為編程人員帶來極大的便利。藉助於T4 ToolBox這個開源工具箱,多文件的SQL Generator的實現變得異常簡單。[文中的例子可以從這里下載]目錄 二、創建自定義的Generator 三、ProcereGenerator如何被使用?一、多文件代碼生成器會帶來多大的便利?我們先來直觀的感受一下較之《上篇》提供的單一文件的代碼生成器,基於多文件的代碼生成解決方案會為開發人員帶來多大的便利。 同樣對於《上篇》創建的數據表T_PRODUCT,之前我們為了生成三個不同的存儲過程,我們不得已需要創建3個不同的T4模板文件。實際上我們更需要的方式只需要創建一個T4模板,讓我們的SQL Generator自動為我們生成3個包含相應存儲過程的.sql附屬文件,如左圖所示(點擊看大圖)。有的時候,基於單個數據表的存儲過程生成方式我們依然覺得不方便。如果我們能夠在T4模板文件中指定的數據表的列表,讓我們的SQL Generator為列表的每一個數據表都生成CUD三個存儲過程,這樣的方式更加具有吸引力。如右圖所示(點擊看大圖),一個訂單模塊包含兩個具有主子關系的兩張表(T_ORDER和T_ORDER_DETAIL),現在我們在一個T4模板中指定這兩個表明,通過SQL Generator可以幫助我們生成6個包含存儲過程的.sql附屬文件。甚至有的時候我們連數據表列表都無需指定,讓SQL Generator為所有的表都生成相應的存儲過程。我的例子中沒有提供這樣的功能,但是實現自來不會存在任何問題。二、創建自定義的Generator在《上篇》中我創建了一個抽象的ProcereTemplate類,以及三個基於生成CUD存儲過程的具體ProcereTemplate:InsertProcereTemplate、UpdateProcereTemplate和DeleteProcereTemplate。它們都將直接服務於我們今天將要提供的基於多文件的SQL Generator。在《上篇》中,這四個Template分別定義在4個不同的TT文件中,3個具體的ProcereTemplate通過<#@include>指令將抽象ProcereTemplate模板文件包含過來。由於我們將要創建的T4模板將會使用到這四個類,如果我們用四個<#@include>指令將四個TT文件包含過來,由於T4引擎將會導致對ProcereTemplate的4次包含,最好將會導致變異問題。個人覺得這應該算是T4引擎解析包含關系的一個局限性,為了解決這個問題我們不得不抽象的ProcereTemplate和三個具體的ProcereTemplate都合並成一個TT文件。T4 ToolBox為類庫中為了提供了一個抽象的T4Toolbox.Generator類用於實現多文件的代碼生成。為此我們創建一個TT模板文件,定義了如下一個繼承自該類的ProcereGenerator。ProcereGenerator的核心是通過屬性Templates定義的類型為IEnumerable<ProcereTemplate>的ProcereTemplate列表,這個列表在存儲過程中進行初始化。而對於ProcereGenerator的構造函數,處理定義了一個表示資料庫連接字元串的databaseName的參數外,並以數組參數的形式指定了生成的存儲過程基於的數據表名的列表。<#@ import namespace="System.Collections.Generic" #><#@ include file="ProcereTemplate.tt" #><#@ include file="T4Toolbox.tt" #><#+publicclass ProcereGenerator : Generator{public IEnumerable<ProcereTemplate> Templates{get; private set;}public ProcereGenerator(string databaseName, paramsstring[] tableNames) {if(null == tableNames || tableNames.Length == 0) {thrownew ArgumentNullException("tableNames"); } this.Templates = InitlizeTemplates(databaseName,tableNames); }private IEnumerable<ProcereTemplate> InitlizeTemplates(string databaseName, string[] tableNames) { foreach(string tableName in tableNames) {yieldreturnnew InsertProcereTemplate(databaseName, tableName);yieldreturnnew UpdateProcereTemplate(databaseName, tableName);yieldreturnnew DeleteProcereTemplate(databaseName, tableName); } }protectedoverridevoid RunCore() {foreach(ProcereTemplate tempalte inthis.Templates) { tempalte.RenderToFile(tempalte.GetProcereName() + ".sql"); } }}#>真正的存儲過程的T-SQL腳本實現在重寫的RunCore中。由於具體的文本轉化邏輯都定義在了ProcereTemplate中了,所以在這里我們需要遍歷的ProcereTemplate集合中每一個Template對象,調用RenderToFile方法將相應的存儲過程的腳本寫入以存儲過程命名同名的.sql文件中。三、ProcereGenerator如何被使用?我們最後來看看我們創建的ProcereGenerator最終如何被應用於具體的代碼生成。其實很簡單,我們只需要創建相應的模板文件,通過<#@include>將定義ProcereGenerator類的TT文件包含近來,最後以代碼語句調用塊(<#StatementCode#>)的形式實力化該對象,並調用Run方法即可。在構造函數中指定資料庫連接字元串的名稱和數據表名的列表。下面是基於但表的T4模板。<#@ template language="C#" hostSpecific="true" debug="true" #><#@ include file="Templates\ProcereGenerator.tt" #><#new ProcereGenerator("TestDb","T_PRODUCT").Run();#>下面是基於多表的T4模板:<#@ template language="C#" hostSpecific="true" debug="true" #><#@ include file="Templates\ProcereGenerator.tt" #><#new ProcereGenerator("TestDb","T_ORDER","T_ORDER_DETAIL").Run();#>當你代碼生成工作執行之後,會多出一個與TT文件同名的附屬文件,你需要手工刪除掉它。從數據到代碼——通過代碼生成機制實現強類型編程[上篇]從數據到代碼——通過代碼生成機制實現強類型編程[下篇]從數據到代碼——基於T4的代碼生成方式
『叄』 SQL Server在創建資料庫時,使用什麼資料庫模板
代碼如下:
USE [master]
GO
IF EXISTS(SELECT 1 FROM sysdatabases WHERE NAME=N'HkTemp')
BEGIN
DROP DATABASE HkTemp --如果資料庫存在先刪掉資料庫
END
GO
CREATE DATABASE HkTemp
ON
PRIMARY --創建主資料庫文件
(
NAME='HkTemp',
FILENAME='E:\Databases\HkTemp.dbf',
SIZE=5MB,
MaxSize=20MB,
FileGrowth=1MB
)
LOG ON --創建日誌文件
(
NAME='HkTempLog',
FileName='E:\Databases\HkTemp.ldf',
Size=2MB,
MaxSize=20MB,
FileGrowth=1MB
)
GO
--添加表
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'Hksj_User') AND type in (N'U'))
BEGIN
CREATE TABLE Hksj_User
(
Id INT IDENTITY(1,1) NOT NULL,
SName NVARCHAR(20) NOT NULL,
SNickName NVARCHAR(20),
SPassWord NVARCHAR(30) NOT NULL,
DCreateDate DATETIME ,
SCreator NVARCHAR(20),
SEmail NVARCHAR(50),
SPhone NVARCHAR(50),
SIdentifyId NVARCHAR(30),
DLastTimeLogOn DATETIME
PRIMARY KEY CLUSTERED
(
Id ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO
--添加註釋
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'登錄名' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Hksj_User', @level2type=N'COLUMN',@level2name=N'SName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'郵箱' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Hksj_User', @level2type=N'COLUMN',@level2name=N'SEmail'
『肆』 SQL資料庫用代碼創建 怎麼創建
create database 資料庫名稱
on
(
name='aaa',
filename='aaa.dbf',
size=初始大小,
maxsize=存儲上限,
filegrowth=增長增量
)
log on
(
name='b',
filename='b.ldf',
size=初始大小,
maxsize=存儲上限,
filegrowth=增長增量
)
(4)最簡單的sql模板擴展閱讀:
SQL語句創建基本資料庫
SQL語句代碼:CREATE DATABASE 語句。
CREATE DATABASE Epiphany
ON
(
NAME = Epiphany,
FILENAME = 'E:SQL SERVER 2008Epiphany_data.mdf',
SIZE = 5MB,
MAXSIZE = 20,
FILEGROWTH = 20
)
LOG ON
(
NAME = Epiphany,
FILENAME = 'E:SQL SERVER 2008Epiphany_log.ldf',
SIZE = 2MB,
MAXSIZE = 10MB,
FILEGROWTH = 1MB
);
可以用這個模板,例子:
CREATE DATABASE Epiphany
ON
(
NAME = Epiphany,
FILENAME = 'E:SQL SERVER 2008Epiphany_data.mdf',
SIZE = 5MB,
MAXSIZE = 20,
FILEGROWTH = 20
)
LOG ON
(
NAME = Epiphany,
FILENAME = 'E:SQL SERVER 2008Epiphany_log.ldf',
SIZE = 2MB,
MAXSIZE = 10MB,
FILEGROWTH = 1MB
);
完畢!
『伍』 資料庫系統sql
master,model,msdb,northwind,pubs,tempdb
pubs 示例資料庫
pubs 示例資料庫以一個圖書出版公司為模型,用於演示 Microsoft® SQL Server™ 資料庫中可用的許多選項鎮世液。該資料庫及其中的表經常在文檔內容所介紹的示例中使用。
Northwind 示例資料庫
Northwind Traders 示例資料庫包含一個名為 Northwind Traders 的虛構公司的銷售數據,該公司從事世界各地的特產食品進出口貿易。
master 資料庫
master 資料庫記錄 SQL Server 系統的所有系統級別信息。它記錄所有的登錄帳戶和系統配置設置。master 資料庫是這樣一個資料庫,它記錄所有其它的資料庫,其中包括數據返讓庫文件的位置。master 資料庫記錄 SQL Server 的初始化信息,它始終有一個可用的最新 master 資料庫備份。
tempdb 資料庫
tempdb 資料庫保存所有的臨時表和臨時存儲過程。它還滿足任何其它的臨時存儲要求,例如存儲 SQL Server 生成的工作表。tempdb 資料庫是全局資御物源,所有連接到系統的用戶的臨時表和存儲過程都存儲在該資料庫中。tempdb 資料庫在 SQL Server 每次啟動時都重新創建,因此該資料庫在系統啟動時總是干凈的。臨時表和存儲過程在連接斷開時自動除去,而且當系統關閉後將沒有任何連接處於活動狀態,因此 tempdb 資料庫中沒有任何內容會從 SQL Server 的一個會話保存到另一個會話。
默認情況下,在 SQL Server 在運行時 tempdb 資料庫會根據需要自動增長。不過,與其它資料庫不同,每次啟動資料庫引擎時,它會重置為其初始大小。如果為 tempdb 資料庫定義的大小較小,則每次重新啟動 SQL Server時,將tempdb 資料庫的大小自動增加到支持工作負荷所需的大小這一工作可能會成為系統處理負荷的一部分。為避免這種開銷,可以使用 ALTER DATABASE 增加 tempdb 資料庫的大小。
model 資料庫
model 資料庫用作在系統上創建的所有資料庫的模板。當發出 CREATE DATABASE 語句時,新資料庫的第一部分通過復制 model 資料庫中的內容創建,剩餘部分由空頁填充。由於 SQL Server 每次啟動時都要創建 tempdb 資料庫,model 資料庫必須一直存在於 SQL Server 系統中。
msdb 資料庫
msdb 資料庫供 SQL Server 代理程序調度警報和作業以及記錄操作員時使用。
『陸』 vs2012的sql資料庫模板怎麼創建表懇求幫忙
這些操作,保存的只是sql腳本,還需要執行腳本才能添加表。
在上面第二張圖中,編輯好了,點左上角「更新」按鈕,會彈出一個框,再點「更新資料庫」,這時才真正建表。在資料庫的表上右擊,刷新,即可見。
『柒』 資料庫是SQL Server在創建資料庫時,可以使用什麼資料庫模板
SQL server裡面有個叫企業管理器的東西,進去後用它自帶的模板建庫就好了啊,很方便的,不需要敲什麽代碼