? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?SQL(結(jié)構(gòu)化查詢(xún)語(yǔ)言)
一、關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)(RDMS)
關(guān)系型數(shù)據(jù)庫(kù),是指采用了關(guān)系模型來(lái)組織數(shù)據(jù)的數(shù)據(jù)庫(kù),其以行和列的形式存儲(chǔ)數(shù)據(jù),以便于用戶(hù)理解,關(guān)系型數(shù)據(jù)庫(kù)這一系列的行和列被稱(chēng)為表,一組表組成了數(shù)據(jù)庫(kù)。用戶(hù)通過(guò)查詢(xún)來(lái)檢索數(shù)據(jù)庫(kù)中的數(shù)據(jù),而查詢(xún)是一個(gè)用于限定數(shù)據(jù)庫(kù)中某些區(qū)域的執(zhí)行代碼。關(guān)系模型可以簡(jiǎn)單理解為二維表格模型,而一個(gè)關(guān)系型數(shù)據(jù)庫(kù)就是由二維表及其之間的關(guān)系組成的一個(gè)數(shù)據(jù)組織。
二、創(chuàng)建數(shù)據(jù)庫(kù)
? ? ? ?創(chuàng)建一個(gè)數(shù)據(jù)文件和一個(gè)日志文件的數(shù)據(jù)庫(kù)
use master --只想當(dāng)前使用的數(shù)據(jù)庫(kù)
? ? GO? ? ? ? ? --批處理標(biāo)志
? ? create database BOOK? ? ? --創(chuàng)建book數(shù)據(jù)庫(kù)
? ? on primary? ? --主文件組
? (
? ? ? ? name='book_data',? ? --主文件邏輯文件名
? ? ? ? filename='D:\acdd\book_data.mdf' , --主文件物理文件名 目錄的位置
? ? ? ? SIZE=5MB,? ? ? ? ? ? ? --主文件的初始大小
? ? ? ? maxsize=100MB,? ? ? ? ? ? --主文件的增長(zhǎng)的最大值
? ? ? ? filegrowth=15%? ? ? ? ? ? ? --主文件的增長(zhǎng)率
? )
? log on? --日志文件
? (
? ? name='book_log',? ? --日志文件邏輯文件名
? ? filename='D:\acdd\book_log.ldf',? ? ? --日志文件物理文件名
? ? size=5MB,? ? ? ? --日志文件初始大小?
? ? filegrowth=0? ? ? ? --為啟用自動(dòng)增長(zhǎng)
? )
GO
三、分離數(shù)據(jù)庫(kù)
sp_detach_db book
分離數(shù)據(jù)庫(kù)?:?exec sp_datach_db @dbname=數(shù)據(jù)庫(kù)的名字
四、附加數(shù)據(jù)庫(kù)
GO
CREATE DATABASE book
ON PRIMARY (FILENAME = 'd:\acdd\book_data.mdf')
FOR ATTACH
GO
附加數(shù)據(jù)庫(kù)?:?exec sp_attach_db @dbname=數(shù)據(jù)庫(kù)的名字,
@filename 1=‘d:\pro\shuju.mdf’,
@filename 2=‘d:\pro\shuju.ldf’
五、修改數(shù)據(jù)庫(kù)
ALTER DATABASE [數(shù)據(jù)庫(kù)名] { [ DEFAULT ] CHARACTER SET <字符集名> |
[ DEFAULT ] COLLATE <校對(duì)規(guī)則名>}
Alter table [表名] Alter column [列名] [列類(lèi)型]
alter database 數(shù)據(jù)庫(kù)名稱(chēng)
modify file? ? ? ? 修改列的屬性要用modify 不能用alter
(name='數(shù)據(jù)庫(kù)文件邏輯名稱(chēng)',
size=修改后的大小,
maxsize=修改后大小,
filegrowth=修改后大小
)
go
六、創(chuàng)建數(shù)據(jù)庫(kù)用戶(hù)
創(chuàng)建登錄名
create login admin with password='123456'
創(chuàng)建數(shù)據(jù)庫(kù)用戶(hù)并且關(guān)聯(lián)到登錄名
create user adminsd for login admin
為數(shù)據(jù)庫(kù)用戶(hù)賦予權(quán)限
grant?操作權(quán)限?on?表名?to?用戶(hù)名
create login admin with password=‘a(chǎn)sc’ ?--這個(gè)只是能登陸到數(shù)據(jù)庫(kù)的一個(gè)賬號(hào)而且這個(gè)賬號(hào)只有默認(rèn)的權(quán)限操作數(shù)據(jù)庫(kù)庫(kù),要想改服務(wù)器一些配置需要給予權(quán)限。
sp_addsrvrolemember ‘a(chǎn)dmin’,’sysadmin’??--給予登錄名admin?服務(wù)器級(jí)管理權(quán)限
sp_dropsrvrolemember ‘a(chǎn)dmin’,’sysadmin’??--撤銷(xiāo)權(quán)限
創(chuàng)建表
字段(field)指的是某一行某一列對(duì)應(yīng)的數(shù)據(jù)(或保存數(shù)據(jù)的地方)
SQL語(yǔ)言中的數(shù)據(jù)查詢(xún)分為4種基本類(lèi)型:
SELECT:這條語(yǔ)句要求返回指定結(jié)果的數(shù)據(jù)集合;你可以用這一語(yǔ)句檢索中保存的信息。?
INSERT:這條語(yǔ)句用來(lái)給數(shù)據(jù)表增加新一行數(shù)據(jù)。?
DELETE:該語(yǔ)句從你的中刪除若干行數(shù)據(jù)。?
UPDATE:該語(yǔ)句修改內(nèi)的現(xiàn)有數(shù)據(jù)。?