1.數據庫名(database_name)與主文件邏輯名(logical_file_name),邏輯文件名(logical_file_name)與物理文件名(os_file_name)的區別:
(database_name)是數據庫名,一個數據庫可以對應多個物理文件,每個物理文件名和所在磁盤可以不同(通過文件組實現),logical_file_name 是在所有 Transact-SQL 語句中引用物理文件時所使用的名稱。邏輯文件名必須符合 SQL Server 標識符規則,而且在數據庫中的邏輯文件名中必須是唯一的。os_file_name 是包括目錄路徑的物理文件名。它必須符合操作系統文件命名規則。
1.2創建數據庫USE master ;GOCREATE DATABASE SalesON ( NAME = Sales_dat, FILENAME = 'C:/PRogram Files/Microsoft SQL Server/MSSQL12.MSSQLSERVER/MSSQL/DATA/saledat.mdf', SIZE = 10, MAXSIZE = 50, FILEGROWTH = 5 )LOG ON( NAME = Sales_log, FILENAME = 'C:/Program Files/Microsoft SQL Server/MSSQL12.MSSQLSERVER/MSSQL/DATA/salelog.ldf', SIZE = 5MB, MAXSIZE = 25MB, FILEGROWTH = 5MB ) ;GO1.3創建數據表2.SqlServer修改表結構總結增加字段,刪除字段,增加約束,刪除約束,修改缺省值,修改字段數據類型,重命名字段,重命名表。所有這些動作都是用 ALTER TABLE 命令執行的。增加字段要增加一個字段,使用下面這樣的命令:ALTER TABLE products ADD COLUMN description text;新增的字段對于表中已經存在的行而言最初將先填充所給出的缺省值 (如果你沒有聲明DEFAULT子句,那么缺省是空值)。你也可以同時在該字段上定義約束,使用通常的語法:ALTER TABLE products ADD COLUMN description text CHECK (description <> '');實際上,所有在 CREATE TABLE 里描述的可以應用于字段之選項都可以在這里使用。 不過,我們要注意的是缺省值必須滿足給出的約束,否則 ADD 將會失敗。 另外,你可以在你正確填充了新字段的數值之后再增加約束.刪除字段要刪除一個字段,使用下面這樣的命令:ALTER TABLE products DROP COLUMN description;不管字段里有啥數據,都會消失。和這個字段相關的約束也會被刪除。 不過,如果這個字段被另外一個表的外鍵所引用,PostgreSQL 則不會隱含地刪除該約束。你可以通過使用 CASCADE 來授權刪除任何依賴該字段的東西:ALTER TABLE products DROP COLUMN description CASCADE;增加約束要增加一個約束,使用表約束語法。比如:ALTER TABLE products ADD CHECK (name <> '');ALTER TABLE products ADD CONSTRAINT some_name UNIQUE (product_no);ALTER TABLE products ADD FOREIGN KEY (product_group_id) REFERENCES product_groups;要增加一個不能寫成表約束的非空約束,使用下面語法:ALTER TABLE products ALTER COLUMN product_no SET NOT NULL;這個約束將立即進行檢查,所以表在添加約束之前必須符合約束條件。刪除約束要刪除一個約束,你需要知道它的名字。否則系統會分配一個生成的名字,這樣你就需要 把它找出來了。psql 的命令 /d tablename 在這兒可以幫忙; 其它接口可能也提供了檢查表的細節的方法。然后就是這條命令:ALTER TABLE products DROP CONSTRAINT some_name;(如果你在處理一個生成的約束名,比如 $2,別忘了你需要給它 添加雙引號,讓它成為一個有效的標識符。)和刪除字段一樣,如果你想刪除有著被依賴關系地約束,你需要用 CASCADE。 一個例子是某個外鍵約束依賴被引用字段上的唯一約束或者主鍵約束。除了非空約束外,所有約束類型都這么用。要刪除非空類型,用ALTER TABLE products ALTER COLUMN product_no DROP NOT NULL;(要記得非空約束沒有名字。)設置一個字段的缺省值要給一個字段設置缺省值,使用一個象下面這樣的命令:ALTER TABLE products ALTER COLUMN price SET DEFAULT 7.77;請注意這么做不會影響任何表中現有的數據行, 它只是為將來 INSERT 命令改變缺省值。要刪除缺省值:ALTER TABLE products ALTER COLUMN price DROP DEFAULT;這樣實際上相當于把缺省設置為空。 結果是,如果我們刪除一個還沒有定義的缺省值不算錯誤,因為缺省隱含就是空值。修改一個字段的數據類型把一個字段轉換成另外一種數據類型,使用下面的命令:ALTER TABLE products ALTER COLUMN price TYPE numeric(10,2);只有在字段里現有的每個項都可以用一個隱含的類型轉換轉換城新的類型時才可能成功。 如果需要更復雜的轉換,你可以增加一個 USING 子句,它聲明如何從舊值里計算新值。PostgreSQL 將試圖把字段的缺省值(如果存在)轉換成新的類型, 還有涉及該字段的任何約束。但是這些轉換可能失敗,或者可能生成奇怪的結果。 在修改某字段類型之前,最好刪除那些約束,然后再把手工修改過的添加上去。給字段改名字重命名一個字段:ALTER TABLE products RENAME COLUMN product_no TO product_number;給字段改名字給一個字段重命名:ALTER TABLE products RENAME COLUMN product_no TO product_number;給表改名字給一個表重命名:ALTER TABLE products RENAME TO items;連接數據庫
1、SQL Server的連接方式
以本地服務器(LocalHost),數據庫(Northwind)為例,可以有以下一些連接方式SqlConnection conn=new SqlConnection( "Server=LocalHost;Integrated Security=SSPI;Database=Northwind");SqlConnection conn = new SqlConnection("Data Source=LocalHost;Integrated Security=SSPI;Initial Catalog=Northwind;");SqlConnection conn = new SqlConnection(" Data Source=LocalHost;Initial Catalog=Northwind;Integrated Security=SSPI;Persist Security Info=False;Workstation Id=XURUI;Packet Size=4096; ");SqlConnection myConn = new SqlConnection("Persist Security Info=False;Integrated Security=SSPI;Database=northwind;Server=LocalHost");SqlConnection conn = new SqlConnection(" Uid=sa;Pwd=***;Initial Catalog=Northwind;Data Source=LocalHost;Connect Timeout=900");a.Server和Database,Data Source和Initial Catalog配對使用的,可以互相替換b.Integrated Security默認值是False,此時需要提供Uid和Pwd,即將以Sql Server 用戶身份登陸數據庫;如果設置為True,Yes 或 SSPI,這不能出現Uid和Pwd,將以Windows用戶省份登陸數據庫。強烈推薦用后一種形式,安全性更高。c.Integrated Security和Persist Security Info同時出現,后者設置為False,可保證信息安全。
更多字符串連接說明請看MSDN:http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemDataSqlClientSqlConnectionClassConnectionStringTopic.asp
新聞熱點
疑難解答