當前位置:首頁 » 編程語言 » 創建sql

創建sql

發布時間: 2022-01-11 22:22:28

⑴ 什麼是sql如何創建

SQL全稱是「結構化查詢語言(Structured Query Language)」,最早的是IBM的聖約瑟研究實驗室為其關系資料庫管理系統SYSTEM R開發的一種查詢語言,它的前身是SQUARE語言。SQL語言結構簡潔,功能強大,簡單易學,所以自從IBM公司1981年推出以來,SQL語言,得到了廣泛的應用。如今無論是像Oracle ,Sybase,Informix,SQL server這些大型的資料庫管理系統,還是像Visual Foxporo,PowerBuilder這些微機上常用的資料庫開發系統,都支持SQL語言作為查詢語言。

SQL是高級的非過程化編程語言,允許用戶在高層數據結構上工作。他不要求用戶指定對數據的存放方法,也不需要用戶了解具體的數據存放方式,所以具有完全不同底層結構的不同資料庫系統可以使用相同的SQL語言作為數據輸入與管理的介面。它以記錄集合作為操縱對象,所有SQL語句接受集合作為輸入,返回集合作為輸出,這種集合特性允許一條SQL語句的輸出作為另一條SQL語句的輸入,所以SQL語言可以嵌套,這使他具有極大的靈活性和強大的功能,在多數情況下,在其他語言中需要一大段程序實現的一個單獨事件只需要一個SQL語句就可以達到目的,這也意味著用SQL語言可以寫出非常復雜的語句。

SQL同時也是資料庫文件格式的擴展名。

SQL語言包含4個部分:

數據查詢語言(SELECT語句)

數據操縱語言(INSERT, UPDATE, DELETE語句)

數據定義語言(如CREATE, DROP等語句)

數據控制語言(如COMMIT, ROLLBACK等語句)

取自"http://zh.wikipedia.org/wiki/SQL"
SQL(STructured Query Language)是一種資料庫查詢和程式設計語言,用於存取資料以及查詢、更新和管理關聯式資料庫系統。美國國家標准局(ANSI)與國際標准化組織(ISO)已經制定了 SQL 標准。ANSI 是一個美國工業和商業集團組織,發展美國的商務和通訊標准。ANSI 同時也是 ISO 和 International Electrotechnical Commission(IEC)的成員之一。ANSI 發布與國際標准組織相應的美國標准。1992年,ISO 和 IEC 發布了 SQL 的國際標准,稱為 SQL-92。ANSI 隨之發布的相應標準是 ANSI SQL-92。ANSI SQL-92 有時被稱為 ANSI SQL。盡管不同的關聯式資料庫使用的 SQL 版本有一些差異,但大多數都遵循 ANSI SQL 標准。SQL Server 使用 ANSI SQL-92 的擴展集,稱為 T-SQL,其遵循 ANSI 制定的 SQL-92 標准。

SQL 語言包括兩種主要程式設計語言類別的陳述式: 資料定義語言 (DDL)與資料操作語言 (DML)。下面我們將介紹這兩類語言。

DDL

DDL 用於定義和管理物件,例如資料庫、資料表以及檢視表( 第18章 將會解釋何謂檢視表)。DDL 陳述式通常包括每個物件的CREATE、ALTER 以及 DROP 命令。舉例來說,CREATE TABLE、ALTER TABLE 以及 DROP TABLE 這些陳述式便可以用來建立新資料表、修改其屬性(如新增或刪除資料行)、刪除資料表等,下面我們會一一介紹。

CREATE TABLE 陳述式

使用 DDL 在 MyDB 資料庫建立一個名為 Customer_Data 的範例資料表,本章後面的例子我們會使用到這個資料表。如前所述,CREATE TABLE 陳述式可以用來建立資料表。這個範例資料表被定義成四個資料行,如下所示:

Use MyDB
CREATE TABLE Customer_Data
(customer_id smallint,
first_name char(20),
last_name char(20),
phone char(10))
GO
這個陳述式能產生 Customer_Data 資料表,這個資料表會一直是空的直到資料被填入資料表內。

ALTER TABLE 陳述式

