新聞中心
在當(dāng)今的信息時代,數(shù)據(jù)庫已經(jīng)成為了各行各業(yè)儲存和管理數(shù)據(jù)的重要工具。隨著大數(shù)據(jù)時代的到來,數(shù)據(jù)庫管理越來越受到企業(yè)和個人的關(guān)注和需求。而在建立數(shù)據(jù)庫項目時,使用適當(dāng)?shù)恼Z句是非常重要的,它可以幫助我們更快速地完成開發(fā)工作,提高我們的工作效率和準(zhǔn)確性。本文將介紹在不同的數(shù)據(jù)庫平臺上使用哪些語句可以有效地建立數(shù)據(jù)庫項目。

一、MySql
MySQL是一款開源的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),廣泛應(yīng)用于各種網(wǎng)站、移動應(yīng)用程序等。下面是在MySQL上創(chuàng)建數(shù)據(jù)庫過程中使用的幾個重要語句:
1.創(chuàng)建數(shù)據(jù)庫表
在MySQL中創(chuàng)建數(shù)據(jù)庫表的代碼如下:
CREATE TABLE table_name (
column1 datatype,
column2 datatype,
column3 datatype,
…..
);
其中,table_name是數(shù)據(jù)庫表的名稱,column1, column2, column3等是數(shù)據(jù)庫表中的列,datatype是列的數(shù)據(jù)類型。例如:
CREATE TABLE employees (
id int,
name varchar(255),
age int,
salary float
);
2.刪除數(shù)據(jù)庫表
在MySQL中刪除數(shù)據(jù)庫表的代碼如下:
DROP TABLE table_name;
其中,table_name是要刪除的數(shù)據(jù)庫表的名稱?!癉ROP TABLE”語句會將整個表從數(shù)據(jù)庫中移除。例如:
DROP TABLE employees;
3.查詢某個表的所有列
在MySQL中查詢某個表的所有列的代碼如下:
SELECT * FROM table_name;
其中,“SELECT”語句用于從數(shù)據(jù)庫中查詢數(shù)據(jù),而“*”表示查詢表的所有列。例如:
SELECT * FROM employees;
4.插入數(shù)據(jù)
在MySQL中插入數(shù)據(jù)的代碼如下:
INSERT INTO table_name (column1, column2, column3, …) VALUES (value1, value2, value3, …);
其中,“INSERT INTO”語句用于向表中插入數(shù)據(jù)。例如:
INSERT INTO employees (id, name, age, salary) VALUES (1, ‘Peter Parker’, 25, 5000);
二、Oracle
Oracle是一種商業(yè)的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),廣泛應(yīng)用于企業(yè)級應(yīng)用程序。下面是在Oracle上創(chuàng)建數(shù)據(jù)庫過程中使用的幾個重要語句:
1.創(chuàng)建用戶
在Oracle中創(chuàng)建用戶的代碼如下:
CREATE USER username IDENTIFIED BY password;
其中,username是用戶的名稱,password是用戶的密碼。例如:
CREATE USER peter IDENTIFIED BY 123456;
2.刪除用戶
在Oracle中刪除用戶的代碼如下:
DROP USER username;
其中,username是要刪除的用戶的名稱。例如:
DROP USER peter;
3.創(chuàng)建表
在Oracle中創(chuàng)建表的代碼如下:
CREATE TABLE table_name (
column1 datatype [ NULL | NOT NULL ],
column2 datatype [ NULL | NOT NULL ],
…
);
其中,table_name是要創(chuàng)建的表的名稱,column1, column2等是表中的列,datatype是列的數(shù)據(jù)類型。例如:
CREATE TABLE employees (
id NUMBER(10),
name VARCHAR2(50),
age NUMBER(3),
salary NUMBER(9,2)
);
4.查詢某個表的所有列
在Oracle中查詢某個表的所有列的代碼如下:
SELECT * FROM table_name;
其中,“SELECT”語句用于從數(shù)據(jù)庫中查詢數(shù)據(jù),而“*”表示查詢表的所有列。例如:
SELECT * FROM employees;
三、SQL Server
SQL Server是一種商業(yè)的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),由微軟公司開發(fā)和推廣。下面是在SQL Server上創(chuàng)建數(shù)據(jù)庫過程中使用的幾個重要語句:
1.創(chuàng)建數(shù)據(jù)庫
在SQL Server中創(chuàng)建數(shù)據(jù)庫的代碼如下:
CREATE DATABASE database_name;
其中,database_name是要創(chuàng)建的數(shù)據(jù)庫的名稱。例如:
CREATE DATABASE Company;
2.刪除數(shù)據(jù)庫
在SQL Server中刪除數(shù)據(jù)庫的代碼如下:
DROP DATABASE database_name;
其中,database_name是要刪除的數(shù)據(jù)庫的名稱。例如:
DROP DATABASE Company;
3.創(chuàng)建表
在SQL Server中創(chuàng)建表的代碼如下:
CREATE TABLE table_name (
column1 datatype [ NULL | NOT NULL ] [ DEFAULT default_value ],
column2 datatype [ NULL | NOT NULL ] [ DEFAULT default_value ],
…..
);
其中,table_name是要創(chuàng)建的表的名稱,column1, column2等是表中的列,datatype是列的數(shù)據(jù)類型,default_value是列的默認(rèn)值。例如:
CREATE TABLE employees (
id INT,
name VARCHAR(50),
age INT,
salary MONEY
);
4.查詢某個表的所有列
在SQL Server中查詢某個表的所有列的代碼如下:
SELECT * FROM table_name;
其中,“SELECT”語句用于從數(shù)據(jù)庫中查詢數(shù)據(jù),而“*”表示查詢表的所有列。例如:
SELECT * FROM employees;
綜上所述,我們可以看出在各個數(shù)據(jù)庫平臺上,要創(chuàng)建數(shù)據(jù)庫,刪除數(shù)據(jù)庫,創(chuàng)建表,查詢某個表的所有列都需要不同的語句,因此我們需要根據(jù)不同的數(shù)據(jù)庫語法來選擇適合的語句。只有掌握了這些語句,我們才能更好地建立數(shù)據(jù)管理系統(tǒng),提高我們的開發(fā)效率和準(zhǔn)確性。
相關(guān)問題拓展閱讀:
- 通過SQL語句使用什么命令創(chuàng)建數(shù)據(jù)庫
通過SQL語句使用什么命令創(chuàng)建數(shù)據(jù)庫
MySQL云激腔螞弊數(shù)據(jù)庫創(chuàng)建、配置與使用教程,明物衫五秒鐘創(chuàng)建屬于自己的mysql云數(shù)據(jù)庫,申請
CREATE DATABASE 為SQl語句,用于創(chuàng)建數(shù)據(jù)庫。
語法
CREATE DATABASE database_name
>
>
>
} >
::=
(
FILENAME =’os_file_name’
)
::=
FILEGROUP filegroup_name
參數(shù)
database_name
新數(shù)據(jù)庫的名稱。數(shù)據(jù)庫名稱在服務(wù)器中必須唯一,并且符合標(biāo)識符的規(guī)則。database_name最多可以包含 128 個字符,除非沒有為日志指定邏輯名。如果沒有指定日志文件的邏輯名,則 Microsoft? SQL Server? 會通過向 database_name追加后綴來生成邏輯名。該操作要求 database_name在 123 個字符之內(nèi),以便生成的日志文件邏輯名少于 128 個字符。
ON
指定顯式定義用來存儲數(shù)據(jù)庫數(shù)據(jù)部分的磁盤文件(數(shù)據(jù)文件)。該關(guān)鍵字后跟以逗號分隔的 項列表, 項用以定義主文件組的數(shù)據(jù)文件。主文件組的文件列表后可跟以逗號分隔的 項列表(可選), 項用以定義用戶文件組及其文件。
n
占位符,表示可以為新數(shù)據(jù)庫指定多個文件。
LOG ON
指定顯式定義用來存儲數(shù)據(jù)庫日志的磁盤文件(日志文件)。該關(guān)鍵字后跟以逗號分隔的 項列表, 項用以定義日志文件。如果沒有指定 LOG ON,將自動創(chuàng)建一個日志文件,該文件使用系統(tǒng)生成的名稱,大小為數(shù)據(jù)庫中所有數(shù)據(jù)文件總大小的 25%。
FOR LOAD
支持該子句是為了與早期版早昌哪本的 Microsoft SQL Server 兼容。數(shù)據(jù)庫在打開 dbo use only數(shù)據(jù)庫選項的情況下創(chuàng)建,并且將其狀態(tài)設(shè)置為正在裝載。SQL Server 7.0 版中不需要該子句,因為 RESTORE 語句可以作為還原操作的一部分重新創(chuàng)建數(shù)據(jù)庫。
FOR ATTACH
指定從現(xiàn)有的一組操陸碼作系統(tǒng)文件中附加數(shù)據(jù)庫。必須有指定之一個主文件的 條目。至于其它 條目,只需要與之一次創(chuàng)建數(shù)據(jù)庫或上一次附加數(shù)據(jù)庫時路徑不同的文件的那些條目。必須為這些文件指定 條目。
附加的數(shù)據(jù)庫必須使用與 SQL Server 相同的代碼頁和排序次序創(chuàng)建。應(yīng)使用 sp_attach_db系統(tǒng)存儲過程,而不要直接使用 CREATE DATABASE FOR ATTACH。只有必須指定 16 個以上的 項目時,才需要使用 CREATE DATABASE FOR ATTACH。
如果將數(shù)據(jù)庫附加到的服務(wù)器不是該數(shù)據(jù)庫從中分離的服務(wù)器,并且啟用了分離的數(shù)據(jù)庫以進行復(fù)制,則應(yīng)該運行 sp_removedbreplication從數(shù)據(jù)庫刪除復(fù)制。
collation_name
指定數(shù)據(jù)庫的默認(rèn)排序規(guī)則。排序規(guī)則名稱既迅敏可以是 Windows 排序規(guī)則名稱,也可以是 SQL 排序規(guī)則名稱。如果沒有指定排序規(guī)則,則將 SQL Server 實例的默認(rèn)排序規(guī)則指派為數(shù)據(jù)庫的排序規(guī)則。
有關(guān) Windows 和 SQL 排序規(guī)則名稱的更多信息,請參見 COLLATE。
PRIMARY
指定關(guān)聯(lián)的 列表定義主文件。主文件組包含所有數(shù)據(jù)庫系統(tǒng)表。還包含所有未指派給用戶文件組的對象。主文件組的之一個 條目成為主文件,該文件包含數(shù)據(jù)庫的邏輯起點及其系統(tǒng)表。一個數(shù)據(jù)庫只能有一個主文件。如果沒有指定 PRIMARY,那么 CREATE DATABASE 語句中列出的之一個文件將成為主文件。
NAME
為由 定義的文件指定邏輯名稱。如果指定了 FOR ATTACH,則不需要指定 NAME 參數(shù)。
logical_file_name
用來在創(chuàng)建數(shù)據(jù)庫后執(zhí)行的 Transact-SQL 語句中引用文件的名稱。logical_file_name在數(shù)據(jù)庫中必須唯一,并且符合標(biāo)識符的規(guī)則。該名稱可以是字符或 Unicode 常量,也可以是常規(guī)標(biāo)識符或定界標(biāo)識符。
FILENAME
為 定義的文件指定操作系統(tǒng)文件名。
‘os_file_name’
操作系統(tǒng)創(chuàng)建 定義的物理文件時使用的路徑名和文件名。os_file_name中的路徑必須指定 SQL Server 實例上的目錄。os_file_name不能指定壓縮文件系統(tǒng)中的目錄。
如果文件在原始分區(qū)上創(chuàng)建,則 os_file_name必須只指定現(xiàn)有原始分區(qū)的驅(qū)動器字母。每個原始分區(qū)上只能創(chuàng)建一個文件。原始分區(qū)上的文件不會自動增長;因此,os_file_name指定原始分區(qū)時,不需要指定 MAXSIZE 和 FILEGROWTH 參數(shù)。
SIZE
指定 中定義的文件的大小。如果主文件的 中沒有提供 SIZE 參數(shù),那么 SQL Server 將使用 model數(shù)據(jù)庫中的主文件大小。如果次要文件或日志文件的 中沒有指定 SIZE 參數(shù),則 SQL Server 將使文件大小為 1 MB。
size
中定義的文件的初始大小??梢允褂们ё止?jié) (KB)、兆字節(jié) (MB)、千兆字節(jié) (GB) 或兆兆字節(jié) (TB) 后綴。默認(rèn)值為 MB。指定一個整數(shù),不要包含小數(shù)位。size的最小值為 512 KB。如果沒有指定 size,則默認(rèn)值為 1 MB。為主文件指定的大小至少應(yīng)與 model數(shù)據(jù)庫的主文件大小相同。
MAXSIZE
指定 中定義的文件可以增長到的更大大小。
max_size
中定義的文件可以增長到的更大大小??梢允褂们ё止?jié) (KB)、兆字節(jié) (MB)、千兆字節(jié) (GB) 或兆兆字節(jié) (TB) 后綴。默認(rèn)值為 MB。指定一個整數(shù),不要包含小數(shù)位。如果沒有指定 max_size,那么文件將增長到磁盤變滿為止
說明在磁盤即將變滿時,Microsoft Windows NT? S/B 系統(tǒng)日志會警告 SQL Server系統(tǒng)管理員。
UNLIMITED
指定 中定義的文件將增長到磁盤變滿為止。
FILEGROWTH
指定 中定義的文件的增長增量。文件的 FILEGROWTH 設(shè)置不能超過 MAXSIZE 設(shè)置。
growth_increment
每次需要新的空間時為文件添加的空間大小。指定一個整數(shù),不要包含小數(shù)位。0 值表示不增長。該值可以 MB、KB、GB、TB 或百分比 (%) 為單位指定。如果未在數(shù)量后面指定 MB、KB 或 %,則默認(rèn)值為 MB。如果指定 %,則增量大小為發(fā)生增長時文件大小的指定百分比。
如果沒有指定 FILEGROWTH,則默認(rèn)值為 10%,最小值為 64 KB。指定的大小舍入為最接近的 64 KB 的倍數(shù)。
擴展資料
組成
在正式學(xué)習(xí)SQL語言之前,首先讓我們對SQL語言有一個基本認(rèn)識,介紹一下SQL語言的組成:
1、一個SQL數(shù)據(jù)庫是表(Table)的,它由一個或多個SQL模式定義。
2、一個SQL表由行集構(gòu)成,一行是列的序列(),每列與行對應(yīng)一個數(shù)據(jù)項。
3、一個表或者是一個基本表或者是一個視圖?;颈硎菍嶋H存儲在數(shù)據(jù)庫的表,而視圖是由若干基本表或其他視圖構(gòu)成的表的定義。
4、一個基本表可以跨一個或多個存儲文件,一個存儲文件也可存放一個或多個基本表。每個存儲文件與外部存儲上一個物理文件對應(yīng)。
5、用戶可以用SQL語句對視圖和基本表進行查詢等操作。在用戶角度來看,視圖和基本表是一樣的,沒有區(qū)別,都是關(guān)系(表格)。
6、SQL用戶可以是應(yīng)用程序,也可以是終端用戶。SQL語句可嵌入在宿主語言的程序中使用,宿主語言有FORTRAN,COBOL,PASCAL,PL/I,C和Ada語言等。SQL用戶也能作為獨立的用戶接口,供交互環(huán)境下的終端用戶使用。
參考資料來源:
百度百科-SQL數(shù)據(jù)庫
參考資料來源:
百度百科-Create Database
在SQL幫助文檔里有詳細(xì)的解析:如下
CREATE DATABASE
創(chuàng)建一個新數(shù)據(jù)庫及存儲該數(shù)據(jù)庫的文件,或從先前創(chuàng)建的數(shù)據(jù)庫的文件中附加數(shù)據(jù)庫。
說明 有關(guān)與 DISK INIT 向后兼容性的更多信息,請參見”Microsoft? SQL Server? 向后兼容性詳細(xì)信息”中的設(shè)備(級別 3)。
語法
CREATE DATABASE database_name
>
>
>
} >
::=
(
FILENAME = ‘os_file_name’
)
::=
FILEGROUP filegroup_name
參數(shù)
database_name
新數(shù)據(jù)庫的名稱。數(shù)據(jù)庫臘喚手名稱在服務(wù)器中必須唯一,并且符合標(biāo)識符的規(guī)則。database_name 最多可以包含 128 個字符,除非沒有為日鏈緩志指定邏輯名。如果沒有指定日志文件的邏輯名,則 Microsoft? SQL Server? 會通過向 database_name 追加后綴來生成邏輯名。該操作要求 database_name 在 123 個字符之內(nèi),以便生成的日志文件邏輯名少于 128 個字符。
ON
指定顯式定義用來存儲數(shù)據(jù)庫數(shù)據(jù)部分的磁盤文件(數(shù)據(jù)文件)。該關(guān)鍵字后跟以逗號分隔的 項列表, 項用以定義主文件組的數(shù)據(jù)文件。主文件組的文件列表后可跟以逗號分隔的 項列表(可選), 項用以定義用戶文件組及其文件。
n
占位符,表示可以為新數(shù)據(jù)庫指定多個文件。
LOG ON
指定顯式定義用來存儲數(shù)據(jù)庫日志的磁盤文件(日志文件)。該關(guān)鍵字后跟以逗號分隔的 項列表, 項用以定義日志文件。如果沒有指定 LOG ON,將自動創(chuàng)建一個日志文件,該文件使用系統(tǒng)生成的名稱,大小為數(shù)據(jù)庫中所有數(shù)據(jù)文件總大小的 25%。
FOR LOAD
支持該子句是為了與早期版本的 Microsoft SQL Server 兼容。數(shù)據(jù)庫在打開 dbo use only 數(shù)據(jù)庫選項的情況下創(chuàng)建,并且將其狀態(tài)設(shè)置為正在裝載。SQL Server 7.0 版中不需要該子句,因為 RESTORE 語句可以作為還原操作的一部分重新創(chuàng)建數(shù)據(jù)庫。
FOR ATTACH
指定從現(xiàn)有的一組操作系統(tǒng)文件中附加數(shù)據(jù)庫。必須有指定之一個主文件的 條目。至于其它 條目,只需要與之一次創(chuàng)建數(shù)據(jù)庫或上一次附加數(shù)據(jù)庫時路徑不同的文件輪嫌的那些條目。必須為這些文件指定 條目。附加的數(shù)據(jù)庫必須使用與 SQL Server 相同的代碼頁和排序次序創(chuàng)建。應(yīng)使用 sp_attach_db 系統(tǒng)存儲過程,而不要直接使用 CREATE DATABASE FOR ATTACH。只有必須指定 16 個以上的 項目時,才需要使用 CREATE DATABASE FOR ATTACH。
如果將數(shù)據(jù)庫附加到的服務(wù)器不是該數(shù)據(jù)庫從中分離的服務(wù)器,并且啟用了分離的數(shù)據(jù)庫以進行復(fù)制,則應(yīng)該運行 sp_removedbreplication 從數(shù)據(jù)庫刪除復(fù)制。
collation_name
指定數(shù)據(jù)庫的默認(rèn)排序規(guī)則。排序規(guī)則名稱既可以是 Windows 排序規(guī)則名稱,也可以是 SQL 排序規(guī)則名稱。如果沒有指定排序規(guī)則,則將 SQL Server 實例的默認(rèn)排序規(guī)則指派為數(shù)據(jù)庫的排序規(guī)則。
有關(guān) Windows 和 SQL 排序規(guī)則名稱的更多信息,請參見 COLLATE。
PRIMARY
指定關(guān)聯(lián)的 列表定義主文件。主文件組包含所有數(shù)據(jù)庫系統(tǒng)表。還包含所有未指派給用戶文件組的對象。主文件組的之一個 條目成為主文件,該文件包含數(shù)據(jù)庫的邏輯起點及其系統(tǒng)表。一個數(shù)據(jù)庫只能有一個主文件。如果沒有指定 PRIMARY,那么 CREATE DATABASE 語句中列出的之一個文件將成為主文件。
NAME
為由 定義的文件指定邏輯名稱。如果指定了 FOR ATTACH,則不需要指定 NAME 參數(shù)。
logical_file_name
用來在創(chuàng)建數(shù)據(jù)庫后執(zhí)行的 Transact-SQL 語句中引用文件的名稱。logical_file_name 在數(shù)據(jù)庫中必須唯一,并且符合標(biāo)識符的規(guī)則。該名稱可以是字符或 Unicode 常量,也可以是常規(guī)標(biāo)識符或定界標(biāo)識符。
FILENAME
為 定義的文件指定操作系統(tǒng)文件名。
‘os_file_name’
操作系統(tǒng)創(chuàng)建 定義的物理文件時使用的路徑名和文件名。os_file_name 中的路徑必須指定 SQL Server 實例上的目錄。os_file_name 不能指定壓縮文件系統(tǒng)中的目錄。
如果文件在原始分區(qū)上創(chuàng)建,則 os_file_name 必須只指定現(xiàn)有原始分區(qū)的驅(qū)動器字母。每個原始分區(qū)上只能創(chuàng)建一個文件。原始分區(qū)上的文件不會自動增長;因此,os_file_name 指定原始分區(qū)時,不需要指定 MAXSIZE 和 FILEGROWTH 參數(shù)。
SIZE
指定 中定義的文件的大小。如果主文件的 中沒有提供 SIZE 參數(shù),那么 SQL Server 將使用 model 數(shù)據(jù)庫中的主文件大小。如果次要文件或日志文件的 中沒有指定 SIZE 參數(shù),則 SQL Server 將使文件大小為 1 MB。
size
中定義的文件的初始大小??梢允褂们ё止?jié) (KB)、兆字節(jié) (MB)、千兆字節(jié) (GB) 或兆兆字節(jié) (TB) 后綴。默認(rèn)值為 MB。指定一個整數(shù),不要包含小數(shù)位。size 的最小值為 512 KB。如果沒有指定 size,則默認(rèn)值為 1 MB。為主文件指定的大小至少應(yīng)與 model 數(shù)據(jù)庫的主文件大小相同。
MAXSIZE
指定 中定義的文件可以增長到的更大大小。
max_size
中定義的文件可以增長到的更大大小。可以使用千字節(jié) (KB)、兆字節(jié) (MB)、千兆字節(jié) (GB) 或兆兆字節(jié) (TB) 后綴。默認(rèn)值為 MB。指定一個整數(shù),不要包含小數(shù)位。如果沒有指定 max_size,那么文件將增長到磁盤變滿為止。
說明 在磁盤即將變滿時,Microsoft Windows NT? S/B 系統(tǒng)日志會警告 SQL Server 系統(tǒng)管理員。
UNLIMITED
指定 中定義的文件將增長到磁盤變滿為止。
FILEGROWTH
指定 中定義的文件的增長增量。文件的 FILEGROWTH 設(shè)置不能超過 MAXSIZE 設(shè)置。
growth_increment
每次需要新的空間時為文件添加的空間大小。指定一個整數(shù),不要包含小數(shù)位。0 值表示不增長。該值可以 MB、KB、GB、TB 或百分比 (%) 為單位指定。如果未在數(shù)量后面指定 MB、KB 或 %,則默認(rèn)值為 MB。如果指定 %,則增量大小為發(fā)生增長時文件大小的指定百分比。如果沒有指定 FILEGROWTH,則默認(rèn)值為 10%,最小值為 64 KB。指定的大小舍入為最接近的 64 KB 的倍數(shù)。
注釋
使用一條 CREATE DATABASE 語句即可創(chuàng)建數(shù)據(jù)庫以及存儲該數(shù)據(jù)庫的文件。SQL Server 分兩步實現(xiàn) CREATE DATABASE 語句:
SQL Server 使用 model 數(shù)據(jù)庫的復(fù)本初始化數(shù)據(jù)庫及其元數(shù)據(jù)。
然后,SQL Server 使用空頁填充數(shù)據(jù)庫的剩余部分,除了包含記錄數(shù)據(jù)庫中空間使用情況以外的內(nèi)部數(shù)據(jù)頁。
因此,model 數(shù)據(jù)庫中任何用戶定義對象均復(fù)制到所有新創(chuàng)建的數(shù)據(jù)庫中。可以向 model 數(shù)據(jù)庫中添加任何對象,例如表、視圖、存儲過程、數(shù)據(jù)類型等,以將這些對象添加到所有數(shù)據(jù)庫中。
每個新數(shù)據(jù)庫都從 model 數(shù)據(jù)庫繼承數(shù)據(jù)庫選項設(shè)置(除非指定了 FOR ATTACH)。例如,在 model 和任何創(chuàng)建的新數(shù)據(jù)庫中,數(shù)據(jù)庫選項 select into/bulkcopy 都設(shè)置為 OFF。如果使用 ALTER DATABASE 更改 model 數(shù)據(jù)庫的選項,則這些選項設(shè)置會在創(chuàng)建的新數(shù)據(jù)庫中生效。如果在 CREATE DATABASE 語句中指定了 FOR ATTACH,則新數(shù)據(jù)庫將繼承原始數(shù)據(jù)庫的數(shù)據(jù)庫選項設(shè)置。
一臺服務(wù)器上最多可以指定 32,767 個數(shù)據(jù)庫。
有三種類型的文件用來存儲數(shù)據(jù)庫:
主文件包含數(shù)據(jù)庫的啟動信息。主文件還可以用來存儲數(shù)據(jù)。每個數(shù)據(jù)庫都包含一個主文件。
次要文件保存所有主要數(shù)據(jù)文件中容納不下的數(shù)據(jù)。如果主文件大到足以容納數(shù)據(jù)庫中的所有數(shù)據(jù),就不需要有次要數(shù)據(jù)文件。而另一些數(shù)據(jù)庫可能非常大,需要多個次要數(shù)據(jù)文件,也可能使用多個獨立磁盤驅(qū)動器上的次要文件,以將數(shù)據(jù)分布在多個磁盤上。
事務(wù)日志文件保存用來恢復(fù)數(shù)據(jù)庫的日志信息。每個數(shù)據(jù)庫必須至少有一個事務(wù)日志文件(盡管可以有多個)。事務(wù)日志文件最小為 512 KB。
每個數(shù)據(jù)庫至少有兩個文件,一個主文件和一個事務(wù)日志文件。
盡管 ‘os_file_name’ 可以是任何有效的操作系統(tǒng)文件名,但如果使用以下建議的擴展名,則可以更加清楚地反映文件的用途。
文件類型 文件擴展名
主要數(shù)據(jù)文件 .mdf
次要數(shù)據(jù)文件 .ndf
事務(wù)日志文件 .ldf
說明 創(chuàng)建用戶數(shù)據(jù)庫后,應(yīng)備份 master 數(shù)據(jù)庫。
SIZE、MAXSIZE 和 FILEGROWTH 參數(shù)中不能指定分?jǐn)?shù)。若要在 SIZE 參數(shù)中指定以兆字節(jié)為單位的分?jǐn)?shù),請將該數(shù)字乘以 1,024 轉(zhuǎn)換成千字節(jié)。例如,指定 1,536 KB 而不要指定 1.5 MB(1.5 乘以 1,024 等于 1,536)。
如果僅指定 CREATE DATABASE database_name 語句而不帶其它參數(shù),那么數(shù)據(jù)庫的大小將與 model 數(shù)據(jù)庫的大小相等。
所有數(shù)據(jù)庫都至少包含一個主文件組。所有系統(tǒng)表都分配在主文件組中。數(shù)據(jù)庫還可以包含用戶定義的文件組。如果使用指定用戶定義文件組的 ON filegroup 子句創(chuàng)建對象,則該對象的所有頁均從指定的文件組中分配。所有沒有使用 ON filegroup 子句(或者使用 ON DEFAULT 子句)創(chuàng)建的用戶對象的頁將從默認(rèn)文件組分配。數(shù)據(jù)庫首次創(chuàng)建時,主文件組就是默認(rèn)文件組??梢允褂?ALTER DATABASE 將用戶定義的文件組指定為默認(rèn)文件組:
ALTER DATABASE database_name MODIFY FILEGROUP filegroup_name DEFAULT
每個數(shù)據(jù)庫都有一個所有者,可在該數(shù)據(jù)庫中執(zhí)行某些特殊的活動。所有者是創(chuàng)建數(shù)據(jù)庫的用戶??梢允褂?sp_changedbowner 更改數(shù)據(jù)庫所有者。
若要為 SQL Server 實例顯示某個數(shù)據(jù)庫或所有數(shù)據(jù)庫的報表,請執(zhí)行 sp_helpdb。若要顯示有關(guān)數(shù)據(jù)庫中所占用空間的報表,請使用 sp_spaceused。若要顯示有關(guān)數(shù)據(jù)庫中文件組的報表,請使用 sp_helpfilegroup,使用 sp_helpfile 可顯示數(shù)據(jù)庫中文件的報表。
早期版本的 SQL Server 使用 DISK INIT 語句在執(zhí)行 CREATE DATABASE 語句之前為數(shù)據(jù)庫創(chuàng)建文件。為了與早期版本的 SQL Server 向后兼容,CREATE DATABASE 語句也可以在用 DISK INIT 創(chuàng)建的文件或設(shè)備上創(chuàng)建新數(shù)據(jù)庫。有關(guān)更多信息,請參見 SQL Server 向后兼容性詳細(xì)信息。
權(quán)限
CREATE DATABASE 的權(quán)限默認(rèn)地授予 sysadmin 和 dbcreator 固定服務(wù)器角色的成員。sysadmin 和 securityadmin 固定服務(wù)器角色的成員可以將 CREATE DATABASE 權(quán)限授予其它登錄。sysadmin 和 dbcreator 固定服務(wù)器角色的成員可以為 dbcreator 角色添加其它登錄。CREATE DATABASE 權(quán)限必須顯式授予,而不能通過 GRANT ALL 語句授予。
CREATE DATABASE 權(quán)限通常限于少數(shù)登錄,以便控制對運行 SQL Server 實例的計算機上磁盤的使用。
示例
A. 創(chuàng)建指定數(shù)據(jù)文件和事務(wù)日志文件的數(shù)據(jù)庫
下面的示例創(chuàng)建名為 Sales 的數(shù)據(jù)庫。因為沒有使用關(guān)鍵字 PRIMARY,之一個文件 (Sales_dat) 成為主文件。因為 Sales_dat 文件的 SIZE 參數(shù)沒有指定 MB 或 KB,因此默認(rèn)為 MB,以兆字節(jié)為單位進行分配。Sales_log 文件以兆字節(jié)為單位進行分配,因為 SIZE 參數(shù)中顯式聲明了 MB 后綴。
USE master
GO
CREATE DATABASE Sales
ON
( NAME = Sales_dat,
FILENAME = ‘c:\program files\microsoft sql server\mssql\data\saledat.mdf’,
SIZE = 10,
MAXSIZE = 50,
FILEGROWTH = 5 )
LOG ON
( NAME = ‘Sales_log’,
FILENAME = ‘c:\program files\microsoft sql server\mssql\data\salelog.ldf’,
SIZE = 5MB,
MAXSIZE = 25MB,
FILEGROWTH = 5MB )
GO
B. 指定多個數(shù)據(jù)文件和事務(wù)日志文件創(chuàng)建數(shù)據(jù)庫
下面的示例使用三個 100 MB 的數(shù)據(jù)文件和兩個 100 MB 的事務(wù)日志文件創(chuàng)建了名為 Archive 的數(shù)據(jù)庫。主文件是列表中的之一個文件,并使用 PRIMARY 關(guān)鍵字顯式指定。事務(wù)日志文件在 LOG ON 關(guān)鍵字后指定。注意 FILENAME 選項中所用的文件擴展名:主要數(shù)據(jù)文件使用 .mdf,次要數(shù)據(jù)文件使用 .ndf,事務(wù)日志文件使用 .ldf。
USE master
GO
CREATE DATABASE Archive
ON
PRIMARY ( NAME = Arch1,
FILENAME = ‘c:\program files\microsoft sql server\mssql\data\archdat1.mdf’,
SIZE = 100MB,
MAXSIZE = 200,
FILEGROWTH = 20),
( NAME = Arch2,
FILENAME = ‘c:\program files\microsoft sql server\mssql\data\archdat2.ndf’,
SIZE = 100MB,
MAXSIZE = 200,
FILEGROWTH = 20),
( NAME = Arch3,
FILENAME = ‘c:\program files\microsoft sql server\mssql\data\archdat3.ndf’,
SIZE = 100MB,
MAXSIZE = 200,
FILEGROWTH = 20)
LOG ON
( NAME = Archlog1,
FILENAME = ‘c:\program files\microsoft sql server\mssql\data\archlog1.ldf’,
SIZE = 100MB,
MAXSIZE = 200,
FILEGROWTH = 20),
( NAME = Archlog2,
FILENAME = ‘c:\program files\microsoft sql server\mssql\data\archlog2.ldf’,
SIZE = 100MB,
MAXSIZE = 200,
FILEGROWTH = 20)
GO
C. 創(chuàng)建簡單的數(shù)據(jù)庫
本例創(chuàng)建名為 Products 的數(shù)據(jù)庫,并指定單個文件。指定的文件成為主文件,并會自動創(chuàng)建一個 1 MB 的事務(wù)日志文件。因為主文件的 SIZE 參數(shù)中沒有指定 MB 或 KB,所以主文件將以兆字節(jié)為單位進行分配。因為沒有為事務(wù)日志文件指定 ,所以事務(wù)日志文件沒有 MAXSIZE,可以增長到填滿所有可用的磁盤空間為止。
USE master
GO
CREATE DATABASE Products
ON
( NAME = prods_dat,
FILENAME = ‘c:\program files\microsoft sql server\mssql\data\prods.mdf’,
SIZE = 4,
MAXSIZE = 10,
FILEGROWTH = 1 )
GO
D. 不指定文件創(chuàng)建數(shù)據(jù)庫
下面的示例創(chuàng)建名為 mytest 的數(shù)據(jù)庫,并創(chuàng)建相應(yīng)的主文件和事務(wù)日志文件。因為該語句沒有 項,所以主數(shù)據(jù)庫文件的大小為 model 數(shù)據(jù)庫主文件的大小。事務(wù)日志文件的大小為 model 數(shù)據(jù)庫事務(wù)日志文件的大小。因為沒有指定 MAXSIZE,文件可以增長到填滿所有可用的磁盤空間為止。
CREATE DATABASE mytest
E. 不指定 SIZE 創(chuàng)建數(shù)據(jù)庫
下面的示例創(chuàng)建名為 products2 的數(shù)據(jù)庫。文件 prods2_dat 將成為主文件,大小等于 model 數(shù)據(jù)庫中主文件的大小。事務(wù)日志文件會自動創(chuàng)建,其大小為主文件大小的 25% 或 512 KB 中的較大值。因為沒有指定 MAXSIZE,文件可以增長到填滿所有可用的磁盤空間為止。
USE master
GO
CREATE DATABASE Products2
ON
( NAME = prods2_dat,
FILENAME = ‘c:\program files\microsoft sql server\mssql\data\prods2.mdf’ )
GO
F. 使用文件組創(chuàng)建數(shù)據(jù)庫
下面的示例使用三個文件組創(chuàng)建名為 sales 的數(shù)據(jù)庫:
主文件組包含文件 Spri1_dat 和 Spri2_dat。指定這些文件的 FILEGROWTH 增量為 15%。
名為 SalesGroup1 的文件組包含文件 SGrp1Fi1 和 SGrp1Fi2。
名為 SalesGroup2 的文件組包含文件 SGrp2Fi1 和 SGrp2Fi2。
CREATE DATABASE Sales
ON PRIMARY
( NAME = SPri1_dat,
FILENAME = ‘c:\program files\microsoft sql server\mssql\data\SPri1dat.mdf’,
SIZE = 10,
MAXSIZE = 50,
FILEGROWTH = 15% ),
( NAME = SPri2_dat,
FILENAME = ‘c:\program files\microsoft sql server\mssql\data\SPri2dt.ndf’,
SIZE = 10,
MAXSIZE = 50,
FILEGROWTH = 15% ),
FILEGROUP SalesGroup1
( NAME = SGrp1Fi1_dat,
FILENAME = ‘c:\program files\microsoft sql server\mssql\data\SG1Fi1dt.ndf’,
SIZE = 10,
MAXSIZE = 50,
FILEGROWTH = 5 ),
( NAME = SGrp1Fi2_dat,
FILENAME = ‘c:\program files\microsoft sql server\mssql\data\SG1Fi2dt.ndf’,
SIZE = 10,
MAXSIZE = 50,
FILEGROWTH = 5 ),
FILEGROUP SalesGroup2
( NAME = SGrp2Fi1_dat,
FILENAME = ‘c:\program files\microsoft sql server\mssql\data\SG2Fi1dt.ndf’,
SIZE = 10,
MAXSIZE = 50,
FILEGROWTH = 5 ),
( NAME = SGrp2Fi2_dat,
FILENAME = ‘c:\program files\microsoft sql server\mssql\data\SG2Fi2dt.ndf’,
SIZE = 10,
MAXSIZE = 50,
FILEGROWTH = 5 )
LOG ON
( NAME = ‘Sales_log’,
FILENAME = ‘c:\program files\microsoft sql server\mssql\data\salelog.ldf’,
SIZE = 5MB,
MAXSIZE = 25MB,
FILEGROWTH = 5MB )
GO
G. 附加數(shù)據(jù)庫
示例 B 創(chuàng)建一個包含下列物理文件的名為 Archive 的數(shù)據(jù)庫:
c:\program files\microsoft sql server\mssql\data\archdat1.mdf
c:\program files\microsoft sql server\mssql\data\archdat2.ndf
c:\program files\microsoft sql server\mssql\data\archdat3.ndf
c:\program files\microsoft sql server\mssql\data\archlog1.ldf
c:\program files\microsoft sql server\mssql\data\archlog2.ldf
可以使用 sp_detach_db 存儲過程分離該數(shù)據(jù)庫,然后使用帶有 FOR ATTACH 子句的 CREATE DATABASE 重新附加。
sp_detach_db Archive
GO
CREATE DATABASE Archive
ON PRIMARY (FILENAME = ‘c:\program files\microsoft sql server\mssql\data\archdat1.mdf’)
FOR ATTACH
GO
H. 使用原始分區(qū)
下面的示例使用原始分區(qū)創(chuàng)建名為 Employees 的數(shù)據(jù)庫。執(zhí)行語句時,原始分區(qū)必須存在,并且每個原始分區(qū)只能創(chuàng)建一個文件。
USE master
GO
CREATE DATABASE Employees
ON
( NAME = Empl_dat,
FILENAME = ‘f:’,
SIZE = 10,
MAXSIZE = 50,
FILEGROWTH = 5 )
LOG ON
( NAME = ‘Sales_log’,
FILENAME = ‘g:’,
SIZE = 5MB,
MAXSIZE = 25MB,
FILEGROWTH = 5MB )
GO
I. 使用已裝入的驅(qū)動器
下面的示例使用指向原始分區(qū)的已裝入驅(qū)動器創(chuàng)建名為 Employees 的數(shù)據(jù)庫。此功能只在 Microsoft? Windows? 2023 Server 中才可用。.執(zhí)行語句時必須已經(jīng)存在已裝入的驅(qū)動器和原始分區(qū),并且每個原始分區(qū)上只能有一個文件。當(dāng)在已裝入的驅(qū)動器上創(chuàng)建數(shù)據(jù)庫文件時,必須用尾隨反斜線結(jié)束驅(qū)動器路徑。
USE master
GO
CREATE DATABASE Employees
ON
( NAME = Empl_dat,
FILENAME = ‘d:\sample data dir\’,
SIZE = 10,
MAXSIZE = 50,
FILEGROWTH = 5 )
LOG ON
( NAME = ‘Sales_log’,
FILENAME = ‘d:\sample log dir\’,
SIZE = 5MB,
MAXSIZE = 25MB,
FILEGROWTH = 5MB )
GO
create database 來創(chuàng)建一個新的數(shù)據(jù)庫。
關(guān)于數(shù)據(jù)庫建立項目的語句的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
成都創(chuàng)新互聯(lián)科技有限公司,是一家專注于互聯(lián)網(wǎng)、IDC服務(wù)、應(yīng)用軟件開發(fā)、網(wǎng)站建設(shè)推廣的公司,為客戶提供互聯(lián)網(wǎng)基礎(chǔ)服務(wù)!
創(chuàng)新互聯(lián)(www.cdcxhl.com)提供簡單好用,價格厚道的香港/美國云服務(wù)器和獨立服務(wù)器。創(chuàng)新互聯(lián)——四川成都IDC機房服務(wù)器托管/機柜租用。為您精選優(yōu)質(zhì)idc數(shù)據(jù)中心機房租用、服務(wù)器托管、機柜租賃、大帶寬租用,高電服務(wù)器托管,算力服務(wù)器租用,可選線路電信、移動、聯(lián)通機房等。
網(wǎng)頁標(biāo)題:使用什么語句建立數(shù)據(jù)庫項目?(數(shù)據(jù)庫建立項目的語句)
分享鏈接:http://www.5511xx.com/article/dphpihd.html


咨詢
建站咨詢
