超碰人人人人人,亚洲AV午夜福利精品一区二区,亚洲欧美综合区丁香五月1区,日韩欧美亚洲系列

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

[點(diǎn)晴永久免費(fèi)OA]SQL基礎(chǔ)之?dāng)?shù)據(jù)庫表創(chuàng)建,數(shù)據(jù)庫的分離、附加(SQL腳本版)

admin
2023年4月18日 15:7 本文熱度 1650

本篇文章總結(jié)的是在SQL Server 2012數(shù)據(jù)庫環(huán)境下,使用SQL語句創(chuàng)建數(shù)據(jù)庫與創(chuàng)建表,并分離數(shù)據(jù)庫后在進(jìn)行附加操作,內(nèi)容比較基礎(chǔ),適合數(shù)據(jù)庫初學(xué)者參考學(xué)習(xí),希望對大家有所幫助!當(dāng)然,基礎(chǔ)知識(shí)掌握不牢的記得點(diǎn)贊收藏,以備不時(shí)之需!

下一篇文章將介紹在使用SQL Sever Management Studio管理工具時(shí),圖形界面下,進(jìn)行數(shù)據(jù)庫的創(chuàng)建、分離、附加、數(shù)據(jù)表的創(chuàng)建等操作。

一、通過SQL語句實(shí)現(xiàn)

1.1 創(chuàng)建數(shù)據(jù)庫

創(chuàng)建數(shù)據(jù)庫基礎(chǔ)語法結(jié)構(gòu)

create database 數(shù)據(jù)庫名稱        --創(chuàng)建數(shù)據(jù)庫
on primary
(
  name                --數(shù)據(jù)庫數(shù)據(jù)文件的邏輯名稱
  filename          --物理存放位置及物理文件名稱(Student_info.mdf就是在磁盤上顯示的名稱)
  size                --設(shè)置數(shù)據(jù)文件初始大小
  maxsize                --主文件的最大增長值,unlimited是無限制
  filegrowth              --設(shè)置主數(shù)據(jù)文件增長幅度
)
log on                  --定義事務(wù)日志文件
(
  name                 --數(shù)據(jù)庫日志文件的邏輯名稱
  filename              --物理存放位置及物理文件名稱
  size=                --設(shè)置事務(wù)日志文件初始大小
  maxsize                --設(shè)置最大限制為
  filegrowth              --設(shè)置事務(wù)日志增長幅度
)


舉個(gè)例子,創(chuàng)建一個(gè)Student數(shù)據(jù)庫,SQL腳本如下:

create database Student--創(chuàng)建數(shù)據(jù)庫
on primary(
  name= Student,--數(shù)據(jù)庫的邏輯名稱
  filename='D:\學(xué)生信息管理系統(tǒng)\Student.mdf',--物理存放位置及物理文件名稱(Student.mdf就是在磁盤上顯示的名稱)
  size=20,--初始大小20MB
  maxsize=300,--最大限制300MB
  filegrowth=5--主數(shù)據(jù)文件增長幅度為5MB
)
log on--定義事務(wù)日志文件
(
  name =Student_log,--邏輯名稱
  filename='D:\學(xué)生信息管理系統(tǒng)\Student_log.ldf',--物理存放位置及物理文件名稱(Student_log.Ldf就是在磁盤上顯示的名稱)
  size=5,--初始大小為5MB
  maxsize=50,--最大限制為50MB
  filegrowth=1--事務(wù)日志增長幅度為1MB
)


1.2 查看、驗(yàn)證創(chuàng)建的數(shù)據(jù)庫屬性是否符合要求

執(zhí)行sp_helpdb系統(tǒng)存儲(chǔ)過程查看Student數(shù)據(jù)庫的信息。 

sp_helpdb Student


查詢結(jié)果如下:

1.3 修改數(shù)據(jù)庫的屬性

假如,我們發(fā)現(xiàn)數(shù)據(jù)庫的屬性,創(chuàng)建的時(shí)候不小心寫錯(cuò)了或者因?yàn)閯e的原因需要修改數(shù)據(jù)屬性的時(shí)候應(yīng)該怎么辦呢?下邊介紹給你怎么進(jìn)行修改,例如:

將剛剛創(chuàng)建的數(shù)據(jù)庫Student數(shù)據(jù)文件的初始值大小 改為50MB, 最大值 改為400MB, 數(shù)據(jù)增長量 改為5%, 日志文件初始值 改為30MB, 最大值 改為60MB, 數(shù)據(jù)增長量 為6%

--修改數(shù)據(jù)文件屬性
alter DATABASE  Student
MODIFY FILE
(
  NAME = Student,--要修改屬性的數(shù)據(jù)庫mdf文件名稱
  SIZE = 50,--修改初始大小為30mb
  maxsize=400,--修改最大限制為300mb
  filegrowth=5%--修改事務(wù)日志增長幅度為5%
)
--修改事務(wù)日志文件屬性
alter DATABASE  Student
MODIFY FILE
(
  NAME =Student_log,--要修改屬性日志的ldf文件名稱
  size=30,--修改初始大小為20mb
  maxsize=60,--修改最大限制為60mb
  filegrowth=6%--修改事務(wù)日志增長幅度為6%
)


修改后數(shù)據(jù)庫屬性信息查詢