ALTER TABLE 陳述式用來變更資料表的定義與屬性。在下面的例子中,我們利用 ALTER TABLE 在已經存在的 Customer_Data 資料表中新增 middle_initial 資料行。

ALTER TABLE Customer_Data
ADD middle_initial char(1)
GO
現在資料表的定義包括了五個資料行,而不是之前的四個資料行。關於使用ALTER TABLE 的更多細節,請參閱 第15章 。

DROP TABLE 陳述式

DROP TABLE 陳述式用來刪除資料表定義以及所有的資料、索引、觸發程序、條件約束以及資料表的許可權。要刪除我們的 Customer_Data 資料表,可利用下列命令:

DROP TABLE Customer_Data
GO
關於 DROP TABLE 陳述式的詳細內容,請參閱 第15章 。

DML

DML 利用 INSERT、SELECT、UPDATE 及 DELETE 等陳述式來操作資料庫物件所包含的資料。

INSERT 陳述式

INSERT 陳述式用來在資料表或檢視表中插入一列資料。例如,如果要在Customer_Data 資料表中新增一個客戶,可使用類似以下的 INSERT 陳述式:

INSERT INTO Customer_Data
(customer_id, first_name, last_name, phone)
VALUES (777, "Frankie", "Stein", "4895873900")
請注意 SQL 陳述式中第二行的資料行名稱清單,清單上資料行名稱的次序決定了資料數值將被放在哪個資料行。舉例來說,第一個資料數值將被放在清單列出的第一個資料行 customer_id、第二個資料數值放在第二個資料行,依此類推。由於我們在建立資料表時,定義資料資料行填入數值的次序與現在相同,因此我們不必特意指定欄位名稱。我們可以用以下的 INSERT 陳述式代替:

INSERT INTO Customer_Data
VALUES (777, "Frankie", "Stein", "4895873900")

注意

如果使用這種形式的 INSERT 陳述式,但被插入的數值次序上與建立資料表時不同,數值將被放入錯誤的資料行。如果資料的型別與定義不符,則會收到一個錯誤訊息。

--------------------------------------------------------------------------------

SELECT 陳述式

SELECT 陳述式用來檢索資料表中的資料,而哪些資料被檢索由列出的資料行與陳述式中的 WHERE 子句決定。例如,要從之前建立的 Customer_Data 資料表中檢索 customer_id 以及 first_name 資料行的資料,並且只想取出每列中 first_name 資料行值為 Frankie 的資料,那麼可以利用以下的 SELECT 陳述式:

SELECT customer_id, first_name FROM Customer_Data
WHERE first_name = "Frankie"
如果有一列符合 SELECT 陳述式中的標准,則結果將顯示如下:

customer_id first_name
------------- ------------
777 Frankie
UPDATE 陳述式

UPDATE 陳述式用來更新或改變一列或多列中的值。例如,一位名稱為 Frankie Stein 的客戶想要在記錄中改變他的姓氏為 Franklin,可使用以下 UPDATE 陳述式:

UPDATE Customer_Data
SET first_name = "Franklin"
WHERE last_name = "Stein" and customer_id= 777
我們在 WHERE 子句中加入 customer_id 的項目來確定其他名稱為 Stein 的客戶不會被影響-只有customer_id為777的客戶,姓氏會有所改變。

--------------------------------------------------------------------------------

說明

當您使用 UPDATE 陳述式時,要確定在 WHERE 子句提供充分的篩選條件,如此才不會不經意地改變了一些不該改變的資料。

--------------------------------------------------------------------------------

DELETE 陳述式

DELETE 陳述式用來刪除資料表中一列或多列的資料,您也可以刪除資料表中的所有資料列。要從 Customer_Data 資料表中刪除所有的列,您可以利用下列陳述式:

DELETE FROM Customer_Data

DELETE Customer_Data
資料表名稱前的 FROM 關鍵字在 DELETE 陳述式中是選擇性的。除此之外,這兩個陳述式完全相同。

要從 Customer_Data 資料表中刪除 customer_id 資料行的值小於100的列,可利用下列陳述式:

DELETE FROM Customer_Data
WHERE customer_id < 100
現在我們已經快速瀏覽了 SQL 提供的 DDL 與 DML 陳述式,接著,下面將介紹 T-SQL。

SQL中的五種數據類型

簡要描述一下SQL中的五種數據類型:字元型,文本型,數值型,邏輯型和日期型

字元型

VARCHAR VS CHAR

VARCHAR型和CHAR型數據的這個差別是細微的,但是非常重要。他們都是用來儲存字元串長度小於255的字元。

假如你向一個長度為四十個字元的VARCHAR型欄位中輸入數據BIll GAtES。當你以後從這個欄位中取出此數據時,你取出的數據其長度為十個字元——字元串Bill Gates的長度。 現在假如你把字元串輸入一個長度為四十個字元的CHAR型欄位中,那麼當你取出數據時,所取出的數據長度將是四十個字元。字元串的後面會被附加多餘的空格。

當你建立自己的站點時,你會發現使用VARCHAR型欄位要比CHAR型欄位方便的多。使用VARCHAR型欄位時,你不需要為剪掉你數據中多餘的空格而操心。

VARCHAR型欄位的另一個突出的好處是它可以比CHAR型欄位佔用更少的內存和硬碟空間。當你的資料庫很大時,這種內存和磁碟空間的節省會變得非常重要

文本型

TEXT

使用文本型數據,你可以存放超過二十億個字元的字元串。當你需要存儲大串的字元時,應該使用文本型數據。

注意文本型數據沒有長度,而上一節中所講的字元型數據是有長度的。一個文本型欄位中的數據通常要麼為空,要麼很大。

當你從HTML fORM的多行文本編輯框(TEXTAREA)中收集數據時,你應該把收集的信息存儲於文本型欄位中。但是,無論何時,只要你能避免使用文本型欄位,你就應該不適用它。文本型欄位既大且慢,濫用文本型欄位會使伺服器速度變慢。文本型欄位還會吃掉大量的磁碟空間。

一旦你向文本型欄位中輸入了任何數據(甚至是空值),就會有2K的空間被自動分配給該數據。除非刪除該記錄,否則你無法收回這部分存儲空間。

數值型

SQL支持許多種不同的數值型數據。你可以存儲整數 INT 、小數 NUMERIC、和錢數 MONEY。

INT VS SMALLINT VS TINYINT

他們的區別只是字元長度:

INT型數據的表數范圍是從-2,147,483,647到2,147,483,647的整數

SMALLINT 型數據可以存儲從-32768到32768的整數

TINYINT 型的欄位只能存儲從0到255的整數,不能用來儲存負數

通常,為了節省空間,應該盡可能的使用最小的整型數據。一個TINYINT型數據只佔用一個位元組;一個INT型數據佔用四個位元組。這看起來似乎差別不大,但是在比較大的表中,位元組數的增長是很快的。另一方面,一旦你已經創建了一個欄位,要修改它是很困難的。因此,為安全起見,你應該預測以下,一個欄位所需要存儲的數值最大有可能是多大,然後選擇適當的數據類型。

NUMERIC

為了能對欄位所存放的數據有更多的控制,你可以使用NUMERIC型數據來同時表示一個數的整數部分和小數部分。NUMERIC型數據使你能表示非常大的數——比INT型數據要大得多。一個NUMERIC型欄位可以存儲從-1038到1038范圍內的數。NUMERIC型數據還使你能表示有小數部分的數。例如,你可以在NUMERIC型欄位中存儲小數3.14。

當定義一個NUMERIC型欄位時,你需要同時指定整數部分的大小和小數部分的大小。如:MUNERIC(23,0)

一個 NUMERIC型數據的整數部分最大隻能有28位,小數部分的位數必須小於或等於整數部分的位數,小數部分可以是零。

MONEY VS SMALLMONEY

你可以使用 INT型或NUMERIC型數據來存儲錢數。但是,專門有另外兩種數據類型用於此目的。如果你希望你的網點能掙很多錢,你可以使用MONEY型數據。如果你的野心不大,你可以使用SMALLMONEY型數據。MONEY型數據可以存儲從-922,337,203,685,477.5808到922,337,203,685,477.5807的錢數。如果你需要存儲比這還大的金額,你可以使用NUMERIC型數據。

SMALLMONEY型數據只能存儲從-214,748.3648到214,748.3647 的錢數。同樣,如果可以的話,你應該用SMALLMONEY型來代替MONEY型數據,以節省空間。

邏輯型

BIT

如果你使用復選框( CHECKBOX)從網頁中搜集信息,你可以把此信息存儲在BIT型欄位中。BIT型欄位只能取兩個值:0或1。

當心,在你創建好一個表之後,你不能向表中添加 BIT型欄位。如果你打算在一個表中包含BIT型欄位,你必須在創建表時完成。

日期型

DATETIME VS SMALLDATETIME

一個 DATETIME型的欄位可以存儲的日期范圍是從1753年1月1日第一毫秒到9999年12月31日最後一毫秒。

如果你不需要覆蓋這么大范圍的日期和時間,你可以使用SMALLDATETIME型數據。它與DATETIME型數據同樣使用,只不過它能表示的日期和時間范圍比DATETIME型數據小,而且不如DATETIME型數據精確。一個SMALLDATETIME型的欄位能夠存儲從1900年1月1日到2079年6月6日的日期,它只能精確到秒。

DATETIME型欄位在你輸入日期和時間之前並不包含實際的數據,認識這一點是重要的。

⑵ 怎麼創建一個本地的sql資料庫

CREATE DATABASE database_name
[ CONTAINMENT = { NONE | PARTIAL } ]
[ ON
[ PRIMARY ] <filespec> [ ,...n ]
[ , <filegroup> [ ,...n ] ]
[ LOG ON <filespec> [ ,...n ] ]
]
[ COLLATE collation_name ]
[ WITH <option> [,...n ] ]
[;]

<option> ::=
{
FILESTREAM ( <filestream_option> [,...n ] )
| DEFAULT_FULLTEXT_LANGUAGE = { lcid | language_name | language_alias }
| DEFAULT_LANGUAGE = { lcid | language_name | language_alias }
| NESTED_TRIGGERS = { OFF | ON }
| TRANSFORM_NOISE_WORDS = { OFF | ON}
| TWO_DIGIT_YEAR_CUTOFF = <two_digit_year_cutoff>
| DB_CHAINING { OFF | ON }
| TRUSTWORTHY { OFF | ON }
}

<filestream_option> ::=
{
NON_TRANSACTED_ACCESS = { OFF | READ_ONLY | FULL }
| DIRECTORY_NAME = 'directory_name'
}

To attach a database
CREATE DATABASE database_name
ON <filespec> [ ,...n ]
FOR { { ATTACH [ WITH <attach_database_option> [ , ...n ] ] }
| ATTACH_REBUILD_LOG }
[;]

<filespec> ::=
{
(
NAME = logical_file_name ,
FILENAME = { 'os_file_name' | 'filestream_path' }
[ , SIZE = size [ KB | MB | GB | TB ] ]
[ , MAXSIZE = { max_size [ KB | MB | GB | TB ] | UNLIMITED } ]
[ , FILEGROWTH = growth_increment [ KB | MB | GB | TB | % ] ]
)
}

<filegroup> ::=
{
FILEGROUP filegroup_name [ CONTAINS FILESTREAM ] [ DEFAULT ]
<filespec> [ ,...n ]
}

<attach_database_option> ::=
{
<service_broker_option>
| RESTRICTED_USER
| FILESTREAM ( DIRECTORY_NAME = { 'directory_name' | NULL } )
}

<service_broker_option> ::=
{
ENABLE_BROKER
| NEW_BROKER
| ERROR_BROKER_CONVERSATIONS
}

Create a database snapshot
CREATE DATABASE database_snapshot_name
ON
(
NAME = logical_file_name,
FILENAME = 'os_file_name'
) [ ,...n ]
AS SNAPSHOT OF source_database_name
[;]

database_name

新資料庫的名稱。

資料庫名稱在 SQL Server 的實例中必須唯一,並且必須符合 標識符規則。

除非沒有為日誌文件指定邏輯名稱,否則 database_name 最多可以包含 128 個字元。

如果未指定邏輯日誌文件名稱,則 SQL Server 將通過向 database_name 追加後綴來為日誌生成 logical_file_name 和 os_file_name。

這會將 database_name 限制為 123
個字元,從而使生成的邏輯文件名稱不超過 128 個字元。

如果未指定數據文件的名稱,則 SQL Server 使用 database_name 作為 logical_file_name 和 os_file_name。

默認路徑從注冊表中獲得。

可以使用 Management Studio 中的「伺服器屬性」(「資料庫設置」頁)更改默認路徑。

更改默認路徑要求重新啟動 SQL Server。

CONTAINMENT

指定資料庫的包含狀態。

NONE = 非包含資料庫。

PARTIAL = 部分包含的資料庫。

ON

指定顯式定義用來存儲資料庫數據部分的磁碟文件(數據文件)。

當後面是以逗號分隔的、用以定義主文件組的數據文件的 <filespec> 項列表時,需要使用
ON。

主文件組的文件列表可後跟以逗號分隔的、用以定義用戶文件組及其文件的 <filegroup>
項列表(可選)。

PRIMARY

指定關聯的 <filespec> 列表定義主文件。

在主文件組的 <filespec> 項中指定的第一個文件將成為主文件。

一個資料庫只能有一個主文件。

有關詳細信息,請參閱 資料庫文件和文件組。

如果沒有指定 PRIMARY,那麼 CREATE DATABASE
語句中列出的第一個文件將成為主文件。

LOG ON

指定顯式定義用來存儲資料庫日誌的磁碟文件(日誌文件)。

LOG ON 後跟以逗號分隔的用以定義日誌文件的 <filespec> 項列表。

如果沒有指定 LOG ON,將自動創建一個日誌文件,其大小為該資料庫的所有數據文件大小總和的 25% 或 512
KB,取兩者之中的較大者。

此文件放置於默認的日誌文件位置。

有關此位置的信息,請參閱 查看或更改數據文件和日誌文件的默認位置 (SQL Server Management Studio)。

不能對資料庫快照指定 LOG ON。

COLLATE collation_name

指定資料庫的默認排序規則。

排序規則名稱既可以是 Windows 排序規則名稱,也可以是 SQL 排序規則名稱。

如果沒有指定排序規則,則將 SQL Server 實例的默認排序規則分配為資料庫的排序規則。

不能對資料庫快照指定排序規則名稱。

不能使用 FOR ATTACH 或 FOR ATTACH_REBUILD_LOG
子句指定排序規則名稱。

有關如何更改附加資料庫的排序規則的信息,請訪問此 Microsoft 網站。

有關 Windows 和 SQL 排序規則名稱的詳細信息,請參閱 COLLATE (Transact-SQL)。

注意

包含資料庫的排序方式不同於非包含資料庫。

有關詳細信息,請參閱 包含資料庫的排序規則。

WITH <選項>

僅在將 CONTAINMENT 設置為 PARTIAL 之後,才允許使用以下選項。

如果將 CONTAINMENT 設置為 NONE,將發生錯誤。

<filestream_options>

NON_TRANSACTED_ACCESS = { OFF | READ_ONLY | FULL }

指定對資料庫的非事務性 FILESTREAM 訪問的級別。

USE master;

GO
CREATE DATABASE mytest;
GO
-- Verify the database files and sizes
SELECT name, size, size*1.0/128 AS [Size in MBs]
FROM sys.master_files
WHERE name = N'mytest';
GO

USE master;
GO
CREATE DATABASE mytest;
GO
-- Verify the database files and sizes
SELECT name, size, size*1.0/128 AS [Size in MBs]
FROM sys.master_files
WHERE name = N'mytest';
GO

B.創建指定數據和事務日誌文件的資料庫

下面的示例將創建資料庫 Sales。

因為沒有使用關鍵字 PRIMARY,第一個文件 ( Sales_
dat) 將成為主文件。

因為在 Sales_ dat 文件的 SIZE 參數中沒有指定 MB 或 KB,將使用 MB 並按 MB 分配。

Sales_ log 文件以 MB 為單位進行分配,因為 SIZE 參數中顯式聲明了
MB 後綴。

USE master;

GO
CREATE DATABASE Sales
ON
( NAME = Sales_dat,
FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\saledat.mdf',
SIZE = 10,
MAXSIZE = 50,
FILEGROWTH = 5 )
LOG ON
( NAME = Sales_log,
FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\salelog.ldf',
SIZE = 5MB,
MAXSIZE = 25MB,
FILEGROWTH = 5MB ) ;
GO

USE master;
GO
CREATE DATABASE Sales
ON
( NAME = Sales_dat,
FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\saledat.mdf',
SIZE = 10,
MAXSIZE = 50,
FILEGROWTH = 5 )
LOG ON
( NAME = Sales_log,
FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\salelog.ldf',
SIZE = 5MB,
MAXSIZE = 25MB,
FILEGROWTH = 5MB ) ;
GO

C.通過指定多個數據和事務日誌文件創建資料庫

以下示例創建資料庫 Archive,該資料庫具有三個 100-MB 數據文件和兩個 100-MB 事務日誌文件。

主文件是列表中的第一個文件,並使用 PRIMARY
關鍵字顯式指定。

事務日誌文件在 LOG ON 關鍵字後指定。

請注意用於 FILENAME 選項中各文件的擴展名: .mdf 用於主數據文件, .ndf 用於輔助數據文件, .ldf 用於事務日誌文件。

此示例將資料庫放置於 D: 驅動器上,而非 master 資料庫中。

USE master;

GO
CREATE DATABASE Archive
ON
PRIMARY
(NAME = Arch1,
FILENAME = 'D:\SalesData\archdat1.mdf',
SIZE = 100MB,
MAXSIZE = 200,
FILEGROWTH = 20),
( NAME = Arch2,
FILENAME = 'D:\SalesData\archdat2.ndf',
SIZE = 100MB,
MAXSIZE = 200,
FILEGROWTH = 20),
( NAME = Arch3,
FILENAME = 'D:\SalesData\archdat3.ndf',
SIZE = 100MB,
MAXSIZE = 200,
FILEGROWTH = 20)
LOG ON
(NAME = Archlog1,
FILENAME = 'D:\SalesData\archlog1.ldf',
SIZE = 100MB,
MAXSIZE = 200,
FILEGROWTH = 20),
(NAME = Archlog2,
FILENAME = 'D:\SalesData\archlog2.ldf',
SIZE = 100MB,
MAXSIZE = 200,
FILEGROWTH = 20) ;
GO

USE master;
GO
CREATE DATABASE Archive
ON
PRIMARY
(NAME = Arch1,
FILENAME = 'D:\SalesData\archdat1.mdf',
SIZE = 100MB,
MAXSIZE = 200,
FILEGROWTH = 20),
( NAME = Arch2,
FILENAME = 'D:\SalesData\archdat2.ndf',
SIZE = 100MB,
MAXSIZE = 200,
FILEGROWTH = 20),
( NAME = Arch3,
FILENAME = 'D:\SalesData\archdat3.ndf',
SIZE = 100MB,
MAXSIZE = 200,
FILEGROWTH = 20)
LOG ON
(NAME = Archlog1,
FILENAME = 'D:\SalesData\archlog1.ldf',
SIZE = 100MB,
MAXSIZE = 200,
FILEGROWTH = 20),
(NAME = Archlog2,
FILENAME = 'D:\SalesData\archlog2.ldf',
SIZE = 100MB,
MAXSIZE = 200,
FILEGROWTH = 20) ;
GO

⑶ 如何創建一個SQL資料庫

Dim cn As Connection
Dim str As String
str = "CREATE DATABASE Sales " & _
"ON (NAME = Sales_dat," & _
"FILENAME = 'D:\saledat.mdf'," & _
"SIZE = 1MB,MAXSIZE = 5MB,FILEGROWTH = 10% )" & _
"LOG ON ( NAME = 'Sales_log'," & _
"FILENAME = 'D:\salelog.ldf'," & _
"SIZE = 1MB,MAXSIZE = 5MB,FILEGROWTH = 5MB )"
Set cn = New Connection
With cn
.ConnectionString = "Provider=SQLOLEDB.1;Data Source=pmserver;User ID=sa;Password=sa"
.Open
.Execute str
End With
Set cn = Nothing

---------------------------------------------------------------

Dim cn As Connection
Dim str As String
str = "CREATE DATABASE Sales " & _
"ON (NAME = Sales_dat," & _
"FILENAME = 'D:\saledat.mdf'," & _
"SIZE = 1MB,MAXSIZE = 5MB,FILEGROWTH = 10% )" & _
"LOG ON ( NAME = 'Sales_log'," & _
"FILENAME = 'D:\salelog.ldf'," & _
"SIZE = 1MB,MAXSIZE = 5MB,FILEGROWTH = 5MB )"
Set cn = New Connection
With cn
.ConnectionString = "Provider=SQLOLEDB.1;Data Source=pmserver;User ID=sa;Password=sa"
.Open
.Execute str
End With
Set cn = Nothing

---------------------------------------------------------------

CREATE DATABASE database_name On Primary (Name=databasename,Filename=xxxx.mdf,Size=15MB,Filegrowth=10%) Log On (Name=databaselog,Filename=xxxx.ldf,Size=3MB,Maxsize=10MB,FileGrowth=1MB)

⑷ 如何創建SQL表

  • 創建資料庫表首先得創建好資料庫,資料庫的具體創建方法請參見:http://jingyan..com/article/63f236280e53740209ab3d53.html

  • 3

    創建數據表的源代碼如下,各命令詳見請自行網路。

    use test

    go

    if exists(select name from sys.tables where name='Student')

    drop table Student

    go

    create table Student

    (sname nchar(10) primary key,

    sex nchar(2) not null,

    bir datetime

    )

⑸ SQL創建資料庫

IF判斷是判斷是不是已經存在了同名的資料庫了?如果存在,那麼刪除掉。
這樣才能保證你下邊創建資料庫編碼不會沖突,否則如果IF成立,會存在同名的資料庫,你創建會提示錯誤的。
USE
Q1,表示將資料庫切換到Q1上去,這樣你再寫SQL語句,就是在這個資料庫上運行了。
比如登錄查詢分析器默認的資料庫是MASTER,而USER
Q1,會將資料庫切換到Q1上。
master..sysdatabases
這個意思是master資料庫裡面的sysdatabases表,此處必須是兩點,前邊不是表名,而是資料庫名。比如你查詢分析器連接的是Q1資料庫,而這時候你想直接跨庫查詢northwind資料庫的表數據,select
*
from
northwind..category
兩個點前邊的是資料庫名,後邊是表名。

⑹ 如何創建SQL存儲過程

步驟如下:

  1. 在對象資源管理器中,連接到某個資料庫引擎實例,再展開該實例。

  2. 展開「資料庫」、sql server存儲過程所屬的資料庫以及「可編程性」。

  3. 右鍵單擊「存儲過程」,再單擊「新建存儲過程」。

  4. 在「查詢」菜單上,單擊「指定模板參數的值」。

  5. 在「指定模板參數的值」對話框中,「值」列包含參數的建議值。接受這些值或將其替換為新值,再單擊「確定」。

  6. 在查詢編輯器中,使用過程語句替換 SELECT 語句。

  7. 若要測試語法,請在「查詢」菜單上,單擊「分析」。

  8. 若要創建sql server存儲過程,請在「查詢」菜單上,單擊「執行」。

  9. 若要保存腳本,請在「文件」菜單上,單擊「保存」。接受該文件名或將其替換為新的名稱,再單擊「保存」。

⑺ SQL語句創建表

CREATE TABLE 語句用於創建資料庫中的表。

具體用法為:

CREATE TABLE 表名稱

(

列名稱1 數據類型,

列名稱2 數據類型,

列名稱3 數據類型,

....

)

(7)創建sql擴展閱讀

創建表數據類型:

integer(size) int(size) smallint(size) tinyint(size):僅容納整數。

decimal(size,d) numeric(size,d):容納帶有小數的數字。

char(size):容納固定長度的字元串

varchar(size):容納可變長度的字元串

date(yyyymmdd):容納日期。

參考資料:網路-SQL CREATE TABLE

⑻ sql語句 如何創建一個表啊

創建表的SQL語句根據不同的資料庫會有所不同,常見的幾種資料庫創建方式如下:

創建一個表。表名字Persons,第一列Id_P,整數類型;第二列LASTName,字元類型;第三列FirstName,字元類型。

微軟VS SQL 2008 資料庫

(8)創建sql擴展閱讀:

結構化查詢語言(Structured Query Language)簡稱SQL,是用於訪問和處理資料庫的標準的計算機語言,同時也是資料庫腳本文件的擴展名。常用的操作:

刪除表-- drop table tabname--這是將表連同表中信息一起刪除但是日誌文件中會有記錄;

刪除資料庫 -- drop database databasename;

刪除數據記錄 -- "delete from 數據表 where 條件表達式"

⑼ 怎麼創建sql資料庫

直接使用create database 命令可創建資料庫,例如 create database test default character set utf8; 表示默認創建一個 test的資料庫並把字元集設置為utf8。

⑽ sql創建資料庫語句

創建資料庫的SQL語句:
create database stuDB
on primary -- 默認就屬於primary文件組,可省略
(
/*--數據文件的具體描述--*/
name='stuDB_data', -- 主數據文件的邏輯名稱
filename='D:\stuDB_data.mdf', -- 主數據文件的物理名稱
size=5mb, --主數據文件的初始大小
maxsize=100mb, -- 主數據文件增長的最大值
filegrowth=15%--主數據文件的增長率
)
log on
(
/*--日誌文件的具體描述,各參數含義同上--*/
name='stuDB_log',
filename='D:\stuDB_log.ldf',
size=2mb,
filegrowth=1mb
)
創建表和刪除表的SQL語句如下:
use StuDB
go
if exists(select * from sysobjects where name='stuMarks')
drop table stuMarks
create table stuMarks
(
ExamNo int identity(1,1) primary key,
stuNo char(6) not null,
writtenExam int not null,
LabExam int not null
)
go

-- 其中,列屬性"identity(起始值,遞增量)" 表示"ExamNo"列為自動編號, 也稱為標識列
alter table 表名
add constraint 約束名 約束類型 具體的約束說明
alter table 表名
drop constraint 約束名
alter table stuMarks
add constraint UQ_stuNo Unique(stuNo)
alter table stuMarks
drop constraint UQ_stuNo
/*--添加SQL登錄賬戶--*/
exec sp_addlogin 'xie', '123456' -- 賬戶名為xie,密碼為123456
--刪除xie賬戶名
exec sp_droplogin 'xie'
/*--在stuDB資料庫中添加兩個用戶(必須存在)--*/
use stuDB
go
exec sp_grantdbaccess 'xie','123456'
go
-- 提示:SQL Server 中的dbo用戶是具有在資料庫中執行所有活動許可權的用戶,表示資料庫的所有者(owner),一般來說,
-- 如果創建了某個資料庫,就是該資料庫的所有者,即dbo用戶,dbo用戶是一個比較特殊的資料庫用戶,無法刪除,且此用
-- 戶始終出現在每個資料庫中
/* --給資料庫用戶授權-- */
-- 授權的語法如下
-- grant 許可權 [on 表名] to 資料庫用戶
use stuDB
go
grant select,update,insert on stuMarks to xie
grant create table to xie
go

熱點內容
鴻蒙為什麼比安卓占內存 發布:2024-12-23 14:06:13 瀏覽:180
sql兩表更新 發布:2024-12-23 14:01:29 瀏覽:207
linux驅動spi 發布:2024-12-23 13:25:22 瀏覽:115
王思聰為什麼配伺服器 發布:2024-12-23 13:19:48 瀏覽:374
安卓型號代表什麼 發布:2024-12-23 13:13:29 瀏覽:780
改密碼哪裡加問題 發布:2024-12-23 13:11:43 瀏覽:865
安卓手機多開哪個不卡 發布:2024-12-23 13:10:16 瀏覽:589
源碼反碼補碼 發布:2024-12-23 13:09:25 瀏覽:260
方向演算法 發布:2024-12-23 13:09:16 瀏覽:43
為什麼安卓充電線充不上電了 發布:2024-12-23 13:06:14 瀏覽:224