1.4 數(shù)據(jù)庫的分離與附加

數(shù)據(jù)庫分離是指將數(shù)據(jù)庫文件從數(shù)據(jù)庫服務(wù)器實(shí)例中分離出來,相當(dāng)于關(guān)閉了數(shù)據(jù)庫。數(shù)據(jù)庫分離后,應(yīng)用程序不能連接到該數(shù)據(jù)庫,數(shù)據(jù)庫文件可以被其它進(jìn)程訪問。通常分離數(shù)據(jù)庫用于快速地將數(shù)據(jù)庫遷移到另一個(gè)SQL Server實(shí)例。數(shù)據(jù)庫分離后,還可以附加到SQL Server實(shí)例。

一般默認(rèn)情況下數(shù)據(jù)庫在聯(lián)機(jī)狀態(tài)下我們不能對數(shù)據(jù)庫文件進(jìn)行任何復(fù)制刪除等操作,如果將數(shù)據(jù)庫分離的話就可以對數(shù)據(jù)文件進(jìn)行復(fù)制、剪切、刪除等操作了。一般想直接備份數(shù)據(jù)文件,就先分離數(shù)據(jù)庫,之后把數(shù)據(jù)文件復(fù)制到別的地方,再把數(shù)據(jù)文件附加回去就可以了。備份數(shù)據(jù)庫是將數(shù)據(jù)庫中全部對象以特定格式導(dǎo)成為備份文件,至于格式全部是數(shù)據(jù)庫引擎來使用,用戶無需關(guān)心。導(dǎo)出數(shù)據(jù)庫是將數(shù)據(jù)庫中某些對象導(dǎo)出為其他格式的文件,一般都是行集的形式。


數(shù)據(jù)庫分離、附加SQL語法如下:
--聲明數(shù)據(jù)庫引用
use master;
go
--分離
exec sp_detach_db @dbname=N'數(shù)據(jù)庫名'
--附加
exec sp_attach_db @dbname=N'數(shù)據(jù)庫名',@filename1=N'.mdf的文件路徑',@filename2=N'.ldf的文件路徑'


值得注意的事,直接分離可能會(huì)報(bào)錯(cuò),就像這樣“無法分離 數(shù)據(jù)庫“Student”,因?yàn)樗?dāng)前正在使用。

如果我們遇到這種情況,可以先這樣進(jìn)行操作

--根據(jù)查詢出的DBID,得到用戶連接的spid
select * from sysprocesses where dbid=DB_ID('Student')
--然后殺掉它,這個(gè)是上邊語句的查詢結(jié)果,我的顯示是四個(gè)進(jìn)程
KILL 81
KILL 82
KILL 84
KILL 107


實(shí),分離不了數(shù)據(jù)庫的根本原因是有用戶連接操作,首先我們要終止用戶連接,終止連接就必須要干掉進(jìn)程

再次執(zhí)行分離數(shù)據(jù)庫命令就OK了

--聲明數(shù)據(jù)庫引用
use master;
go
----將數(shù)據(jù)庫Student分離
exec sys.sp_detach_db @dbname='Student'
go


分離之后在進(jìn)行附加操作如下

--附加Student數(shù)據(jù)庫
exec sp_attach_db @dbname='Student',@filename1='D:\學(xué)生信息管理系統(tǒng)\Student.mdf',@filename2='D:\學(xué)生信息管理系統(tǒng)\Student_log.ldf'


1.5 創(chuàng)建數(shù)據(jù)表

基本語法:

create table 表名(
  屬性名1 類型,
  屬性名2 類型,
  屬性名3 類型    --注意最后一條語句不用','
)


舉例,在Student數(shù)據(jù)庫下,創(chuàng)建三張數(shù)據(jù)表

use Student;
go
--創(chuàng)建Student表
create table Student(
  Sno char(8) primary key not null,      --學(xué)號(hào),并設(shè)置為主鍵(primary key)和非空(not null)
  Sname varchar(8) not null,          --學(xué)生姓名
  Sex char(2) default '男' not null,      --性別,設(shè)置默認(rèn)值(default)為'男'
  Birth smalldatetime not null,        --出生年月
  Classno char(3) not null,          --班級(jí)號(hào)
  Entrance_date smalldatetime not null,    --入學(xué)時(shí)間
  Home_addr varchar(40)            --家庭住址(可以為空)
)
--創(chuàng)建Course表
create table Course(
  Cno char(3) primary key not null,            --課程號(hào)
  Cname varchar(20) not null,          --課程名稱
  Toal_perior smallint,            --總學(xué)時(shí)
  Gredit tinyint check(Gredit>0 and Gredit<=6)  --學(xué)分,這里要使用check約束
)
--創(chuàng)建sc表
create table Sc(
  Sno char(8)  not null,            --學(xué)號(hào)
  Cno char(3) not null,            --課程號(hào)
  primary key(sno,cno),            --設(shè)置sno和cno的屬性組為主鍵
  foreign key(sno)references student(sno),    --設(shè)置外鍵
  foreign key(cno)references course(cno),    --設(shè)置外鍵
  Grade tinyint check(  Grade>=0 and Grade<=100)  --成績
)

該文章在 2023/4/18 15:14:01 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲(chǔ)管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved